emoretti / kronos
Kronos 是一个 PHP 库,它允许计算页面和代码块(称为 CheckPoint)的执行时间,精度高达 1 μs
This package is not auto-updated.
Last update: 2024-09-29 04:47:45 UTC
README
Kronos 是一个 PHP 库,它允许计算页面和代码块(称为 CheckPoint)的执行时间,精度高达 1 μs
安装
使用以下命令安装最新版本:
$ composer require emoretti/kronos ^dev-master
报告示例
配置
不需要配置
基本用法
在页面开始时创建 Kronos()
类的一个实例,传递页面 "别名" 名称和 可选的
初始浮点时间戳(如果未传递,Kronos 将为您计算时间戳)。
在页面结束时调用 setMainEnd()
方法,可选地传递结束的浮点时间戳(如果未传递,Kronos 将为您计算时间戳)。
最后,您可以通过调用 getReport()
方法在页面下方渲染最终报告,或者通过调用 getReportRaw()
方法获取包含所有数据的数组。getReport()
接受 PHP 风格的 dateFormat 作为输入
<?php use emoretti\kronos\Kronos; $myKronos = new Kronos("pageAlias"); [... YOUR CODE ...] [... YOUR CODE ...] $myKronos->setMainEnd(microtime(true)); $myKronos->getReport(); // OR $myKronos->getReportRaw(); ?>
检查点使用
在声明 Kronos()
实例之后
在您的代码中间(您想放置的位置),您可以插入一个检查点,它允许您创建其他统计数据。
要创建检查点,请使用 startCheckPoints()
和 stopCheckPoints()
方法,传递检查点别名(它将是您的检查点的键),以及可选的浮点时间戳(如果未传递,Kronos 将为您计算时间戳)。
<?php use emoretti\kronos\Kronos; $myKronos = new Kronos("pageAlias"); [... YOUR CODE ...] $myKronos->startCheckPoints("FirstCheckPoint",microtime(true)); usleep(mt_rand(500, 3000)); $myKronos->stopCheckPoints("FirstCheckPoint",microtime(true)); [... YOUR CODE ...] $myKronos->setMainEnd(microtime(true)); $myKronos->getReport(); // OR $myKronos->getReportRaw(); ?>
Kronos 结果
Kronos 结果可以是
-
在检查的页面底部渲染
$myKronos->getReport();
-
以数组结构返回(或如果传递第一个参数为 true,则为 json)
\\Array structure output $myKronos->getReportRaw(); \\Json structure output $myKronos->getReportRaw(true);
-
保存到文件(文件将包含 json)
$myKronos->saveReportData(__DIR__ . "/report.json");
如果您要保存数据以稍后获取报告,可以使用静态方法Kronos::renderReport()
,传递 $reportName 和 $reportDatause emoretti\kronos\Kronos; require_once("src/Kronos.php"); Kronos::renderReport("TestReport", file_get_contents(__DIR__."/report.json"));
Kronos 渲染
Kronos 将通过其模板引擎 KronosTemplate()
渲染数据,默认模板是:src/template/KronosTemplate.php
(它使用 Bootstrap.min.css),您可以根据需要修改它(请注意不要更改模板中的变量名称)。
您可以指定那些方法的首选日期格式
- getReport ($dateFormat = "d/m/Y H:i:s:u" )
- getReportRaw ($json= false , $dateFormat = "d/m/Y H:i:s:u" )
- renderReport( $name , $data , $dateFormat='d/m/Y H:i:s:u' )
Kronos 执行时间
Kronos 将自动尝试确定其执行时间,它将自动显示在最终报告中,可能有助于确定类本身使用的时间。
注意。Kronos 尝试计算其执行时间。但这些时间应被视为近似值。请记住:0.001 毫秒 == 1 µs(在 1 µs 内,光行进 299.792458 米)。
作者
Ettore Moretti - info@ettoremoretti.com - https://twitter.com/emoretticom - https://#/emoretticom/
许可证
href-count 在 MIT 许可证下发布 - 有关详细信息,请参阅 LICENSE
文件