Frontend Dev Toolbar
Краткое руководство по включению тулбара и интерпретации метрик.
Включение
- В системных настройках включите modx3profilertoolbar.enabled и modx3profilertoolbar.frontend_toolbar.
- Убедитесь, что вы залогинены в Manager (сессия в контексте
mgr) — тулбар показывается только при входе в админку. - Откройте любую страницу сайта в контексте web.
В правом нижнем углу появится панель Dev Toolbar. Подписи локализованы (ru/en/uk) из лексиконов MODX.
Как собирается статистика
Вся статистика собирается на сервере во время обработки запроса; отдельного AJAX-запроса за метриками нет.
- Старт (OnMODXInit): плагин создаёт ProfilerService, регистрирует профайлеры (SQL, snippet/plugin/chunk), подменяет парсер для учёта тегов.
- Сбор во время запроса: SQL перехватывается через PDO; сниппеты, чанки и плагины — через обёртки парсера.
- Стоп (OnWebPagePrerender): CollectorService формирует трейс, AnalyzerService считает Advisor и performance_score.
- Вывод: ToolbarService вставляет перед
</body>JSON с данными и подключаетtoolbar.js. Скрипт отображает панель.
Данные относятся к текущему запросу и уже «зашиты» в HTML.
Свернутое состояние
Компактная строка с основными метриками:
⏱ 412 ms 🧠 42 MB 🧩 18 сниппетов 🛢 34 SQL| Символ | Метрика |
|---|---|
| ⏱ | Общее время выполнения запроса (мс) |
| 🧠 | Пиковое использование памяти (MB) |
| 🧩 | Количество выполненных сниппетов |
| 🛢 | Количество SQL-запросов |
Клик по панели разворачивает полную панель с вкладками.
Развёрнутое состояние
Вкладка: Overview
Метрики с цветовой индикацией (время в миллисекундах):
- Общее время (Total time) — полное время ответа запроса.
- TTFB — Time To First Byte.
- PHP — время выполнения PHP-кода.
- SQL — время, затраченное на SQL-запросы.
Интерпретация цветов:
- 🟢 Зелёный — хорошо (< 200 мс).
- 🟡 Жёлтый — приемлемо (200–500 мс).
- 🔴 Красный — требуется оптимизация (> 500 мс).
Вкладка: Slow Components
Топ самых медленных компонентов: Snippet/Chunk/Plugin с временем в мс и пометкой cached/uncached. Используйте как подсказки для оптимизации.
Вкладка: Timeline
Горизонтальный waterfall событий MODX: длина полосы пропорциональна времени.
Вкладка: SQL
Список SQL-запросов с временем, количеством вызовов и пометкой ⚠️ Possible N+1 при подозрении на N+1.