bnomei / kirby3-stopwatch

使用毫秒(或秒)的精度对 Kirby 3 CMS 代码进行性能分析。

1.0.7 2023-04-20 07:15 UTC

This package is auto-updated.

Last update: 2024-09-20 10:07:23 UTC


README

Release Downloads Build Status Coverage Status Maintainability
Twitter

使用毫秒(或秒)的精度对 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 组件不是。

依赖关系

免责声明

此插件“原样”提供,不提供任何保证。请自行承担风险,并在将其用于生产环境之前自行测试。如果您发现任何问题,请 创建一个新问题

许可

MIT

不建议在任何宣扬种族主义、性别歧视、恐同、动物虐待、暴力或其他任何形式仇恨言论的项目中使用此插件。