
- MODX 3
- PHP 8.1


modx3profilertoolbar.enabled и modx3profilertoolbar.frontend_toolbar.mgr.web. Запрос должен попасть в sampling_rate.</body>.Скрипт панели: assets/components/modx3profilertoolbar/js/toolbar/toolbar.js. Это модуль. Он импортирует petite-vue 0.4.1 с unpkg.com. Отдельного запроса за метриками нет. JSON лежит в window.modx3profilertoolbarToolbarData. Подписи задаёт лексикон modx3profilertoolbar (ru, en, uk).
Сбор идёт на сервере.
OnMODXInit. Плагин создаёт сервис и вызывает start(). Если запрос профилируется, стартует таймер и открывается событие OnMODXInit. Затем replaceParser() подменяет $modx->parser, даже если сбор на этом запросе не стартовал.OnHandleRequest открывает своё событие. OnLoadWebDocument закрывает OnHandleRequest и открывает своё. OnWebPagePrerender закрывает OnLoadWebDocument, открывает своё и сразу вызывает stop() без закрытия OnWebPagePrerender.stop() собирает трейс. Расчёт рекомендаций и оценки выполняется. В JSON панели этот расчёт не копируется.</body>: CSS, JSON и модуль toolbar.js. Без </body> вывод не меняется.OnMODXInit и OnWebPagePrerender остаются с длительностью 0. Ненулевые полосы у OnHandleRequest и OnLoadWebDocument.
| Фрагмент | Поле |
|---|---|
| время, мс | полное время от start() до stop() |
| память | пик, в МБ с двумя знаками |
| число и подпись сниппетов | сумма attempts у тегов типа snippet |
| число и подпись SQL | число строк во вкладке SQL, не число запросов внутри текста строки |
Цвет времени: меньше 200 мс зелёный, от 200 мс и меньше 500 мс жёлтый, от 500 мс красный.
| Строка | Значение |
|---|---|
| Общее время | то же полное время, мс |
| TTFB | то же полное время, мс |
| PHP | полное время минус время SQL, мс |
| SQL | сумма времени строк SQL, мс |
| Время запросов | время SQL в секундах, четыре знака |
| Источник | database, если ресурс сгенерирован в этом запросе, иначе cache |
До 10 строк, сортировка по времени в данных. Если у строки есть число вызовов, на экране формат Snippet: имя — N Вызовов. Миллисекунды и признак кэша в эту ветку не попадают. У тегов число вызовов задано всегда. Имя берётся из текста тега без обёртки [[ ]] и не длиннее 255 символов.
До 20 событий. Ширина полосы равна доле длительности от самого длинного события в списке. У нулевой длительности полоса пустая.
В списке есть OnMODXInit, OnHandleRequest, OnLoadWebDocument, OnWebPagePrerender.
До 20 строк. Если с начала сбора были запросы, во вкладке одна строка. Текст N SQL queries, время равно разнице queryTime, число вызовов равно N. При нуле запросов строк нет.
Бейдж «Возможная проблема N+1» рисуется только при флаге is_n1. Сбор этот флаг не ставит.