yiisoft / profiler
性能分析器
3.0.0
2023-02-15 09:15 UTC
Requires
- php: ^8.0
- psr/log: ^2.0|^3.0
- yiisoft/files: ^2.0
- yiisoft/strings: ^2.0
Requires (Dev)
- maglnet/composer-require-checker: ^4.2
- phpunit/phpunit: ^9.5
- rector/rector: ^0.15.0
- roave/infection-static-analysis-plugin: ^1.25
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^4.30|^5.1
- yiisoft/aliases: ^3.0
- yiisoft/di: ^1.2
README
Yii 性能分析器
该包提供记录性能配置文件的能力。
需求
- PHP 8.0 或更高版本。
安装
可以使用 Composer 安装此包
composer require --dev yiisoft/profiler
如果您使用此包与 Yii 配置,且在 yiisoft/aliases
配置中没有定义 @runtime
别名,则应用程序将抛出 "无效路径别名" 错误。
要解决这个问题,请在 params.php
中的 yiisoft/aliases
配置中添加 @runtime
别名。
return [ //... 'yiisoft/aliases' => [ 'aliases' => [ //... '@runtime' => '@root/runtime' ], ], //... ];
通用用法
性能分析
use Psr\Log\NullLogger; use Yiisoft\Profiler\Profiler; use Yiisoft\Profiler\Target\LogTarget; $logger = new NullLogger(); $target = new LogTarget($logger); $profiler = new Profiler($logger, [$target]); $profiler->begin('test'); //...some code $profiler->end('test');
嵌套性能分析
$profiler->begin('test'); //...some code $profiler->begin('test'); //...some code $profiler->end('test'); //...some code $profiler->end('test');
获取性能分析器消息
$messages = $profiler->getMessages(); print_r($messages);
输出
Array
(
[0] => Yiisoft\Profiler\Message Object
(
[level:Yiisoft\Profiler\Message:private] => application
[token:Yiisoft\Profiler\Message:private] => test
[context:Yiisoft\Profiler\Message:private] => Array
(
[token] => test
[category] => application
[nestedLevel] => 0
[time] => 1614703708.4328
[beginTime] => 1614703708.4328
[beginMemory] => 7696440
[endTime] => 1614703708.4331
[endMemory] => 7702392
[duration] => 0.0003058910369873
[memoryDiff] => 5952
)
)
)
使用给定标记查找性能分析器消息
$profiler->begin('test'); //...some code $profiler->end('test'); $profiler->begin('another test'); //...some code $profiler->end('another test'); $messages = $profiler->findMessages('another test'); print_r($messages);
输出
Array
(
[0] => Yiisoft\Profiler\Message Object
(
[level:Yiisoft\Profiler\Message:private] => application
[token:Yiisoft\Profiler\Message:private] => another test
[context:Yiisoft\Profiler\Message:private] => Array
(
[token] => another test
[category] => application
[nestedLevel] => 0
[time] => 1614703716.4328
[beginTime] => 1614703716.4328
[beginMemory] => 7696440
[endTime] => 1614703716.4331
[endMemory] => 7702392
[duration] => 0.0003058910369873
[memoryDiff] => 5952
)
)
)
将消息保存到存储中
// obtain profiler $profiler = getProfiler(); // send profiler messages to targets $profiler->flush();
文档
如果您需要帮助或有问题,请访问 Yii 论坛。您还可以查看其他 Yii 社区资源。
许可证
Yii 性能分析器是免费软件。它根据 BSD 许可证条款发布。请参阅 LICENSE
获取更多信息。
由 Yii 软件公司 维护。