satmaelstorm/ts-profiler

小巧简单的性能分析器

1.2.1 2019-04-16 06:56 UTC

This package is auto-updated.

Last update: 2024-09-05 07:00:43 UTC


README

小巧简单的PHP运行时性能分析器

此组件允许您在生产环境中直接对代码进行性能分析。

您可以使用它作为单例模式

$profiler = ProfilerSingletone::getInstance();

此外,如果您想在此时刻禁用性能分析,可以使用

$profiler = ProfilerSingletone::getInstance(false);

因此,如果您不想使用单例模式,可以使用

$profiler = new Profiler();

或者

$profiler = new Profiler(false);

当您不需要性能分析器时使用

这种情况非常有用,当您想要将TSProfiler作为Symfony服务使用,或在其他框架中,这将确保类实例存在的唯一性。

对于性能分析,使用addTracker方法创建跟踪器。每个跟踪器都可以以自己的方式存储数据。性能分析数据将保存实现ShutdownInterface接口的类。您可以编写任何插件 - 使用sql-server、文件、Monolog或其他方式保存。

$tracker = $profiler->addTracker($name, $saver);

如果您想在此时刻禁用此跟踪器

$tracker = $profiler->addTracker($name, $saver, false);

使用CSVSaver类的示例

$tracker = $profiler->addTracker(
    'csvTracker',
    new \satmaelstorm\TSProfiler\TSProfilerShutdown\CSVSaver('\tmp'); 
                                );

在创建跟踪器后,您可以使用跟踪器的startJob和stopJob方法包装要分析的性能分析行。

$tracker->startJob('jobName');
//profiled code
$tracker->stopJob('jobName');