satmaelstorm / ts-profiler
小巧简单的性能分析器
1.2.1
2019-04-16 06:56 UTC
Requires
- php: >=7.0.0
Requires (Dev)
- phpunit/phpunit: 5.1.*
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');