slavawins/laravel-profiler-deep

0.2.2 2023-02-24 12:53 UTC

This package is auto-updated.

Last update: 2024-05-24 18:53:58 UTC


README

logo.jpg

ProfilerDeep

Кароч изи пакет

Установка из composer

Ничего дополнительно копировать не нужно.

composer require slavawins/laravel-profiler-deep

Использование

Используется просто, на фасадах.

Оценка и сравнение нескольких участков кода.

Допустим вы хотите увидеть только конкертные участки кода, что бы понять какой выполняется медленнее.

Env:

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

Возвращает лог по всем партам. То есть суммированый лог.