Skip to content

SC-011 日別記事パフォーマンス計測ショートコード

概要

  • DailyArticleTemplateController の実行をプロファイリングし、クエリ数・実行時間・メモリ使用量・出力長・遅いクエリ TOP 5 を HTML で表示する開発・管理者向けショートコード。
  • 管理者(manage_options)またはローカル環境以外では空文字を返す(一般ユーザーへの誤表示防止)。
  • 同機能の REST API エンドポイント(GET /wp-json/daily-article/v1/performance-measurement)も PerformanceMeasurementHandler が提供する。

外部インターフェース

ショートコードタグ

  • タグ名: [daily_article_performance]
  • 入力例: [daily_article_performance date="20240101" halls="アイランド秋葉原,エスパス秋葉原"]

属性一覧

属性役割必須
date計測対象日(YYYYMMDD / YYYY-MM-DD 等。省略時は最新日付を使用)
halls計測対象ホール(カンマ区切り。省略時: アイランド秋葉原,エスパス秋葉原

REST API エンドポイント(PerformanceMeasurementHandler

項目
メソッドGET
パス/wp-json/daily-article/v1/performance-measurement
権限manage_options または ローカル環境

クエリパラメータ

パラメータ役割必須
date計測対象日(YYYY-MM-DD 形式。省略時は最新日付)
halls計測対象ホール(カンマ区切り。省略時: アイランド秋葉原,エスパス秋葉原

レスポンス(200 OK)

json
{
  "success": true,
  "parameters": { "date": "2024-01-01", "halls": "アイランド秋葉原,エスパス秋葉原" },
  "performance": {
    "query_count": 42,
    "execution_time": 0.1234,
    "memory_usage": 1048576,
    "memory_usage_mb": 1.0,
    "top_5_queries": [ ... ]
  },
  "output_length": 12345
}

top_5_queriesmanage_options またはローカル環境のみ含まれる。

エラー

条件ユーザー向け挙動メッセージ / ログ
非管理者かつ非ローカル環境(ショートコード)空文字を返す(表示なし)
\Exception(ショートコード)エラー内容を記した赤枠 div を表示error_log(先頭 [PerformanceMeasurement Shortcode]
dateYYYY-MM-DD 形式でない(REST){"success": false, "error": {"message": "..."}} / HTTP 400Messages::DATE_FORMAT_INVALID
\Exception(REST){"success": false, "error": {"message": "..."}} / HTTP 500error_log(先頭 [PerformanceMeasurementHandler])+ Messages::INTERNAL_ERROR

更新不可とみなすもの(git管理外の内容に依存し、リポジトリだけでは追従できない依存)

  • ショートコード名 daily_article_performance を変更しない
    • 理由: 既存投稿本文にショートコードタグが直書きされているため
  • 属性名 date / halls を変更しない
    • 理由: 既存投稿本文に属性名が直書きされているため
  • REST パス /wp-json/daily-article/v1/performance-measurement を変更しない
    • 理由: 外部ツール・ブックマーク等から直接叩かれている可能性があるため