本文へ移動
Telemetry
API の信頼性 SQL レシピ

ルートごとの API タイムアウト率の計算

リクエスト量と設定されたタイムアウト境界を維持しながら、タイムアウト率によってルートをランク付けします。

初心者api_requestsレビュー済み 2026-07-27テスト済み アパッチ DataFusion 45.2.0

レビュー者 Telemetry 製品チーム . SQL の互換性、イベント コントラクト、合成出力、および操作上の注意事項. 基準と所有権を確認する

質問に回答しました

ユーザーに影響を与えるほど頻繁にタイムアウトになる API ルートはどれですか?

タイムアウトは複数のステータスコードやクライアント切断として現れるため、独立した割合として扱う必要があります.正規化された結果フィールドにより、それらが比較可能になります。

イベント契約

クエリが期待するフィールド

フィールド種類なぜ存在するのか
timestamp_utcTimestampリクエストの完了時間。
route_templateUtf8安定したマッチングルート。
outcomeUtf8成功、エラー、タイムアウト、キャンセル、または rate_limited。
latency_msFloat64観察されたリクエスト期間。
DataFusion SQL

クエリをコピーする

sql
SELECT
  route_template,
  COUNT(*) AS requests,
  SUM(CASE WHEN outcome = 'timeout' THEN 1 ELSE 0 END) AS timeouts,
  100.0 * SUM(CASE WHEN outcome = 'timeout' THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS timeout_rate_pct,
  approx_percentile_cont(latency_ms, 0.95) AS p95_latency_ms
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY route_template
HAVING COUNT(*) >= 50
ORDER BY timeout_rate_pct DESC, requests DESC
LIMIT 20;

この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。

クエリ結果

ルート別のタイムアウト率

レポートのエクスポートには、集計 5xx レートによって隠れる可能性があるタイムアウトの問題があります。

route_templaterequeststimeoutstimeout_rate_pctp95_latency_ms
/api/reports/export780313.9729,400
/api/projects/:id/sync2,410220.918,420
/api/search12,14090.07680

合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。

Timeout rate by route: Calculate API Timeout Rate by Route 結果例からの合成 timeout_rate_pct 値の静的チャート
決定論的な出力例のインデックス可能な SVG。記事、ランブック、または出典を明示した設計レビューのためにダウンロードしてください。

例を再現する

パブリックフィクスチャをダウンロードする

JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。

SQL の仕組み

  1. 1正規化された結果は、サーバーの期限、ゲートウェイのタイムアウト、および処理されたクライアントのタイムアウト パスをキャプチャします。
  2. 2最小リクエストしきい値により、まれに発生するタイムアウトがランキングを独占することがなくなります。
  3. 3タイムアウト率の横にある p95 レイテンシーは、一貫して遅い作業と突然の期限の失敗を区別するのに役立ちます。

決定すべきエッジケース

  • クライアントの切断とサーバーの期限には、異なる結果値が必要になる場合があります。
  • 長時間実行されるエクスポートには、対話型ルートとは異なるサービス目標がある可能性があります。
  • ルートまたは顧客が異なるタイムアウト ポリシーを使用する場合は、設定された期限を記録します。

推奨されるダッシュボード

  • バー: timeout_rate_pct by route_template
  • 傾向: タイムアウト量と p95 レイテンシー
  • 表: 最新のタイムアウトしたリクエストと依存関係およびリリース コンテキスト

アラートガイダンス

ルートが意味のあるリクエスト量でタイムアウト率目標を超過した場合にアラートを送信します。

アラート設定を読む

レシピを活用する

関連する機器とガイド

分析を続ける

実際のイベントで実行する

テーブルを作成し、フィールドを調整して、結果を保存します

無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。

API キーを取得する