slavawins / laravel-profiler-deep
扩展
0.2.2
2023-02-24 12:53 UTC
Requires
- php: ^7.3|^8.0
This package is auto-updated.
Last update: 2024-09-24 19:44:24 UTC
README
ProfilerDeep
简单的包
使用 composer 安装
不需要额外复制任何内容。
composer require slavawins/laravel-profiler-deep
使用
简单使用,在门面中。
评估和比较多个代码片段。
假设您只想查看特定的代码片段以了解哪个执行较慢。
环境
PROFILER_DEEP_ENABLE=true
项目任何位置的代码
ProfilerDeepFacade::AddPart("header");
//yor slow shid code
ProfilerDeepFacade::AddPart("firstpart");
//yor slow shid code
ProfilerDeepFacade::AddPart("Part code 3");
//yor slow shid code
ProfilerDeepFacade::Stop();
dump(ProfilerDeepFacade::ResultParts());
+--------------------------------------------------------------------+
| Time CPU | Time SQL | Part name |
+--------------------------------------------------------------------+
| 0.03 sec. | 0.0044 sec. | header EmitTestCommand:53 |
| 0.01 sec. | 0.0025 sec. | firstpart EmitTestCommand:59 |
| 0.01 sec. | 0.0053 sec. | Part code 3 EmitTestCommand:120 |
+--------------------------------------------------------------------+
ProfilerDeepFacade::ResultParts()
显示记录的部分时间。返回包含数据的小表格
ProfilerDeepFacade::ResultPartsSql()
这与前面相同,但详细描述了 SQL 查询的类型
**** PROFILLER RESULT: header EmitTestCommand:53 ****
Общее время CPU: 0.0427 sec.
Общее время SQL: 0.0045 sec. or 4.52 msec.
Запросы по таблицам
+----------------------------------------------------+
| Таблица | Колв | Время |
+----------------------------------------------------+
| users | 1 | 3.92 ms |
| tag | 1 | 0.6 ms |
+----------------------------------------------------+
Запросы по типу и таблице
+----------------------------------------------------+
| Таблица | Колв | Время |
+----------------------------------------------------+
| insert users | 1 | 3.92 ms |
| select tag | 1 | 0.6 ms |
+----------------------------------------------------+
Запросы по типу
+----------------------------------------------------+
| Таблица | Колв | Время |
+----------------------------------------------------+
| insert | 1 | 3.92 ms |
| select | 1 | 0.6 ms |
+----------------------------------------------------+
**** PROFILLER RESULT: firstpart EmitTestCommand:59 ****
Общее время CPU: 0.0115 sec.
Общее время SQL: 0.002 sec. or 1.96 msec.
Запросы по таблицам
+----------------------------------------------+
| Таблица | Колв | Время |
+----------------------------------------------+
| users | 4 | 1.96 ms |
+----------------------------------------------+
Запросы по типу и таблице
+----------------------------------------------+
| Таблица | Колв | Время |
+----------------------------------------------+
| select users | 4 | 1.96 ms |
+----------------------------------------------+
Запросы по типу
+----------------------------------------------+
| Таблица | Колв | Время |
+----------------------------------------------+
| select | 4 | 1.96 ms |
+----------------------------------------------+
**** PROFILLER RESULT: MovePlayFor EmitTestCommand:120 ****
Общее время CPU: 0.0117 sec.
Общее время SQL: 0.005 sec. or 4.96 msec.
Запросы по таблицам
+----------------------------------------------------------+
| Таблица | Колв | Время |
+----------------------------------------------------------+
| users | 2 | 4.27 ms |
| scores | 1 | 0.35 ms |
| users_inventor | 1 | 0.34 ms |
+----------------------------------------------------------+
Запросы по типу и таблице
+-----------------------------------------------------------+
| Таблица | Колв | Время |
+-----------------------------------------------------------+
| update users | 2 | 4.27 ms |
| delete scores | 1 | 0.35 ms |
| delete users_inventor | 1 | 0.34 ms |
+-----------------------------------------------------------+
Запросы по типу
+----------------------------------------------------+
| Таблица | Колв | Время |
+----------------------------------------------------+
| update | 2 | 4.27 ms |
| delete | 2 | 0.69 ms |
+----------------------------------------------------+
ProfilerDeepFacade::Stop();
可以手动停止记录部分。但通常它会在记录新的部分时自动调用 Stop()。
ProfilerDeepFacade::AddPart("header");
//yor slow shid code
ProfilerDeepFacade::Stop();
//yor slow shid code
ProfilerDeepFacade::AddPart("firstpart");
//yor slow shid code
ProfilerDeepFacade::AddPart("Part code 3");
//yor slow shid code
ProfilerDeepFacade::Stop();
//yor slow shid code
ProfilerDeepFacade::Stop();
dump(ProfilerDeepFacade::ResultParts());
ProfilerDeepFacade::ResultPartsSqlFromAllParts();
返回所有部分的日志。即汇总日志。