slavawins / laravel-profiler-deep
Expa
0.2.2
2023-02-24 12:53 UTC
Requires
- php: ^7.3|^8.0
This package is auto-updated.
Last update: 2024-12-24 20:14:41 UTC
README
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();
Возвращает лог по всем партам. То есть суммированый лог.