Query Monitor
- Отладка запросов REST API
- Кликабельные имена функций и стека вызова
- Отключение обработки PHP ошибок плагинов, тем, всех ошибок
- Профилирование и ведение журнала (лог)
- Символическая ссылка db.php
- Утверждения (assertions)
Создает панель инструментов для разработчика. Позволяет отлаживать запросы к БД, находить ошибки PHP, просматривать хуки, порядок подключения скриптов и стилей, блоки Гутенберг, HTTP API запросы и т.д. Пожалуй это лучший плагин для разработчика.
Плагин включает в себя некоторые дополнительные функции, такие как: отладка вызовов Ajax, вызовов REST API и проверки возможностей пользователя. Он позволяет быстро определить плохо работающие плагины, темы запросы или функции.
Все данные представлены в удобном виде, например, показывает запросы к базе данных, сгруппированные по плагинам, темам или функциям, которые отвечают за них.
Вот обзор того, что показано для каждой страницы:
- Запросы к базе данных, включая уведомления о медленных, повторяющихся или ошибочных запросах. Позволяет фильтровать по типу запроса (SELECT, UPDATE, DELETE и т. д.), ответственному компоненту (плагин, тема, ядро WordPress) и вызывающей функции.
- Имя файла шаблона, полная иерархия шаблонов и имена всех используемых частей шаблона.
- Ошибки PHP удобно собраны вместе. Есть стек вызовов, а также они помечаются в админ баре.
- Блоки и связанные свойства в контенте при использовании WordPress 5.0+ или плагина Гутенберг.
- Сопоставленные правил перезаписи (ЧПУ), связанные строки запроса и переменные запроса.
- Помещенные в очередь скрипты и стили, а также их зависимости, зависимые элементы и предупреждения о поврежденных зависимостях.
- Языковые настройки и загруженные файлы перевода (MO файлы) для каждого текстового домена.
- Запросы HTTP API, с кодом ответа, ответственным компонентом и затраченным временем, с предупреждениями о неудачных или ошибочных запросах.
- Проверка возможностей пользователя, а также любые параметры, переданные в проверку возможностей.
- Информация о среде, включая подробную информацию о PHP, базе данных, WordPress и веб-сервере.
- Значения всех условных тегов для текущей страницы, таких как WordPress is_single(), is_home() и т. д.
А также:
- Всякий раз, когда происходит перенаправление, Query Monitor добавляет заголовок HTTP, содержащий стек вызовов. Это позволяет использовать свой инспектор HTTP или средства разработчика браузера для отслеживания того, что вызвало перенаправление.
- Ответ от любого Ajax-запроса на странице будет содержать различную отладочную информацию в его заголовках. Ошибки PHP также выводятся в консоль браузера.
- Ответ от аутентифицированного запроса REST API WordPress будет содержать различную отладочную информацию в заголовках, если аутентифицированный пользователь имеет разрешение на просмотр данных Query Monitor.
FAQ
Кто может видеть данные?
По умолчанию данные отображается только администраторам и Суперадминистраторам при мультисайт установке.
Можно установить cookie аутентификации, которые позволят администратору просматривать данные, от лица неавторизованного пользователя (или другой роли).
Влияет ли плагин на время генерации страницы или использование памяти?
Да, но немного.
Query Monitor слабо нагружает сайт, потому что он подключается к WordPress так же, как и другие плагины. Воздействие незначительное; обычно от 10 мс до 100 мс в зависимости от сложности сайта.
Использование памяти обычно составляет около 10% от общего объема памяти, используемой для создания страниц.
Есть ли дополнительные плагины для Query Monitor?
Список плагинов для Query Monitor можно найти здесь.
Кроме того, Query Monitor поддерживает надстройки для плагина Debug Bar. Если у вас установлены какие-либо надстройки панели отладки, просто отключите панель отладки, и надстройки появятся в меню монитора запросов.
Где я могу предложить новую функцию или сообщить об ошибке?
Пожалуйста, пишите о проблемах в репозиторий GitHub, а не на wordpress.org, так как там легче отслеживать проблемы.
Доступен ли плагин на WordPress.com VIP Go??
Да! Для этого нужно добавить define( 'WPCOM_VIP_QM_ENABLE', true );
в vip-config/vip-config.php
.
Я использую несколько экземпляров wpdb. Как получить дополнительные экземпляры для отображения?
Вам нужно подключиться к фильтру qm/collect/db_objects
и добавить в массив элемент с именем подключения в качестве ключа и экземпляром wpdb в качестве значения. Ваш экземпляр wpdb будет отображаться как отдельная панель, а время запроса и количество запросов будут отображаться отдельно в меню панели инструментов. Агрегированная информация (запросы по вызывающему объекту и компоненту) не будет разделена.