Skip to content
Modx3ProfilerToolbar
Тулбар производительности для MODX 3 — метрики запроса, медленные компоненты, таймлайн и SQL без админки
  1. Компоненты
  2. Modx3ProfilerToolbar
  3. Ограничения pdoTools

Ограничения профилирования pdoTools в MODX 3.x

Что профилируется

ТипСтатусПримечание
Обычные MODX-сниппеты✅ Работает[[!mySnippet]] — профилируются полностью
Чанки через MODX-тег✅ Работает[[$chunkName]] — вызов через парсер MODX
SQL-запросы✅ РаботаетВсе запросы любого типа
MODX-события✅ РаботаетOnDocFormSave, OnResourceDelete и т.д.
Память и время✅ РаботаетОбщая статистика
pdoTools-сниппеты⚠️ ОграниченноТолько как верхнеуровневые теги — без внутренней детализации

Особенности pdoTools-сниппетов

pdoTools-сниппеты (msProducts, pdoResources, pdoPage) профилируются, но:

  1. Нет детализации Fenom-чанков внутри tpl/tplWrapper — сниппет появится с общим временем, SQL видны, но чанки в tpl= не разделяются.
  2. Нет профилирования модификаторов Fenom{$var|date_format} не профилируется отдельно.
  3. Нет профилирования вложенных вызовов{$_modx->runSnippet('pdoMenu', [...])} в чанке не детализируется.

В тулбаре будет виден только верхнеуровневый вызов (например, [[!msProducts]]) с общим временем и SQL; разбивки по модификаторам и runSnippet внутри Fenom нет.

Рекомендации

Для разработки

  1. Используйте обычные MODX-сниппеты для тестирования профилировщика.
  2. Смотрите SQL-запросы — они профилируются отлично (Top 5 Slowest, N+1 Rule).
  3. Мониторьте общее время pdoTools-сниппетов — если [[!msProducts]] занимает 500 ms, проверьте SQL, индексы и сложность tpl.

Для продакшена

  1. Кешируйте pdoTools-сниппеты где возможно: на примере pdoPage — &cache=`1` и &cacheTime=`3600` . Подробнее: pdoTools — общие параметры и pdoPage.
  2. Используйте &includeContent=`0` если контент не нужен.
  3. Оптимизируйте SQL на основе отчётов тулбара — индексы, предпочитайте &where с JSON-строкой.