Server-Timing Inspect

Server-Timing の指標をブラウザ内で整理し、どのレイヤーが遅いかを短時間で把握します。入力はサーバーへ送信しません。

状態

ブラウザ内で処理します。入力はサーバーへ送信しません。

使い方

Server-Timing を貼り付けて「解析」。メトリクスごとの dur/desc を表示します。

注意(このツール)

  • Server-Timing: のヘッダー行でも、値のみでも解析できます。

このページについて

何をするツール?

Server-Timing ヘッダーをメトリクス単位に分割し、`dur`(時間)や `desc`(説明)を読みやすく表示します。

複数メトリクスが並ぶ応答で、遅延要因の候補を短時間で特定する用途に向きます。

使いどころ

  • API応答遅延時に、DB/APP/CDN どこで時間を使っているか確認したい
  • Server-Timing の導入後に、値フォーマットが正しいか点検したい
  • 性能改善前後で、個別メトリクスの変化を比較したい

構文の基本

  • メトリクスはカンマ区切りで並びます。
  • 各メトリクスは `name;dur=12.3;desc="db"` の形式で表現されます。
  • `dur` は通常ミリ秒として扱われます。

診断フロー(推奨)

  • レスポンスヘッダーから Server-Timing を貼り付ける
  • 各メトリクスの dur を見て、上位2〜3件を重点調査する
  • 該当レイヤー(DBクエリ、外部API、テンプレート描画)に掘り下げる

よくある失敗

  • 同じ name のメトリクスを重複出力して比較しにくくなる
  • dur 単位を混同(ms想定なのに秒で出力)
  • 本番で詳細すぎる desc を返して内部情報を漏らす

このツールでできること

  • メトリクス分解(name/dur/desc/parameters)
  • dur 合計の簡易確認
  • 解析結果のコピー

注意(運用)

  • Server-Timing は観測値です。最終判断はAPM/トレースと合わせて行ってください。
  • キャッシュヒット時はサーバー処理が短く見えるため、キャッシュ状態を分けて比較してください。

参照仕様

  • W3C Server Timing
  • MDN: Server-Timing

FAQ

dur の単位は必ず ms ですか?

一般にミリ秒として扱われます。実装側で単位を統一し、チームで解釈を固定してください。

どこまで細かく出すべき?

運用初期は粗く(DB/API/APP)始め、必要な箇所だけ詳細化すると管理しやすいです。

参考リンク

  1. W3C: Server Timing
  2. MDN: Server-Timing

site_map ルールに基づいて、次に確認すべきページを表示しています。

  1. Response Headers Parser — レスポンスヘッダーを構造化解析
  2. Cache Response Analyzer — レスポンスヘッダーからキャッシュ可否を判定
  3. Content-Encoding Inspect — Content-Encoding を解析して実際の圧縮方式を確認
  4. Transfer-Encoding Inspect — Transfer-Encoding を解析して転送方式を確認
  5. Content-Length Inspect — Content-Length を解析してサイズ整合を確認
  6. HTTP Status Inspect — HTTPステータスコードを解析して対処方針を確認
  7. 429/503で再試行が止まらない時の診断手順 — Retry-After の秒/日時解釈とクライアント実装差を切り分け、過剰再試行を抑える
  8. Response Headers系ツールの使い分け — Retry-After / Server-Timing / Link / Content-Type / nosniff を症状別に切り分ける

レスポンスヘッダー診断

生ヘッダーから Retry-After / Server-Timing / Link / Content-Type を段階的に解析

Example

Server-Timing: db;dur=53.2;desc="db query", app;dur=12.1, edge;desc="cdn"