foolz/profiler

此软件包最新版本(dev-master)没有提供许可证信息。

基于monolog的性能分析器

dev-master 2015-02-08 22:03 UTC

This package is auto-updated.

Last update: 2024-09-21 06:11:06 UTC


README

此软件包提供了一个简单易用的性能分析器,具有monolog的强大功能。

要求

  • PHP 5.4 或更高版本
  • Monolog(由composer自动安装)

安装

以任何composer软件包的方式安装。

设置

您应该在代码的早期阶段加载性能分析器。

<?php
$profiler = new Profiler();
$profiler->enable();

直到启用运行之前,没有请求会被记录。您可以设置monolog处理器以有自定义输出选项

<?php
$profiler = new Profiler();
$profiler->pushHandler(new ChromePHPHandler());
$profiler->enable();

$profiler->log("Profiler enabled");

HTML输出

在插入HTML性能分析面板之前,请记住检查您是否有text/html请求。

您可以使用$profiler->getHtml()在任何时候打印当前日志。

如果您使用框架,您可能有一个$response变量来处理发送到客户端的数据。为了将性能分析器放在页面底部,您可能尝试以下类似操作。

<?php
$content = explode('</body>', $response->getContent());
if (count($content) == 2) {
    $response->setContent($content[0].$this->profiler->getHtml().$content[1]);
}

$response->send();

方法

  • pushHandler() 与Monolog的pushHandler()函数类似,允许向记录器添加日志处理器

  • getLogger() 返回Monolog记录器,以便可以自定义

  • enable() 启用性能分析器并打印自脚本开始以来经过的时间

  • isEnabled() 告知性能分析器是否已启用

  • log($string, $context) 记录自脚本开始以来的经过时间以及总内存使用情况。$string变量允许设置一个字符串以标识日志中的条目。$context变量允许向条目添加任意数据

  • logMem($string, $variable, $context) 记录$variable的内存使用情况。在检查时,将创建一个$variable的克隆(这是不可避免的),因此请谨慎使用。对于其余部分,它的工作方式类似于log()

  • logStart($string, $context)log()类似,但会启动一个计时器

  • logStop($string, $context)log()类似,但如果在logStart()之后调用,则$context将包含经过时间

  • getHtml() 返回已记录条目的HTML表示形式