PHP页面加载时间监测工具

<?php

class PageLoadMonitor {
    private $startTime;
    private $endTime;
    private $logFile;

    public function __construct($logFile = 'page_load_times.log') {
        $this->logFile = $logFile;
        $this->startTimer();
    }

    // 开始计时
    private function startTimer() {
        $this->startTime = microtime(true);
    }

    // 结束计时并记录加载时间
    public function endTimerAndLog($pageName) {
        $this->endTime = microtime(true);
        $loadTime = $this->endTime - $this->startTime;

        $logEntry = [
            'timestamp' => date('Y-m-d H:i:s'),
            'page_name' => $pageName,
            'load_time' => round($loadTime, 4) // 保留4位小数
        ];

        // 将日志条目写入文件
        file_put_contents($this->logFile, json_encode($logEntry) . PHP_EOL, FILE_APPEND);
    }

    // 获取日志文件中的所有加载时间记录
    public function getLogs() {
        if (file_exists($this->logFile)) {
            $logs = file($this->logFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
            return array_map('json_decode', $logs);
        }
        return [];
    }
}

// 示例使用
$monitor = new PageLoadMonitor();

// 假设这是某个页面的处理过程
sleep(1); // 模拟页面加载或处理过程

// 结束计时并记录加载时间
$monitor->endTimerAndLog('example_page.php');

// 输出所有加载时间日志
$logs = $monitor->getLogs();
foreach ($logs as $log) {
    echo "Time: {$log->timestamp}, Page: {$log->page_name}, Load Time: {$log->load_time}s\n";
}

这个PHP代码片段实现了一个页面加载时间监测工具,适用于监测和记录网页或脚本的执行时间。该工具可以帮助开发者识别页面加载性能瓶颈,并做出优化。具体功能如下:

  1. 页面加载时间监测:通过startTimerendTimerAndLog方法,测量从页面开始执行到结束的时间,记录页面加载的时长。
  2. 日志记录:每次测量后,加载时间会被记录到指定的日志文件中(默认为page_load_times.log),包括时间戳、页面名称和加载时间。
  3. 日志读取:通过getLogs方法,可以读取和显示所有已记录的加载时间日志,便于分析和优化页面性能。

这种工具特别适合需要监控多个页面或脚本性能的场景,有助于开发者在性能优化过程中获得量化的数据支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值