用Time Warden监控PHP中的代码处理时间
php  /  管理员 发布于 5个月前   371
Time Warden是一个轻量级的PHP库,使您能够监控任务的处理时间,
并对超过定义的执行时间限制的阈值采取行动。
https://github.com/tomloprod/time-warden/blob/abf731fc213c9a4e8c1c6dad6c2d8d7fd4ee0044/README.md#example
这可能最好用自述中的一个例子来说明:
timeWarden()->task('Checking articles')->start();
foreach ($articles as $article) {
// Perform long process...
}
// Using traditional anonymous function
timeWarden()->stop(static function (Task $task): void {
$task->onExceedsMilliseconds(500, static function (Task $task): void {
// Do what you need, for example, send an email
Mail::to('[email protected]')->queue(
new SlowArticleProcess($task)
);
});
});
// Or using an arrow function
timeWarden()->stop(static function (Task $task): void {
$task->onExceedsMilliseconds(500, fn (Task $task) => Log::error($task->name.' has taken too long'));
});
该库在项目的自述文件中有出色的文档,概括起来提供了以下功能:
监控开发和调试中关键任务的处理时间
超过时间时的反应性操作(毫秒、秒、分钟和小时)
执行时间调试输出
测量单个任务和任务组的执行时间
框架无关库,可以与Laravel、Symfony、standalone等一起使用。
PHP 8.2+
我喜欢任务的输出,可以直接输出,也可以通过日志系统输出:
echo timeWarden()->output();
/*
╔═════════════════════ TIMEWARDEN ═════╤═══════════════╗
║ GROUP │ TASK │ DURATION (MS) ║
╠═════════════════════╪════════════════╪═══════════════╣
║ default (320.37 ms) │ Articles task │ 70.23 ║
║ │ Customers task │ 250.14 ║
╚══════════════════ Total: 320.37 ms ══╧═══════════════╝
*/
// Send as a log
if (app()->environment('local')) {
Log::debug(timeWarden()->output());
}
您可以了解有关此软件包的更多信息,
获取完整的安装说明,并在GitHub上查看源代码。
https://github.com/tomloprod/time-warden
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号