slavawins/laravel-profiler-deep

0.2.2 2023-02-24 12:53 UTC

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();

返回所有部分的日志。即汇总日志。