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

ルート別のAPIエラー率の計算

API ルートを 5xx エラー率で順位付けします。1 件の失敗が結果を大きく左右しないよう、リクエストが 20 件未満のルートを除外します。

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

レビュー者 Telemetry 製品チーム に . SQL構文、必要なイベント項目、サンプル結果、クエリの利用上の制限を確認しました. このページのレビュー担当

質問に回答しました

リクエストが 20 件以上ある API ルートのうち、5xx エラー率が最も高いのはどれですか?

エラー数は混雑しているルートを優先します。エラー率はリクエストの量によって失敗を正規化しますが、最小量のしきい値により、めったに使用されないエンドポイントでの 1 つの失敗がリストを独占することがなくなります。

イベントスキーマ

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

フィールド種類なぜ存在するのか
timestamp_utcTimestampリクエストが完了すると、UTC に正規化されます。
route_templateUtf8/api/projects/:id などの安定したルート形状。
status_codeInt64HTTP 応答ステータス コード。
latency_msFloat64リクエストの継続時間 (ミリ秒単位)。
DataFusion SQL

クエリをコピーする

sql
SELECT
  route_template,
  COUNT(*) AS requests,
  SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END) AS errors,
  100.0 * SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS error_rate_pct
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY route_template
HAVING COUNT(*) >= 20
ORDER BY error_rate_pct DESC
LIMIT 10;

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

クエリ結果

ルート別の 5xx エラー率

チェックアウトは 25 件中 5 件のリクエストで失敗しました。検索は 25 件中 1 件でした。

route_templaterequestserrorserror_rate_pct
/api/checkout25520
/api/search2514
/api/profile2000

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

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

例を再現する

サンプルデータをダウンロードする

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

SQL の仕組み

  1. 1CASE 式は、同じグループ内の合計リクエスト数を保持しながら、5xx ステータスの応答のみをカウントします。
  2. 2NULLIF はゼロによる除算を防ぎます。 HAVING 句は、リクエストが 20 件未満のルートを除外します。このルートでは、1 つのエラーによって割合が不安定になります。
  3. 3識別子によって 1 つのエンドポイントが数千のグループに分割されないように、生の URL ではなくルート テンプレートを使用します。

確認するエッジケース

  • トラフィックに一致する最小リクエストしきい値を選択します。 20 件のリクエストは例示的なものであり、普遍的なものではありません。
  • API がワークフロー制御に意図的に使用する場合、予想される 5xx 応答をインフラストラクチャ障害から分離します。
  • 環境ごとにセグメント化するため、トラフィックのステージングによって生産速度が変化することはありません。

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

  • 棒グラフ: error_rate_pct by route_template
  • 統計: 選択した期間内の合計 5xx 件の応答
  • 表: request_id および error_type で失敗した最新のリクエスト

アラートガイダンス

評価ウィンドウ内に少なくとも 100 件のリクエストがあるルートで error_rate_pct が 2% を超えるとアラートが表示されます。

アラート設定を読む

このクエリに必要なイベントを設定する

関連する機器とガイド

分析を続ける

自分のイベントで実行する

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

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

API キーを取得する