前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP 记录代码中每个位置的运行时间

PHP 记录代码中每个位置的运行时间

作者头像
jwj
发布2022-09-29 14:46:41
8660
发布2022-09-29 14:46:41
举报

项目运行中开始出现了卡顿,需要进行问题定位,于是写了个函数来专门记录代码执行到每个位置所消耗的时间。

代码语言:javascript
复制
/**
 * 记录运行时间
 * @param string $name 名称
 * @param bool $return 返回记录的时间
 * @return array|void
 */
function traceRunTime($name, $return = false) {
    // 上次时间戳
    static $last;
    // 记录列表
    static $list = [];

    // 返回记录列表
    if (true === $return) {
        [$last, $temp, $list] = [null, $list, []];
        return $temp;
    }

    // 当前时间戳
    $now = microtime(true);

    // 执行时间(秒)
    $diff = $now - ($last ?? $now);
    // 设置当前时间戳为上次时间戳,供下次调用时使用
    $last = $now;

    // 记录到列表
    $list[] = [$name, $diff];

    // 返回执行时间
    return $diff;
}

使用示例

代码语言:javascript
复制
<?php
echo '今天星期三<br/>';
// 记录节点1
traceRunTime('p1');

echo '明天星期四<br/>';
// 记录节点2
traceRunTime('p2');

echo '再坚持一天,不是星期天<br/>';
// 记录节点3
traceRunTime('p3');

// 结束记录,并打印记录
traceRunTime('end', true);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-202,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档