Query Monitor

説明

Query Monitor は WordPress 開発者向けのツールパネルです。データベースクエリ、PHP エラー、フックとアクション、ブロックエディターのブロック、読み込まれた JavaScript とスタイルシート、HTTP API 呼び出しなどがデバッグ可能になります。

さらに上級者向けの機能として、Ajax 呼び出し、REST API 呼び出し、ユーザー権限チェックなどのデバッグも可能です。それぞれの出力がどのテーマやプラグインからされているのかを絞り込んだり、どのプラグイン、テーマ、関数が悪いパフォーマンスを出しているのかを素早く突き止めることができます。

Query Monitor は役立つ情報を見せることに注力しており、たとえばデータベースクエリーはプラグイン、テーマ、関数ごとにグループ分けして表示されます。管理バーに現在のページの概要を表示し、メニュー項目を選択すれば完全なデバッグ情報が表示されます。

より詳しい情報は、Query Monitor のサイトを見てください。

それぞれのページ読み込みで表示される概要はこちらです:

  • データベースクエリー、遅いクエリー、重複クエリー、エラーのあるクエリー。クエリーの種類 (SELECT, UPDATE, DELETE など)、関連するコンポーネント (プラグイン、テーマ、WordPress コア)、呼び出している関数、そしてそれぞれを組み合わせフィルタリングも可能。
  • テンプレートファイル名、完全なテンプレート階層、使用されたすべてのテンプレートパーツの名前。
  • PHPエラーとその関連するコンポーネント、コールスタック、警告を管理バーに表示。
  • WordPress 5.0 以上または Gutenberg プラグインを使っている場合はブロックと投稿本文に含まれる関連プロパティー。
  • 一致するリライトルール、関連するクエリー文字列とクエリー変数。
  • 読み込まれた JavaSrcript とスタイルシート、その依存関係および壊れてしまった依存関係についての警告。
  • 言語設定とそれぞれのテキストドメインで読み込まれた翻訳ファイル (MO ファイル)。
  • レスポンスコード付きの HTTP API リクエスト、関連するコンポーネント、所要時間、失敗あるいはエラーのあるリクエストだった場合の警告。
  • ユーザーの権限チェックとその結果、権限チェックに渡されたあらゆる変数。
  • PHP、データベース、WordPress、Web サーバーに関する詳細な環境情報。
  • is_single(), is_home() のような WordPress 条件分岐関数の値。
  • 更新された Transient。

おまけ:

  • リダイレクトが起きると Query Monitor はコールスタックを含んだ HTTP ヘッダーを追加するので、お好きな HTTP インスペクターやブラウザーの開発者ツールでリダイレクトを発生させたものをトレースすることができます。
  • ページ内で jQuery から実行された Ajax リクエストのレスポンスはヘッダーに様々なデバッグ情報を含んでいます。PHP エラーもデヴェロッパーコンソールに出力されます。
  • 認証されたユーザーが Query Monitor の出力を見る権限を持つ場合、WordPress REST API への認証済みリクエストはヘッダーに様々なデバッグ情報を含みます。

初期設定だと、Query Monitor の出力はシングルサイトで管理者、マルチサイトで特権管理者にだけ表示されます。

さらに、ログインしていないとき (もしくは管理者以外でログイン中のとき) でも Query Monitor の出力を見ることができるよう認証用の Cookie を設定することができます。詳しくは設定パネルを見てください。

プライバシー声明

Query Monitor は収集する情報を永続的に保存することはありません。サードパーティーにデータを送りませんし、サードパーティーのリソースも含みません。

Query Monitor のプライバシー声明の全文はこちらで読むことができます

スクリーンショット

  • 管理バーのメニュー
  • コンポーネントごとにデータベースクエリーを集計
  • 権限チェック
  • データベースクエリー
  • フックとアクション
  • HTTP API リクエスト
  • 関数からの呼び出しごとにまとめられたデータベースクエリー

FAQ

Query Monitor の出力は誰が閲覧できますか。

初期設定だと、Query Monitor の出力はシングルサイトで管理者、マルチサイトで特権管理者にだけ表示されます。

さらに、ログインしていないとき (もしくは管理者以外でログイン中のとき) でも Query Monitor の出力を見ることができるよう認証用の Cookie を設定することができます。詳しくは設定パネルを見てください。

Query Monitor 自体はページの生成時間やメモリー消費に影響を与えますか?

簡潔に言うと、そうですが、少しだけです。

長い回答: Query Monitor はページの生成時間にわずかな影響しか与えません。他のプラグイン同様、WordPress のフックを利用しているからです。サイトの複雑さにもよりますが、概ね 10ms から 100ms の間といった、わずかな影響しか与えません。

Query Monitor のメモリ使用量は概ねページ生成に使用されるメモリの 10% です。

Query Monitor のアドオンプラグインはありますか。

Query Monitor のアドオンプラグインのリストはこちらです。

さらに、Query Monitor は Debug Bar プラグインのアドオンを透過的にサポートしています。Debug Bar のアドオンがインストールされている場合、Debug Bar を無効化するだけで Query Monitor にそのアドオンの情報が表示されます。

新機能の提案やバグレポートはどこで受け付けていますか。

wordpress.org のサポートフォーラムではなく、Query Monitor の GitHub リポジトリにあるイシュートラッカーを使ってください。その方がイシューの進捗を追いかけるのに適しています。

Query Monitor は WordPress.com VIP Go でも使えますか?

もちろん! vip-config/vip-config.php ファイルに define( 'WPCOM_VIP_QM_ENABLE', true ); を追加するだけです。

`wpdb` のインスタンスを複数利用しています。追加したインスタンスの情報を Query Monitor に表示するにはどうしたらよいですか?

qm/collect/db_objects フィルターにフックをかけ、接続名をキーに、wpdb インスタンスを値に持つ項目を配列に追加する必要があります。そうすると、wpdb インスタンスのクエリの時間と数が管理バーのメニューに別のパネルとして表示されます。統計情報 (呼び出し元とコンポーネントごとのクエリ) は分けて表示されません。

スタックトレースをクリックして私のエディターでファイルを開くことはできますか?

はい! クリッカブル・スタックトレースを有効にするだけです。

寄付を受け付けていますか。

いいえ、寄付は受け付けていません。このプラグインがお気に召したのなら、レビューを残してください。お友達にも伝えてくださいね!

評価

Speechless

This is the first time I write a review for a plugin. One word: WOW! This plugin is amazing. It is not for the end-user, it is targeted more to (or at least, it is most useful to:) developers. The attention to details is amazing. One of the greatest plugins WordPress has to offer. As I said, if you are a site owner, this plugin is probably not for you.

Extremely helpful

I've been really impressed by this plugin. It's helped me debug several severe performance issues for clients, all of which would have taken hours to find by hand.
307件のレビューをすべて表示

貢献者と開発者

Query Monitor はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“Query Monitor” は11ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“Query Monitor” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

Query Monitor の変更履歴は、GitHub のリリースページをご覧ください。