opxcore / profiler
OpxCore 性能分析器。
1.1.0
2021-02-11 14:01 UTC
Requires
- php: ^7.4
- opxcore/profiler-interface: ^1.2.1
Requires (Dev)
- phpunit/phpunit: ^9.5.2
This package is auto-updated.
Last update: 2024-09-11 21:58:42 UTC
README
创建
只需创建一个新的性能分析器类实例,它就准备好了。你可以传递外部捕获的性能分析开始时间和内存使用情况。否则,它将在性能分析器创建时自动捕获。
示例
use OpxCore\Profiler\Profiler; $startTime = hrtime(true); $startMemory = memory_get_usage(); $profiler = new Profiler($startTime, $startMemory);
要禁用性能分析,你应该调用 $profiler->enable(false)
或 $profiler->enable()
以再次启用它。默认情况下,性能分析是启用的。
性能分析
有两种方法:start($action)
和 stop($action)
。 $action
是性能分析条目的名称。 start
捕获当前时间和内存使用情况(或可以使用与构造函数中相同的方式使用外部捕获)。 stop
也捕获时间和内存使用情况(或使用外部捕获)并写入性能分析条目。
结果
$profiler->profiling()
返回包含条目的完整数组(如果性能分析已禁用则为 null),并根据动作触发时的时间排序。
每个条目都是一个具有以下键的数组
action_name
- 你传递给start()
和stop()
函数的动作的名称;started_at
-start
被触发时的时间,与传递给构造函数的起始时间相关(或捕获在那里),或者如果没有为该动作触发起始,则为stop
被触发的时间;execution_time
- 从起始到停止的时间,如果没有起始则为 null;used_memory
- 从起始到停止的内存差异,如果没有起始则为 null;total_memory
- 动作停止时的总内存使用量;trace
- 函数调用的堆栈跟踪,排除调用性能分析器方法(或外部捕获并传递给stop()
函数作为第四个参数)。