Query Monitor — Плагин для WordPress
- Детали
- Отзывы
- Разработка
Поддержка
Query Monitor is the developer tools panel for WordPress. It enables debugging of database queries, PHP errors, hooks and actions, block editor blocks, enqueued scripts and stylesheets, HTTP API calls, and more.
It includes some advanced features such as debugging of Ajax calls, REST API calls, user capability checks, and full support for block themes and full site editing. It includes the ability to narrow down much of its output by plugin or theme, allowing you to quickly determine poorly performing plugins, themes, or functions.
Query Monitor focuses heavily on presenting its information in a useful manner, for example by showing aggregate database queries grouped by the plugins, themes, or functions that are responsible for them. It adds an admin toolbar menu showing an overview of the current page, with complete debugging information shown in panels once you select a menu item.
Для дополнительной информации посетите сайт Query Monitor.
Вот обзор того, что показано для каждой загрузки страницы:
- Database queries, including notifications for slow, duplicate, or erroneous queries. Allows filtering by query type (
SELECT
,UPDATE
,DELETE
, etc), responsible component (plugin, theme, WordPress core), and calling function, and provides separate aggregate views for each. - The template filename, the complete template hierarchy, and names of all template parts that were loaded or not loaded (for block themes and classic themes).
- PHP errors presented nicely along with their responsible component and call stack, and a visible warning in the admin toolbar.
- Blocks and associated properties within post content and within full site editing (FSE).
- Matched rewrite rules, associated query strings, and query vars.
- Enqueued scripts and stylesheets, along with their dependencies, dependents, and alerts for broken dependencies.
- Language settings and loaded translation files (MO files and JSON files) for each text domain.
- HTTP API requests, with response code, responsible component, and time taken, with alerts for failed or erroneous requests.
- User capability checks, along with the result and any parameters passed to the capability check.
- Environment information, including detailed information about PHP, the database, WordPress, and the web server.
- The values of all WordPress conditional functions such as
is_single()
,is_home()
, etc. - Transients that were updated.
В дополнение:
- Whenever a redirect occurs, Query Monitor adds an HTTP header containing the call stack, so you can use your favourite HTTP inspector or browser developer tools to trace what triggered the redirect.
- The response from any jQuery-initiated Ajax request on the page will contain various debugging information in its headers. PHP errors also get output to the browser’s developer console.
- The response from an authenticated WordPress REST API request will contain an overview of performance information and PHP errors in its headers, as long as the authenticated user has permission to view Query Monitor’s output. An an enveloped REST API request will include even more debugging information in the
qm
property of the response.
By default, Query Monitor’s output is only shown to Administrators on single-site installations, and Super Admins on Multisite installations.
In addition to this, you can set an authentication cookie which allows you to view Query Monitor output when you’re not logged in (or if you’re logged in as a non-Administrator). See the Settings panel for details.
Other Plugins
I maintain several other plugins for developers. Check them out:
- User Switching provides instant switching between user accounts in WordPress.
- WP Crontrol lets you view and control what’s happening in the WP-Cron system
Заявление о конфиденциальности
Query Monitor is private by default and always will be. It does not persistently store any of the data that it collects. It does not send data to any third party, nor does it include any third party resources.
Полный текст политики конфиденциальности Query Monitor можно найти здесь.
Accessibility Statement
Query Monitor aims to be fully accessible to all of its users. It implements best practices for web accessibility, outputs semantic and structured markup, uses the accessibility APIs provided by WordPress and web browsers where appropriate, and is fully accessible via keyboard.
That said, Query Monitor does not conform to the Web Content Accessibility Guidelines (WCAG) 2.0 at level AA like WordPress itself does. The main issue is that the user interface uses small font sizes to maintain a high information density for sighted users. Users with poor vision or poor motor skills may struggle to view or interact with some areas of Query Monitor because of this. This is something which I’m acutely aware of and which I work to gradually improve, but the underlying issue of small font sizes remains.
If you’ve experienced or identified another accessibility issue in Query Monitor, please open a thread in the Query Monitor plugin support forum and I’ll try my best to address it swiftly.
- Admin Toolbar Menu
- Aggregate Database Queries by Component
- Capability Checks
- Database Queries
- Hooks and Actions
- HTTP API Requests
- Aggregate Database Queries by Calling Function
Does this plugin work with PHP 8?
Yes, it’s actively tested and working up to PHP 8.2.
Who can access Query Monitor’s output?
By default, Query Monitor’s output is only shown to Administrators on single-site installations, and Super Admins on Multisite installations.
In addition to this, you can set an authentication cookie which allows you to view Query Monitor output when you’re not logged in, or when you’re logged in as a user who cannot usually see Query Monitor’s output. See the Settings panel for details.
Does Query Monitor itself impact the page generation time or memory usage?
Short answer: Yes, but only a little.
Развернутый ответ: Query Monitor слабо влияет на генерацию страницу за счет использования хуков WordPress таким же образом, как это делают другие плагины. Воздействие низкое, обычно 10-100 мс в зависимости от структуры вашего сайта.
Использование памяти плагином Query Monitor как правило составляет около 10% от общего объема памяти, необходимого для генерации страницы.
Can I prevent Query Monitor from collecting data during long-running requests?
Yes, if anything calls
do_action( 'qm/cease' )
then Query Monitor will cease operating for the remainder of the page generation. It detaches itself from further data collection, discards any data it’s collected so far, and skips the output of its information.This is useful for long-running operations that perform a very high number of database queries, consume a lot of memory, or otherwise are of no concern to Query Monitor, for example:
- Backing up or restoring your site
- Exporting a large amount of data
- Running security scans
Are there any add-on plugins for Query Monitor?
A list of add-on plugins for Query Monitor can be found here.
In addition, Query Monitor transparently supports add-ons for the Debug Bar plugin. If you have any Debug Bar add-ons installed, deactivate Debug Bar and the add-ons will show up in Query Monitor’s menu.
Where can I suggest a new feature or report a bug?
Please use the issue tracker on Query Monitor’s GitHub repo as it’s easier to keep track of issues there, rather than on the wordpress.org support forums.
Is Query Monitor available on Altis?
Yes, the Altis Developer Tools are built on top of Query Monitor.
Is Query Monitor available on WordPress.com VIP?
Yes, but a user needs to be granted the
view_query_monitor
capability to see Query Monitor even if they’re an administrator. See the WordPress.com VIP documentation for more details.I’m using multiple instances of `wpdb`. How do I get my additional instances to show up in Query Monitor?
This feature was removed in version 3. 12 as it was rarely used and considerably increased the maintenance burden of Query Monitor itself. Feel free to continue using version 3.11 if you need to make use of this feature.
Can I click on stack traces to open the file in my editor?
Yes. You can enable this on the Settings panel.
Do you accept donations?
I am accepting sponsorships via the GitHub Sponsors program. If you work at an agency that develops with WordPress, ask your company to provide sponsorship in order to invest in its supply chain. The tools that I maintain probably save your company time and money, and GitHub sponsorship can now be done at the organisation level.
In addition, if you like the plugin then I’d love for you to leave a review. Tell all your friends about it too!
If this plugin would not exist one would have to program it immediately! Helps in development, debugging, optimization, and much more.
A must have plugin if you are a themes/plugins developer. I love the data it provides and how it can be used to improve coding skills.
Love it, it’s one of my favourite tools when developing plugins. One suggestion, unless I had missed it, it would be great to be able to display the script/styles file sizes in the corresponding lists. It would deserve even more its «all-in-one debug plugin» reputation !
Helped me find a nasty little bugger of a plugin that was running fast when I installed it but had bad coding that was screwing up my database and speed scores.
This plugin works exactly perfect, and saves a lot of debugging time. It is really more than its name. For the performance and db issues, it is the most detailed and fluent working ever.
Great plugin for debugging
Посмотреть все 418 отзывов
«Query Monitor» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:
Участники
- John Blackbourn
«Query Monitor» переведён на 20 языков. Благодарим переводчиков за их работу.
Перевести «Query Monitor» на ваш язык.
Заинтересованы в разработке?
Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.
3.12.2
- Adds the total count to the table footer of the PHP Errors panel
- Improves the destination URL for links that point to the site editor
- Implements some minor visual improvements
- Removes unreliable information about the transport for HTTP API requests
- Removes Query Monitor output from the interim login modal
3.12.1
- Corrects some inter-panel links that point to the Queries panel and sub-panels
- Switches to
sessionStorage
for the selected table column filters so they don’t persist across tabs or sessions - Removes the «Debug Bar:» prefix on the menus for panels inherited from the Debug Bar plugin
3.
12.0- Clarifies and improves information in the Template panel when a block theme or full site editing (FSE) is in use
- Avoids PHP warnings if a third party plugin makes unexpected changes to language file paths
- Implements some minor performance improvements
- Removes misleading information about WordPress memory limits
- Removes support for multiple instances of
wpdb
(see the FAQ for more information)
3.11.2
- Implements various accessibility improvements
- Fixes an issue where not all admin area footer scripts were shown in the Scripts panel
- Improves output when the SQLite feature in the Performance Labs plugin is in use
- Removes QM output altogether from the Customizer
- Ensures
wp-content/db.php
from another plugin doesn’t get removed when deactivating QM
3.11.1
- Avoids a fatal error in PHP 8 when
posix_getpwuid()
orposix_getgrgid()
doesn’t return an expected value.
3.11.0
- Adds a new «Multisite» panel that shows usage of
switch_to_blog()
andrestore_current_blog()
on Multisite installations - Improves the output shown for blocks and template parts when block themes or full site editing is in use
- Introduces new
QM_Data
andQM_Component
classes to make the data collection more structured and reliable - Increases the minimum supported version of PHP to 7.2
- Improves the performance of SVG icons
- Removes the ability to completely hide silenced PHP errors
- Avoids some deprecated notices in PHP 8.2
- Improves the performance of the PHP class autoloader
3.10.1
- Prevents logging duplicate entries for multiple calls to load the same translation file
- Brings the dispatcher priority back down to
9
for maximum compatibility with other plugins that use a shutdown handler
3.
10.0- Adds information about the current language on the Languages panel
- Reduces the chance that Query Monitor blames itself for PHP errors that don’t have a stack trace
- Replaces the use of Dashicons with inline SVGs and removes the
dashicons
dependency - Switches to class autoloading via Composer for reduced memory usage
- Changes the priority of the
shutdown
dispatcher from0
toPHP_INT_MAX
to ensure as much data as possible is collected - Improves the styling of Debug Bar add-ons
- Fixes some erroneous localisation of float values in REST API output
- Bumps the minimum supported PHP version to 5.6
- Improves various other bits and bobs
3.9.0
- Introduces a dark mode toggle on the Settings panel, which replaces the
QM_DARK_MODE
constant - Prevents errors with undefined constants being reported in
db.php
- Adds more comprehensive handling of unexpected values in stack traces
- Fixes PHP Warning ‘Header may not contain NUL bytes’ when outputting headers
3.
8.2- Fixes some deprecated notices with PHP 8.1
- Improves the handling of SQL queries that consist only of MySQL comments
3.8.1
- Fixes an incompatibility with PHP versions prior to 7.2
- Fixes a warning that was being triggered within the PHP header dispatcher
- Introduces the
qm/component_type/{$type}
filter - Introduces a
QM_VERSION
constant
3.8.0
- Introduces the ability for a third party to cease all further data collection and output at any point by calling
do_action( 'qm/cease' )
, for example to prevent memory exhaustion during long-running operations - Reduces the width of the admin toolbar menu item by using lower decimal precision
- Improves the Template panel information when a block theme is in use (for Full Site Editing)
- Improves the performance and accuracy of stack traces and calling function information
- Corrects some formatting of numbers and error messages in the REST API output
- Adds more useful information when a persistent object cache or opcode cache isn’t in use
- Improves clarity in the Scripts and Styles panels when any of the URLs include a port number
- Introduces the
qm/component_context/{$type}
filter to complementqm/component_name/{$type}
andqm/component_dirs
- Improves internal code quality, internationalisation, and further reduces overall memory usage
3.
7.1- Add a fallback for timing processing during Ajax requests that are dispatched before the
shutdown
hook.
3.7.0
- Introduce debugging output in a
qm
property in enveloped REST API responses - Add HTTP API call information to the overview panel
- Don’t show QM output inside WordPress embeds as nobody uses this
- Don’t try to access the
QM_HIDE_SELF
constant before it’s defined - Process the timing and memory related stats as early as possible so the data isn’t too skewed
3.6.8
- Add WordPress memory usage statistic to Overview panel
- Add block context information to the Blocks panel
- Fix row highlighting of TH cells
- Fix some panel resizing bugs
3.6.7
- Implement a
QM_DB_SYMLINK
constant to prevent thedb.php
symlink being put into place. - Remove a dependency on
SAVEQUERIES
in the query collector. - Remove invalid
scope
attributes on table cells.
3.6.6
- PHP 8 fix.
- Improve the display for various empty values when logging.
- Don’t display child menus until the parent menu is active. Makes the menu clearer.
- Detect local host names in HTTP API requests and don’t mark them as ignoring certificate verification.
- Prevent the text in toggle buttons from being selected when selecting data in tables.
- Remove support for the Dark Mode plugin which isn’t Dark Mode any more.
3.6.5
- Always show the Logs panel, with a link to help docs.
- Whole bunch of improvements to QM’s «broken» state handling.
- Remove usage of deprecated jQuery methods.
- Add support for Altis dependencies as components.
- Add
innodb_buffer_pool_size
variable to the mysql environment list. - Preformat the Logger output
- Fix the PHP version check.
3.
6.4- Correct an error introduced in 3.6.2 with the extra early error handling (ironic).
3.6.3
- Correct the size of the close icon.
3.6.2
- Capture and display the most recent PHP error that occurred before QM loaded.
- Add support for the environment type added in WP 5.5.
- Avoid a potentially blank translation for some plural forms.
- Increase some contrast in dark mode.
- Combine the response-related sections of the Request panel.
- Add extra sanity checking when attempting to fetch the posix user information.
3.6.1
- Adjust the bottom margin when the QM panel is open so QM doesn’t cover the bottom of the page. Works more often than not.
- Prevent QM from triggering a fatal itself if a fatal occurs before the HTML dispatcher is loaded.
- Add an informational message to the template output when template hooks are in use.
- Fix errors caused by missing user or group IDs when collecting environment data.
- Add TextMate to list of supported editors.
- Demote some cache warnings to informational messages.
- Support passing backtrace to
QM_Backtrace
.
3.6.0
- Improvements to the UI when a fatal error occurs, including an admin toolbar warning.
- Improvements to the UI when QM is running in «broken» mode due to missing jQuery or an unrecoverable JavaScript error.
- Don’t display fatal errors if error display is off and the user cannot view QM.
- Improvements to the visual appearance of the
wp_die()
output. - Simplify re-throwing a caught exception so QM doesn’t get the blame for fatal errors, eg. in the WordPress core fatal error handler.
- Add support for logging a variable of any type in the logger, as a replacement for var dumping.
- Don’t show a message for errors in Ajax calls that have already occurred on the main page load.
- Don’t dispatch QM during an iframed request, eg the plugin info modal or an upgrader action.
- Hide QM itself from various panels by default to remove noise. Can be controlled via the existing
QM_HIDE_SELF
configuration constant. - Support for the new
is_favicon()
conditional added in WP 5.4. - Fix the side panel resizing functionality.
- Add a WP-CLI command for creating the symlink to the db file.
- Add filters to
QM_Util::get_file_dirs()
andget_file_component()
to allow support for non-standard plugin and theme locations. - Add an action that fires when QM enqueues its assets, so add-on plugins can enqueue theirs only when necessary.
3.5.2
- Add support for exposing Full Site Editing blocks in the Block Editor panel.
3.5.1
- Defer population of the
found_formatted
property because this can fire before WPML has initialised its locale proxy. Fixes #485. - Ensure all error types are accounted for when populating the panel menu error count. Fixes #486.
3.5.0
- Add an editor selection UI on the Settings panel.
- Improve the output of missing asset dependencies.
- Improve the output of unsuccessful template parts.
- Handle non-boolean constants such as
WP_DEBUG_LOG
, which now accepts a path too. - Add support for touch devices when resizing the panel. (Works alright-ish, probably needs some animation frame work.)
- Apply the same styles to notices, deprecated, and strict errors.
- Some more style resets for compatibility with popular themes.
- Style changes to bring QM inline with WP 5.3’s improved button and focus styles.
- More colour contrast and dark mode tweaks.
- Add permalink-related filters to the concerned filters for the Request panel.
- Fix and improve the admin toolbar menu hover colours.
- Add the error count to the panel menu.
- Remove unnecessary use of plural forms added in 3.4.0.
- More CSS resets to avoid overly tall filters in Firefox.
- Improved styling for warning rows.
- Display the log count in the menu item.
3.4.0
- Introduce an exception handler so a stack trace can be shown for fatal errors in PHP >= 7.
- Add separate persistence of QM window for front-end and admin area.
- Add the request and response HTTP headers to the Request panel.
- Introduce Started and Stopped columns in the Timings panel.
- By popular demand, revert back to closest first ordering of stack traces so they’re inline with most other dev tools out there.
- Show the script handle in addition to the text domain in the Languages panel.
- Improve the panel menu highlighting colours.
- Better presentation of the default and current values for the settings constants.
- Truncate long host names in the Scripts and Styles panels.
- Add some more of the admin screen globals to the admin collector.
- Switch back to using a monospace font in numeric data cells.
- Allow dark mode to be enabled with
QM_DARK_MODE
. - Display the total query count even when
SAVEQUERIES
is defined as false. - Allow proper plural forms to be used wherever a phrase includes a numeric value.
- More style resetting for compatibility with Twenty Twenty.
- Avoid a division by zero when cache hits is 0.
- Switch to (mostly) CSS for the child menu item marker.
3.3.7
- Expose instances where a requested template part was not loaded.
- Update the docs for multiple
wpdb
instances. - Various accessibility improvements.
- Remove the RDBMS info as it’s not at all reliable.
3.3.6
- Fix a compatibility issue where QM and the fatal error protection in WordPress 5.2+ were handling syntax errors differently.
- Fix some bugs with the icons for the panel controls.
3.3.5
- Add support for the new
get_template_part
action in WP 5. 2. - Add a friendly error message when the PHP version requirement isn’t met.
- Add support for the new privacy policy conditional in WP 5.2.
- Add support for the new privacy policy template in WP 5.2.
Мета
- Версия: 3.12.2
- Обновление: 4 дня назад
- Активных установок: 100 000+
- Версия WordPress: 5.2 или выше
- Совместим вплоть до: 6.2
- Версия PHP: 7.2 или выше
- Языки:
Dutch, Dutch (Belgium), English (Australia), English (Canada), English (New Zealand), English (South Africa), English (UK), English (US), French (Canada), French (France), German, Italian, Japanese, Russian, Spanish (Chile), Spanish (Colombia), Spanish (Ecuador), Spanish (Mexico), Spanish (Spain), Spanish (Venezuela) и Swedish.
Перевести на ваш язык
- Метки:
debugdebug bardevelopmentperformancequery monitor
- Дополнительно
Оценки
Посмотреть все
- 5 звёзд 406
- 4 звезды 3
- 3 звезды 2
- 2 звезды 0
- 1 звезда 7
Войдите, чтобы оставить отзыв.
Участники
- John Blackbourn
Поддержка
Решено проблем за последние 2 месяца:
15 из 26
Перейти в форум поддержки
Пожертвование
Would you like to support the advancement of this plugin?
Пожертвовать на развитие плагина
Использование Query Monitor для отладки вашего сайта WordPress
Доброго здравия, господа!
Рад приветствовать вас на моем блоге, который посвящен самой популярной системе управления контентом — WordPress.
Сегодня я бы хотел поговорить об отладке WordPress и повышение производительности сайта. И в этом нам поможет такой интересный и полезный плагин как Query Monitor.
Итак, по порядку.
Ко мне часто поступают вопросы про хостинг, которым я пользуюсь и поэтому решил указать хостинг в статье https://sprinthost.ru. Вы можете попробовать попользоваться хостингом 30 дней бесплатно. Чтобы понять, как будет работать Ваш сайт на этом хостинге просто перенести свой сайт (в этом поможет поддержка хостинга бесплатно) и и таким образом сможете понять подходит хостинг Вам или нет. На этом хостинге находятся сайты с 20 000 тысяч посещаемость и сайты чувствуют себя отлично. Рекомендую! Да, если делать оплату на 1 год то получаете скидку 25%. И что мне нравится — тех. поддержка всегда помогает в технических вопросах, за что им спасибо. Как Вы понимаете не всегда проходит всё гладко и нет желания, чтобы сайт не был доступен тем самым страдал трафик и доход.
Представьте себе такой сценарий: вы работаете над проектом разработки сайта на WordPress и у вас установлено дюжина или более плагинов. Тем не менее, ваш сайт не работает так, как вам бы хотелось. Вы устранили всех обычных подозреваемых: хостинг адекватный, нет явных ошибок JavaScript или PHP, и нет ничего более очевидного. Вы подозреваете, что виноваты один или несколько установленных вами плагинов, но как выяснить, какой плагин вызывает проблему?
Обычный метод выявления проблемных плагинов состоит в том, чтобы деактивировать плагины один за другим, пока не прекратится поведение, к которому вы пытаетесь обратиться. Тем не менее, если установлен правильный плагин отладки, вы сможете определить проблему быстрее и с большей точностью. Это тот сценарий, для решения которого был создан Query Monitor.
Оглавление
- Что такое Query Monitor?
- Что делает Query Monitor?
- Как использовать Query Monitor
Что такое Query Monitor?
Query Monitor — бесплатный плагин для отладки и разработки для WordPress. Вы можете использовать его для идентификации и отладки медленных запросов к базе данных, вызовов AJAX, запросов REST API и многого другого. Кроме того, плагин сообщает подробности веб-сайта, такие как зависимости скриптов и зависимости, перехватчики WordPress, срабатывающие при генерации страницы, детали среды размещения, теги условных запросов, встречающихся на текущей странице и многое другое.
Плагин WordPress Query Monitor
Плагин был разработан John Blackbourn (Джоном Блэкборном), основным коммиттером WordPress, который в настоящее время является разработчиком «Human Made» и ранее работал на WordPress.com VIP — другими словами, он тот, кто действительно знает WordPress. Query Monitor был добавлен в каталог плагинов WordPress в 2013 году и в настоящее время может похвастаться более чем 80 000 активных установок — впечатляющая сумма для плагина разработки. Пользовательский рейтинг плагина в пять из пяти звезд помогает объяснить его популярность среди разработчиков.
Что делает Query Monitor?
Много чего.
Я не буду тратить время на перечисление всех функций, предлагаемых Query Monitor, но если вы хотите вникнуть в детали, взгляните на Query Monitor на GitHub. На высоком уровне Query Monitor наблюдает за каждой транзакцией WordPress, которая происходит на сервере или между сервером и браузером посетителя, пока генерируется веб-страница WordPress. Затем он добавляет отчет в футер (подвал) веб-страницы с подробным описанием всей собранной информации. Он работает на каждой странице, включая страницы /wp-admin/, поэтому вы можете использовать его для отладки любой внешней или внутренней страницы.
Плагин назван в честь основной функции: мониторинг запросов к базе данных. Каждый запрос отслеживается, синхронизируется и привязывается к функции, которая его сгенерировала. В результате вы можете сортировать запросы в зависимости от того, сколько времени они занимают, и выявлять проблемные, медленно загружаемые запросы.
Query Monitor также отслеживает и выводит список обработчиков и условных тегов WordPress на созданную страницу. Как разработчик, вы можете использовать эту информацию для определения правильного хука или условного тега, который будет использоваться при добавлении нового плагина или функциональности темы.
Query Monitor предоставляет много дополнительной информации. Лучший способ получить представление обо всем, что генерируется Query Monitor — это установить его на тестовом сайте и просмотреть отчеты.
Как использовать Query Monitor?
Установите Query Monitor, используя предпочитаемый метод: он находится на GitHub, а также доступен в каталоге плагинов WordPress. После того, как вы установите плагин, первое, что вы заметите, это то, что в панель администратора был добавлен новый пункт меню:
Панель администратора Query Monitor
Надпись на новом элементе отображает несколько метрик:
- Время генерации страницы,
- Пиковое использование памяти PHP,
- Время запроса к базе данных и
- Общее количество выполненных запросов к базе данных.
Наведите указатель мыши на панель администратора, и появится раскрывающееся меню. Все данные, сгенерированные Query Monitor, содержатся в одном отчете, добавленном в нижнюю часть страницы и разбитом на несколько разделов. Нажмите на любой из элементов в раскрывающемся меню, чтобы перейти в соответствующий раздел отчета Query Monitor. Например, ниже приведен скриншот из общих «запросов», которые выполняются на странице.
Запросы в Query Monitor
Если возникают какие-либо ошибки PHP или какие-либо запросы занимают слишком много времени, дополнительные элементы будут добавлены в раскрывающееся меню, освещающее эти проблемы. Нажмите на них, чтобы увидеть больше деталей.
Вы можете заметить, что последние несколько элементов в списке меняются с одной страницы на другую. Эти элементы, выделенные зеленым цветом, являются тегами условных запросов, удовлетворяющих текущей странице.
Прокрутите весь отчет, чтобы увидеть множество данных, сгенерированных Query Monitor. Потратьте время, чтобы попробовать выпадающие меню, доступные для фильтрации данных, содержащихся в отчете, а также поля, содержащие символ «+», которые можно использовать для просмотра дополнительных данных о многих отчетных деталях.
Если вы хотите получить еще больше данных из Query Monitor, взгляните на сторонние дополнения Query Monitor, чтобы увидеть, существует ли плагин, который будет генерировать необходимую отладочную информацию.
Как просмотреть данные монитора запросов как вышедший из системы пользователь
Когда вы просматриваете веб-сайт WordPress, когда вы вошли в систему как администратор, сайт содержит панель администратора и дополнительные сценарии, которые посетители не видят. Query Monitor позволяет просматривать сайт во время выхода из системы и по-прежнему иметь доступ к отладочной информации. Однако использование этой функции в первый раз может быть немного сложнее.
Чтобы просмотреть данные Query Monitor как вышедшего из системы посетителя, выполните следующие действия:
- Перейдите в область администрирования WordPress, войдя в систему как администратор, и щелкните элемент Query Monitor на панели администратора.
- Прокрутите в самую нижнюю часть сообщаемых данных и найдите ссылку с надписью «Установить куки аутентификации». Обратите внимание, что вы должны быть в административной области, чтобы увидеть ссылку. Если вы ищите ссылку на главной странице, вы не найдете ее там.
- Нажав на эту ссылку, вы добавите файл cookie аутентификации в ваш браузер. Таким образом, Query Monitor будет знать, как отображать результаты теста, даже если вы не вошли в систему.
- С установленным файлом cookie аутентификации выйдите из сайта или переключитесь на профиль пользователя без прав администратора с помощью плагина, такого как User Switching.
- Перейдите на страницу, на которой вы хотите увидеть информацию об отладке, и прокрутите страницу до конца. Там вы увидите сокращенную версию отчета Query Monitor. Нажмите на любой элемент, чтобы развернуть отчет.
Описание из репозитория WordPress
Query Monitor — это панель инструментов для разработчиков WordPress. Он позволяет отлаживать запросы к базе данных, ошибки PHP, перехваты и действия, блоки редактора блоков, поставленные в очередь скрипты и таблицы стилей, вызовы HTTP API и многое другое.
Он включает в себя некоторые расширенные функции, такие как отладка вызовов Ajax, вызовы REST API и проверки возможностей пользователя. Он включает в себя возможность сузить большую часть его вывода плагином или темой, что позволяет быстро определять неэффективные плагины, темы или функции.
Query Monitor сосредоточен на предоставлении своей информации в удобной форме, например, показывая совокупные запросы к базе данных, сгруппированные по плагинам, темам или функциям, которые за них отвечают. Он добавляет меню панели инструментов администратора, показывающее обзор текущей страницы, с полной информацией об отладке, отображаемой на панелях после выбора пункта меню.
Вот обзор того, что показано для каждой загрузки страницы:
- Запросы к базе данных, включая уведомления о медленных, повторяющихся или ошибочных запросах. Позволяет фильтровать по типу запроса (SELECT, UPDATE, DELETE и т.д.), ответственный компонент (плагин, тема, ядро WordPress) и вызов функции, а также предоставляет отдельные агрегированные представления для каждого.
- Имя файла шаблона, полная иерархия шаблона и имена всех частей шаблона, которые были загружены или не загружены.
- Ошибки PHP представлены вместе с их ответственным компонентом и стеком вызовов, а также видимым предупреждением на панели инструментов администратора.
- Блоки и связанные с ними свойства в содержании сообщений при использовании WordPress 5.0+ или плагина Gutenberg.
- Сопоставленные правила перезаписи, связанные строки запроса и переменные запроса.
- Сценарии и таблицы стилей, поставленные в очередь, вместе с их зависимостями и оповещениями о нарушенных зависимостях.
- Настройки языка и загруженные файлы перевода (файлы MO) для каждого текстового домена.
- Запросы HTTP API, с кодом ответа, ответственным компонентом и затраченным временем, с оповещениями о неудачных или ошибочных запросах.
- Проверка возможностей пользователя, а также результат и любые параметры, переданные для проверки возможностей.
- Информация о среде, включая подробную информацию о PHP, базе данных, WordPress и веб-сервере.
- Значения всех условных функций WordPress, таких как is_single(), is_home() и т. д.
- Переходные процессы, которые были обновлены.
К тому же:
- Всякий раз, когда происходит перенаправление, Query Monitor добавляет HTTP-заголовок, содержащий стек вызовов, так что вы можете использовать свой любимый HTTP-инспектор или инструмент разработчика в браузере, чтобы отслеживать, что вызвало перенаправление.
- Ответ от любого инициированного jQuery Ajax-запроса на странице будет содержать различную отладочную информацию в своих заголовках. Ошибки PHP также выводятся на консоль разработчика браузера.
- Ответ от аутентифицированного запроса WordPress REST API будет содержать различную отладочную информацию в своих заголовках, если аутентифицированный пользователь имеет разрешение на просмотр выходных данных Query Monitor.
По умолчанию выходные данные Query Monitor отображаются только для администраторов при установке на одном сайте и для суперпользователей при установке с несколькими сайтами.
В дополнение к этому вы можете установить файл cookie для аутентификации, который позволяет просматривать выходные данные монитора запросов, когда вы не вошли в систему (или если вы вошли в систему как пользователь, не являющийся администратором).
Заявление о конфиденциальности
Query Monitor не хранит постоянно какие-либо данные, которые он собирает. Он не отправляет данные третьим лицам и не включает ресурсы третьих лиц.
Подведем итог
Как разработчик WordPress, наличие правильных инструментов может облегчить вашу работу. Query Monitor — это бесплатный инструмент, который поможет вам сэкономить много времени. Вы можете использовать его для:
- Определения медленных запросов и функции, которые их запускают,
- Создания списка хуков WordPress, обнаруженных во время генерации страницы WordPress,
- Подтверждения, какие условные теги применяются к текущей странице или сообщению,
- Определение отношений между ресурсами JavaScript,
- Детальный просмотр конфигурации сервера и
- Еще много чего полезного.
Если вы попробуете Query Monitor, есть большая вероятность, что он быстро станет постоянным дополнением к вашей среде разработки WordPress.
Ну а на сегодня у меня все — буду снова ждать вас на моем сайте, приходите!
Юрич:
Занимаюсь созданием сайтов на WordPress более 6 лет. Ранее работал в нескольких веб-студиях и решил делиться своим опытом на данном сайте. Пишите комментарии, буду рад общению.
Query Monitor — Плагин WordPress
- Детали
- отзывов
- Развитие
Опора
Query Monitor — это панель инструментов разработчика для WordPress. Он позволяет отлаживать запросы к базе данных, ошибки PHP, перехватчики и действия, блоки редактора блоков, поставленные в очередь скрипты и таблицы стилей, вызовы HTTP API и многое другое.
Он включает в себя некоторые дополнительные функции, такие как отладка вызовов Ajax, вызовов REST API, проверка возможностей пользователя, а также полная поддержка блочных тем и полное редактирование сайта. Он включает в себя возможность сузить большую часть вывода по плагинам или темам, что позволяет быстро определить плохо работающие плагины, темы или функции.
Query Monitor уделяет большое внимание представлению своей информации в полезной форме, например, показывая сводные запросы к базе данных, сгруппированные по подключаемым модулям, темам или функциям, которые за них отвечают. Он добавляет меню панели инструментов администратора, показывающее обзор текущей страницы, с полной отладочной информацией, отображаемой на панелях после выбора пункта меню.
Полную информацию см. на веб-сайте Query Monitor.
Вот обзор того, что отображается для каждой загрузки страницы:
- Запросы к базе данных, включая уведомления о медленных, повторяющихся или ошибочных запросах. Позволяет фильтровать по типу запроса (
SELECT
,UPDATE
,DELETE
и т. д.), ответственному компоненту (плагин, тема, ядро WordPress) и вызывающей функции, а также предоставляет отдельные сводные представления для каждого. - Имя файла шаблона, полная иерархия шаблонов и имена всех частей шаблона, которые были загружены или не загружены (для блочных тем и классических тем). Ошибки PHP
- красиво представлены вместе с их ответственным компонентом и стеком вызовов, а также видимым предупреждением на панели инструментов администратора.
- Блоки и связанные свойства в содержимом публикации и в полном редактировании сайта (FSE).
- Совпадающие правила перезаписи, связанные строки запроса и переменные запроса.
- Поставленные в очередь скрипты и таблицы стилей вместе с их зависимостями, иждивенцами и предупреждениями о неработающих зависимостях.
- Настройки языка и загруженные файлы перевода (файлы MO и файлы JSON) для каждого текстового домена.
- запросов HTTP API с кодом ответа, ответственным компонентом и затраченным временем, с предупреждениями о неудачных или ошибочных запросах.
- Проверка возможностей пользователя вместе с результатом и любыми параметрами, переданными в проверку возможностей.
- Информация о среде, включая подробную информацию о PHP, базе данных, WordPress и веб-сервере.
- Значения всех условных функций WordPress, таких как
is_single()
,is_home()
и т. д. - Переходные процессы, которые были обновлены.
Дополнительно:
- Всякий раз, когда происходит перенаправление, Query Monitor добавляет HTTP-заголовок, содержащий стек вызовов, поэтому вы можете использовать свой любимый инспектор HTTP или инструменты разработчика браузера, чтобы отследить, что вызвало перенаправление.
- Ответ на любой запрос Ajax, инициированный jQuery на странице, будет содержать различную отладочную информацию в своих заголовках. Ошибки PHP также выводятся в консоль разработчика браузера.
- Ответ на аутентифицированный запрос WordPress REST API будет содержать обзор информации о производительности и ошибках PHP в своих заголовках, если у аутентифицированного пользователя есть разрешение на просмотр вывода Query Monitor. Обернутый запрос REST API будет содержать еще больше отладочной информации в свойстве
qm
ответа.
По умолчанию выходные данные Query Monitor отображаются только для администраторов при установке с одним сайтом и суперадминистраторов при установке с несколькими сайтами.
В дополнение к этому вы можете установить файл cookie для аутентификации, который позволит вам просматривать выходные данные Query Monitor, когда вы не вошли в систему (или если вы вошли в систему без прав администратора). Подробности смотрите на панели настроек.
Другие плагины
Я поддерживаю несколько других плагинов для разработчиков. Проверьте их:
- Переключение пользователей обеспечивает мгновенное переключение между учетными записями пользователей в WordPress.
- WP Crontrol позволяет просматривать и контролировать то, что происходит в системе WP-Cron
Заявление о конфиденциальности
Query Monitor является закрытым по умолчанию и всегда будет таким. Он не хранит постоянно какие-либо данные, которые он собирает. Он не отправляет данные какой-либо третьей стороне и не включает сторонние ресурсы.
Полное заявление о конфиденциальности Query Monitor можно найти здесь.
Заявление о доступности
Query Monitor стремится быть полностью доступным для всех своих пользователей. Он реализует передовые методы обеспечения доступности в Интернете, выводит семантическую и структурированную разметку, использует API-интерфейсы специальных возможностей, предоставляемые WordPress и веб-браузерами, где это необходимо, и полностью доступен с клавиатуры.
Тем не менее, Query Monitor , а не соответствует Руководству по доступности веб-контента (WCAG) 2.0 на уровне AA, как и сам WordPress. Основная проблема заключается в том, что в пользовательском интерфейсе используются шрифты небольшого размера для обеспечения высокой плотности информации для зрячих пользователей. Из-за этого пользователям с плохим зрением или плохой моторикой может быть трудно просматривать или взаимодействовать с некоторыми областями Query Monitor. Это то, о чем я хорошо знаю и над чем постепенно работаю, но основная проблема с маленьким размером шрифта остается.
Если вы столкнулись или обнаружили другую проблему со специальными возможностями в Query Monitor, откройте тему на форуме поддержки подключаемого модуля Query Monitor, и я постараюсь решить ее как можно быстрее.
- Меню панели инструментов администратора
- Совокупность запросов к базе данных по компонентам
- Проверки возможностей
- Запросы к базе данных
- Перехватчики и действия
- Запросы HTTP API
- Ag gregate запросов к базе данных путем вызова функции
Этот плагин работает с PHP 8?
Да, он активно тестируется и работает до версии PHP 8.2.
Кто может получить доступ к выходным данным Query Monitor?
По умолчанию выходные данные Query Monitor отображаются только для администраторов при установке с одним сайтом и суперадминистраторов при установке с несколькими сайтами.
В дополнение к этому вы можете установить файл cookie для аутентификации, который позволит вам просматривать выходные данные Query Monitor, когда вы не вошли в систему или когда вы вошли в систему как пользователь, который обычно не может видеть выходные данные Query Monitor. Подробности смотрите на панели настроек.
Влияет ли сам Query Monitor на время создания страницы или использование памяти?
Краткий ответ: Да, но совсем немного.
Подробный ответ: Query Monitor незначительно влияет на время создания страницы, потому что он подключается к WordPress так же, как и другие плагины. Воздействие низкое; обычно от 10 мс до 100 мс в зависимости от сложности вашего сайта.
Использование памятиQuery Monitor обычно составляет около 10% от общего объема памяти, используемого для создания страницы.
Можно ли запретить Query Monitor собирать данные во время длительных запросов?
Да, если что-то вызовет
do_action('qm/cease')
, тогда Query Monitor перестанет работать до конца генерации страницы. Он отделяется от дальнейшего сбора данных, отбрасывает все данные, которые он собрал до сих пор, и пропускает вывод своей информации.Это полезно для длительных операций, которые выполняют очень большое количество запросов к базе данных, потребляют много памяти или иным образом не относятся к Query Monitor, например:
- Резервное копирование или восстановление вашего сайта
- Экспорт большого количества данных
- Запуск проверки безопасности
Существуют ли надстройки для Query Monitor?
Список дополнительных модулей для Query Monitor можно найти здесь.
Кроме того, Query Monitor прозрачно поддерживает надстройки для подключаемого модуля панели отладки. Если у вас установлены надстройки Debug Bar, деактивируйте Debug Bar, и надстройки появятся в меню Query Monitor.
Где я могу предложить новую функцию или сообщить об ошибке?
Пожалуйста, используйте средство отслеживания проблем в репозитории Query Monitor на GitHub, так как отслеживать проблемы там проще, чем на форумах поддержки wordpress. org.
Доступен ли Query Monitor в Altis?
Да, инструменты разработчика Altis построены поверх Query Monitor.
Доступен ли Query Monitor на WordPress.com VIP?
Да, но пользователю необходимо предоставить
view_query_monitor
возможность видеть Query Monitor, даже если он является администратором. Более подробную информацию см. в документации WordPress.com VIP.Я использую несколько экземпляров `wpdb`. Как сделать так, чтобы мои дополнительные экземпляры отображались в Query Monitor?
Эта функция была удалена в версии 3.12, поскольку она редко использовалась и значительно увеличивала нагрузку на обслуживание самого Query Monitor. Не стесняйтесь продолжать использовать версию 3.11, если вам нужно использовать эту функцию.
Могу ли я щелкнуть трассировку стека, чтобы открыть файл в моем редакторе?
Да. Вы можете включить это на панели настроек.
Вы принимаете пожертвования?
Я принимаю спонсорскую помощь через программу GitHub Sponsors. Если вы работаете в агентстве, которое разрабатывает WordPress, попросите свою компанию оказать спонсорскую помощь, чтобы инвестировать в ее цепочку поставок. Инструменты, которые я поддерживаю, вероятно, сэкономят время и деньги вашей компании, а спонсорство GitHub теперь может осуществляться на уровне организации.
Кроме того, если вам нравится плагин, я бы хотел, чтобы вы оставили отзыв. Расскажите об этом и всем своим друзьям!
Если бы этого плагина не существовало, его пришлось бы программировать немедленно! Помогает в разработке, отладке, оптимизации и многом другом.
Должен иметь плагин, если вы являетесь разработчиком тем/плагинов. Мне нравятся данные, которые он предоставляет, и то, как его можно использовать для улучшения навыков кодирования.
Очень нравится, это один из моих любимых инструментов при разработке плагинов. Одно предложение, если я его не пропустил, было бы здорово иметь возможность отображать размеры файлов скриптов/стилей в соответствующих списках. Он заслуживает еще большей репутации «универсального отладочного плагина»!
Помог мне найти неприятную маленькую гадость плагина, который работал быстро, когда я его установил, но имел плохой код, который портил мою базу данных и показатели скорости.
Этот плагин работает идеально и экономит много времени на отладку. Это действительно больше, чем его имя. Что касается производительности и проблем с базой данных, это самая подробная и быстрая работа из когда-либо существовавших.
Отличный плагин для отладки
Прочитать все 418 отзывов
«Query Monitor» — это программное обеспечение с открытым исходным кодом. Следующие люди внесли свой вклад в этот плагин.
Авторы
- Джон Блэкборн
3.12.2
- Добавляет общее количество в нижний колонтитул панели PHP Errors
- Улучшает целевой URL для ссылок, указывающих на редактор сайта
- Реализует некоторые незначительные визуальные улучшения
- Удаляет недостоверную информацию о транспорте для запросов HTTP API
- Удаляет выходные данные Query Monitor из временного модального входа в систему
3.
12.1- Исправлены некоторые межпанельные ссылки, указывающие на панель запросов и подпанели
- Переключается на
sessionStorage
для фильтров выбранных столбцов таблицы, чтобы они не сохранялись между вкладками или сеансами - Удаляет префикс «Панель отладки:» в меню для панелей, унаследованных от плагина «Панель отладки»
3.12.0
- Уточняет и улучшает информацию на панели «Шаблон», когда используется блочная тема или полное редактирование сайта (FSE)
- Избегает предупреждений PHP, если сторонний плагин вносит неожиданные изменения в пути к языковым файлам
- Реализованы некоторые незначительные улучшения производительности
- Удаляет вводящую в заблуждение информацию об ограничениях памяти WordPress
- Удаляет поддержку нескольких экземпляров
wpdb
(см. FAQ для получения дополнительной информации)
3.11.2
- Реализует различные улучшения доступности
- Устранена проблема, из-за которой не все сценарии нижнего колонтитула административной области отображались на панели «Сценарии».
- Улучшает вывод при использовании функции SQLite в подключаемом модуле Performance Labs
- Полностью удаляет вывод QM из Customizer
- Гарантирует, что
wp-content/db.php
из другого плагина не будет удален при деактивации QM
3.11.1
- Предотвращает фатальную ошибку в PHP 8, когда
posix_getpwuid()
илиposix_getgrgid()
не возвращает ожидаемое значение.
3.11.0
- Добавляет новую панель «Мультисайт», которая показывает использование
switch_to_blog()
иrestore_current_blog()
в мультисайтовых установках - Улучшен вывод, отображаемый для блоков и частей шаблона, когда используются темы блоков или полное редактирование сайта
- Представляет новый
QM_Data
иКлассы QM_Component
, чтобы сделать сбор данных более структурированным и надежным - Увеличивает минимальную поддерживаемую версию PHP до 7. 2
- Улучшает производительность значков SVG
- Удаляет возможность полностью скрыть заглушенные ошибки PHP
- Избегает некоторых устаревших уведомлений в PHP 8.2
- Повышает производительность автозагрузчика классов PHP
3.10.1
- Предотвращает регистрацию повторяющихся записей для нескольких вызовов для загрузки одного и того же файла перевода
- Возвращает приоритет диспетчера обратно к
9
для максимальной совместимости с другими подключаемыми модулями, которые используют обработчик завершения работы
3.10.0
- Добавляет информацию о текущем языке на панель «Языки»
- Уменьшает вероятность того, что Query Monitor будет обвинять себя в ошибках PHP, которые не имеют трассировки стека.
- Заменяет использование Dashicons встроенными SVG и удаляет зависимость
dashicons
- Переключение на автозагрузку классов через Composer для уменьшения использования памяти
- Изменяет приоритет диспетчера
выключения
с0
наPHP_INT_MAX
, чтобы обеспечить сбор как можно большего количества данных - Улучшает стиль надстроек панели отладки
- Исправлена некоторая ошибочная локализация значений с плавающей запятой в выходных данных REST API.
- Увеличивает минимальную поддерживаемую версию PHP до 5.6
- Улучшает различные другие мелочи
3.9.0
- Представляет переключатель темного режима на панели настроек, который заменяет
QM_DARK_MODE
константа - Предотвращает сообщения об ошибках с неопределенными константами в
db.php
- Добавляет более полную обработку непредвиденных значений в трассировке стека
- Исправлено Предупреждение PHP «Заголовок не может содержать байты NUL» при выводе заголовков
3.8.2
- Исправлены некоторые устаревшие уведомления в PHP 8.1
- Улучшает обработку запросов SQL, состоящих только из комментариев MySQL
3.8.1
- Исправлена несовместимость с версиями PHP до 7.2
- Исправлено предупреждение, которое вызывалось в диспетчере заголовков PHP
- Вводит фильтр
qm/component_type/{$type}
- Вводит константу
QM_VERSION
3.
8.0- Предоставляет третьей стороне возможность прекратить дальнейший сбор и вывод данных в любой момент, вызвав
do_action( 'qm/cease' )
, например, чтобы предотвратить исчерпание памяти во время длительных операций - Уменьшает ширину пункта меню панели инструментов администратора, используя более низкую десятичную точность
- Улучшает информацию на панели шаблонов при использовании темы блока (для полного редактирования сайта)
- Повышает производительность и точность трассировки стека и информации о вызове функции
- Исправлено некоторое форматирование чисел и сообщений об ошибках в выходных данных REST API.
- Добавляет больше полезной информации, когда постоянный кэш объектов или кэш кода операции не используется
- Улучшает четкость на панелях «Сценарии» и «Стили», когда любой из URL-адресов включает номер порта .
- Вводит фильтр
qm/component_context/{$type}
в дополнение кqm/component_name/{$type}
иqm/component_dirs
- Улучшает качество внутреннего кода, интернационализацию и дополнительно снижает общее использование памяти
3.
7.1- Добавить запасной вариант для обработки времени во время запросов Ajax, которые отправляются до
отключение
крючок.
3.7.0
- Ввести выходные данные отладки в свойство
qm
в упакованных ответах REST API - Добавить информацию о вызовах HTTP API на панель обзора
- Не показывать вывод QM внутри встраивания WordPress, так как никто не использует этот
- Не пытайтесь получить доступ к константе
QM_HIDE_SELF
до ее определения - Обрабатывайте статистику времени и памяти как можно раньше, чтобы данные не были слишком искажены
3.6.8
- Добавить статистику использования памяти WordPress на панель обзора
- Добавить информацию о контексте блока на панель блоков
- Исправить подсветку строк ячеек TH
- Исправлены некоторые ошибки изменения размера панели
3.6.7
- Реализовать константу
QM_DB_SYMLINK
для предотвращения размещения символической ссылкиdb. php
. - Удалить зависимость от
SAVEQUERIES
в сборщике запросов. - Удалить недопустимые атрибуты
области
в ячейках таблицы.
3.6.6
- Исправление PHP 8.
- Улучшено отображение различных пустых значений при регистрации.
- Не отображать дочерние меню, пока не будет активно родительское меню. Делает меню более понятным.
- Обнаруживать имена локальных хостов в запросах HTTP API и не помечать их как игнорирующие проверку сертификата.
- Предотвратить выбор текста в кнопках-переключателях при выборе данных в таблицах.
- Удалить поддержку плагина Dark Mode, который больше не является Dark Mode.
3.6.5
- Всегда показывать панель «Журналы» со ссылкой на справочные документы.
- Целая куча улучшений обработки «сломанных» состояний QM.
- Удалите использование устаревших методов jQuery.
- Добавлена поддержка зависимостей Altis в качестве компонентов.
- Добавить переменную
innodb_buffer_pool_size
в список окружения mysql. - Предварительное форматирование вывода регистратора
- Исправлена проверка версии PHP.
3.6.4
- Исправьте ошибку, появившуюся в 3.6.2, с помощью дополнительной ранней обработки ошибок (ирония).
3.6.3
- Исправить размер значка закрытия.
3.6.2
- Захват и отображение самой последней ошибки PHP, произошедшей до загрузки QM.
- Добавлена поддержка типа среды, добавленного в WP 5.5.
- Избегайте потенциально пустого перевода для некоторых форм множественного числа.
- Немного увеличить контраст в темном режиме.
- Объедините разделы, связанные с ответами, на панели запросов.
- Добавлена дополнительная проверка работоспособности при попытке получить информацию о пользователе posix.
3.6.1
- Отрегулируйте нижнее поле, когда панель QM открыта, чтобы QM не закрывал нижнюю часть страницы. Чаще работает, чем нет.
- Запрещает QM запускать фатальную ошибку, если фатальная ошибка возникает до загрузки диспетчера HTML.
- Добавить информационное сообщение в вывод шаблона, когда используются ловушки шаблона.
- Исправление ошибок, вызванных отсутствием идентификаторов пользователей или групп при сборе данных среды.
- Добавить TextMate в список поддерживаемых редакторов.
- Понизить уровень некоторых предупреждений кэша до информационных сообщений.
- Поддержка передачи обратной трассировки в
QM_Backtrace
.
3.6.0
- Улучшения пользовательского интерфейса при возникновении фатальной ошибки, включая предупреждение на панели инструментов администратора.
- Улучшения пользовательского интерфейса, когда QM работает в «сломанном» режиме из-за отсутствия jQuery или неисправимой ошибки JavaScript.
- Не отображать фатальные ошибки, если отображение ошибок отключено и пользователь не может просматривать QM.
- Улучшен внешний вид вывода
wp_die()
. - Упростить повторное создание перехваченного исключения, чтобы QM не винили за фатальные ошибки, например. в основном обработчике фатальных ошибок WordPress.
- Добавлена поддержка регистрации переменной любого типа в регистраторе в качестве замены дампа переменных.
- Не показывать сообщение об ошибках в вызовах Ajax, которые уже произошли при загрузке главной страницы.
- Не отправлять QM во время запроса iframe, например, в модальном окне с информацией о плагине или при обновлении.
- Скрыть сам QM с различных панелей по умолчанию, чтобы убрать шум. Можно управлять с помощью существующей константы конфигурации
QM_HIDE_SELF
. - Добавлена поддержка нового условного выражения
is_favicon()
в WP 5.4. - Исправлена функция изменения размера боковой панели.
- Добавьте команду WP-CLI для создания символической ссылки на файл базы данных.
- Добавьте фильтры в
QM_Util::get_file_dirs()
иget_file_component()
, чтобы обеспечить поддержку нестандартных расположений плагинов и тем. - Добавьте действие, которое срабатывает, когда QM ставит в очередь свои активы, чтобы дополнительные плагины могли ставить в очередь свои активы только при необходимости.
3.5.2
- Добавлена поддержка отображения блоков полного редактирования сайта на панели редактора блоков.
3.5.1
- Отложить заполнение свойства
found_formatted
, поскольку это может сработать до того, как WPML инициализирует свой прокси-сервер локали. Исправления №485. - Убедитесь, что все типы ошибок учитываются при заполнении счетчика ошибок меню панели. Исправления №486.
3.5.0
- Добавьте интерфейс выбора редактора на панель настроек.
- Улучшить вывод отсутствующих зависимостей активов.
- Улучшен вывод неудачных частей шаблона.
- Обработка небулевых констант, таких как
WP_DEBUG_LOG
, который теперь также принимает путь. - Добавлена поддержка сенсорных устройств при изменении размера панели. (Работает нормально, возможно, нужна анимация.)
- Применять одинаковые стили к уведомлениям, устаревшим и строгим ошибкам.
- Еще несколько сбросов стилей для совместимости с популярными темами.
- Изменения стиля, чтобы привести QM в соответствие с улучшенными стилями кнопок и фокуса WP 5.3.
- Дополнительные настройки цветового контраста и темного режима.
- Добавьте фильтры, связанные с постоянными ссылками, к соответствующим фильтрам для панели запросов.
- Исправьте и улучшите цвета при наведении меню панели инструментов администратора.
- Добавить счетчик ошибок в меню панели.
- Удалено ненужное использование форм множественного числа, добавленных в 3.4.0.
- Больше сбросов CSS, чтобы избежать чрезмерно высоких фильтров в Firefox.
- Улучшен стиль строк предупреждений.
- Показать количество журналов в пункте меню.
3.4.0
- Ввести обработчик исключений, чтобы можно было показать трассировку стека для фатальных ошибок в PHP >= 7.
- Добавить отдельное сохранение окна QM для внешнего интерфейса и административной области.
- Добавьте заголовки HTTP запроса и ответа на панель запросов.
- Ввести столбцы «Начато» и «Остановлено» на панели «Время».
- По многочисленным просьбам вернуться к ближайшему первому порядку трассировки стека, чтобы они соответствовали большинству других инструментов разработки.
- Показать дескриптор сценария в дополнение к текстовому домену на панели «Языки».
- Улучшено выделение цветов в меню панели.
- Улучшено представление значений по умолчанию и текущих значений констант настроек.
- Сократите длинные имена хостов на панелях «Сценарии» и «Стили».
- Добавьте еще несколько глобалов экрана администратора в сборщик администратора.
- Вернуться к использованию моноширинного шрифта в числовых ячейках данных.
- Разрешить включение темного режима с помощью
QM_DARK_MODE
. - Отображение общего количества запросов, даже если
SAVEQUERIES
определено как false. - Разрешить использование правильных форм множественного числа везде, где фраза включает числовое значение.
- Больше сброса стилей для совместимости с Twenty Twenty.
- Избегайте деления на ноль, когда число попаданий в кэш равно 0.
- Переключитесь на (в основном) CSS для маркера элемента дочернего меню.
3.3.7
- Выявить случаи, когда запрошенная часть шаблона не была загружена.
- Обновите документы для нескольких экземпляров
wpdb
. - Различные улучшения специальных возможностей.
- Удалите информацию о СУБД, так как она ненадежна.
3.3.6
- Исправлена проблема совместимости, из-за которой QM и защита от фатальных ошибок в WordPress 5. 2+ по-разному обрабатывали синтаксические ошибки.
- Исправлены некоторые ошибки со значками элементов управления панели.
3.3.5
- Добавлена поддержка нового действия
get_template_part
в WP 5.2. - Добавить понятное сообщение об ошибке, когда требования к версии PHP не выполняются.
- Добавлена поддержка новой условной политики конфиденциальности в WP 5.2.
- Добавлена поддержка нового шаблона политики конфиденциальности в WP 5.2.
Мета
- Версия: 3.12.2
- Последнее обновление: 4 дня назад
- Активные установки: 100 000+
- Версия WordPress: 5.2 или выше
- Протестировано до: 6,2
- Версия PHP: 7.2 или выше
- Языки:
голландский, голландский (Бельгия), английский (Австралия), английский (Канада), английский (Новая Зеландия), английский (Южная Африка), английский (Великобритания), английский (США), французский (Канада), французский (Франция) ), немецкий, итальянский, японский, русский, испанский (Чили), испанский (Колумбия), испанский (Эквадор), испанский (Мексика), испанский (Испания), испанский (Венесуэла) и шведский.
Перевести на ваш язык
- Теги:
отладкапанель отладкиразработкапроизводительностьмонитор запросов
- Расширенный вид
Служба поддержки
Проблемы, решенные за последние два месяца:
15 из 26
Посмотреть форум поддержки
Пожертвовать
Хотите поддержать продвижение этого плагина?
Пожертвовать этому плагину
Как использовать Query Monitor – Query Monitor
Установка
Установите и активируйте Query Monitor, как и любой другой плагин WordPress. Вы можете загрузить его здесь, на WordPress.org.
Использование
Когда вы вошли в систему как администратор, вы увидите новый пункт меню в меню панели инструментов администратора:
Цифры вверху показывают по порядку:
- Время создания страницы в секундах
- Пиковое использование памяти
- Общее время выполнения SQL-запросов в секундах
- Общее количество SQL-запросов
Вся информация, отображаемая Query Monitor, относится к текущей загрузке страницы . Историческая информация недоступна (хотя эта функция запланирована в будущей версии).
Щелкните верхнюю часть меню, чтобы открыть панель Обзор
, или щелкните любой элемент меню, чтобы открыть соответствующую панель.
Первоначально вас, вероятно, больше всего заинтересует панель Запросы
, которая показывает все запросы к базе данных, которые были выполнены во время загрузки страницы, и позволяет фильтровать и сортировать их, а также определять, какой компонент отвечает за каждый запрос.
Отладка медленного сайта
Итак, ваш сайт работает медленно, и вы решили установить Query Monitor, чтобы определить причину. Есть несколько панелей, которые вы должны посмотреть в первую очередь.
1. Запросы по компонентам
Панель Запросы -> Запросы по компонентам
показывает сводную информацию о запросах к базе данных, которые выполнялись каждым плагином и темой во время загрузки страницы. Это хороший способ определить плохо работающие темы или плагины.
Эта панель отсортирована по общему времени, затраченному на все запросы, выполненные каждым компонентом. Плагин, который выполняет большое количество запросов или выполняет медленные запросы, увеличивает время загрузки вашего сайта.
2. Вызовы HTTP API
На панели Вызовы HTTP API
отображается информация о HTTP-запросах на стороне сервера, которые были выполнены во время загрузки страницы. Обычно это «невидимые» причины медленного сайта, которые могут возникать спорадически.
Если подключаемый модуль или тема регулярно запускает вызов HTTP API во время загрузки страницы, это увеличивает время загрузки вашего сайта.
3. Кэш объектов
На панели Обзор
отображается информация о нескольких аспектах вашего сайта, одним из которых является кэш объектов. Если у вас нет активного подключаемого модуля постоянного кэширования объектов, Query Monitor покажет вам сообщение.
Подключаемый модуль кэширования объектов значительно повышает производительность за счет кэширования результатов таких операций, как запросы к базе данных, вызовы HTTP API и другие медленные операции. По умолчанию WordPress использует непостоянный кеш объектов, что означает, что повторяющиеся операции при загрузке одной и той же страницы кэшируются, а повторяющиеся операции при загрузке страницы — нет.
Если вы видите сообщение «Внешний кэш объектов не используется», вам следует установить подключаемый модуль кэширования объектов для драйвера, такого как Redis или Memcached, который позволит кэшу объектов сохраняться при загрузке страниц и значительно повысить производительность вашего сайта. . Поговорите с вашим хостинг-провайдером, если вам нужна помощь в этом.
4. Ошибки PHP
Панель Ошибки PHP
появится только в том случае, если какой-либо код, который выполнялся во время загрузки страницы, вызвал ошибку PHP, например уведомление или предупреждение. Если вы видите красную или оранжевую подсветку в меню панели инструментов администратора Query Monitor, это означает, что произошла ошибка, и вы должны исследовать ее.
Код, вызывающий предупреждение
, означает, что код работает не так, как ожидалось, и может вызывать сбои в работе вашего сайта. Вы должны немедленно исследовать предупреждения. Кроме того, предупреждения могут увеличить время загрузки вашего сайта, поскольку каждая ошибка регистрируется вашим сервером.
Код, вызывающий уведомление
, менее критичен, но его все же следует изучить, поскольку он может свидетельствовать о плохо написанном коде. Уведомления могут записываться или не записываться вашим сервером в зависимости от его конфигурации.
5. Скрипты и стили
Если ваш сайт загружает много файлов JavaScript или CSS, это не обязательно замедлит время создания страницы на вашем сервере, но замедлит время загрузки страницы для ваших посетителей.
Панели Скрипты
и Стили
показывают, какие файлы были поставлены в очередь через систему зависимостей WordPress. Если на этих панелях отображается большое количество файлов, вам следует подумать об установке плагина, который минимизирует и объединяет их.
Все остальное
Несмотря на свое название, Query Monitor включает в себя большое количество функций, не связанных с запросами к базе данных.