bnomei / kirby3-stopwatch
使用毫秒(或秒)的精度对 Kirby 3 CMS 代码进行性能分析。
1.0.7
2023-04-20 07:15 UTC
Requires
- php: >=8.0
- getkirby/composer-installer: ^1.1
- symfony/stopwatch: ^5.0
Requires (Dev)
- getkirby/cms: ^3.2
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^8.3
Suggests
- bnomei/kirby3-janitor: Profile time spend in jobs
- bnomei/kirby3-monolog: Log profiling results to files/databases/notifications/...
README
使用毫秒(或秒)的精度对 Kirby 3 CMS 代码进行性能分析。
商业使用
支持开源!
此插件是免费的,但如果您将其用于商业项目,请考虑赞助我或捐款。
如果我的工作帮助您赚了钱,那么我觉得我可能也应该得到一些回报,对吧?
请友好地分享。谢谢。
—— Bruno
安装
- 将 master.zip 解压到文件夹
site/plugins/kirby3-stopwatch
或 git submodule add https://github.com/bnomei/kirby3-stopwatch.git site/plugins/kirby3-stopwatch
或composer require bnomei/kirby3-stopwatch
兼容性
Usage Site Method
请阅读 Symfony Stopwatch Component 文档,因为此插件只是对它的软包装。一些示例
事件持续时间
site()->stopwatch()->start('myevent'); sleep(1); site()->stopwatch()->stop('myevent'); echo site()->stopwatch()->duration('myevent') . PHP_EOL; // float | int
带有分段的周期事件
$eventName = 'my event with laps'; $stopwatch = site()->stopwatch(); $stopwatch->start($eventName); foreach ([random_int(100,500),random_int(100,500),random_int(100,500)] as $time) { usleep($time); $stopwatch->lap($eventName); } usleep(100); $stopwatch->stop($eventName); $totalDuration = $stopwatch->duration($eventName); // float | int echo $totalDuration . PHP_EOL; foreach ($stopwatch->getEvent($eventName)->getPeriods() as $period) { echo $period->getDuration() . PHP_EOL; // float | int }
使用 PHP 类
您可以在自己的类中使用提供的 PHP 类,只要确保在调用它之前加载了该类。这可以通过使用 composer 安装此插件或在手动使用 Kirby 的类加载器 来实现。
$stopwatch = \Bnomei\Stopwatch::singleton(); $stopwatch->start('my event with laps'); sleep(1); $stopwatch->stop('my event with laps'); $duration = $stopwatch->duration('my event with laps'); // float | int
设置
注意:此插件默认以毫秒为单位进行测量,但 symfony 组件不是。
依赖关系
免责声明
此插件“原样”提供,不提供任何保证。请自行承担风险,并在将其用于生产环境之前自行测试。如果您发现任何问题,请 创建一个新问题。
许可
不建议在任何宣扬种族主义、性别歧视、恐同、动物虐待、暴力或其他任何形式仇恨言论的项目中使用此插件。