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

API エラーバジェット燃焼率の計算

時間ごとのリクエストの失敗を SLO バーンレート系列に変換し、許容されるエラー バジェットがどのくらいの速さで消費されるかを示します。

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

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

質問に回答しました

API は 99.9% の可用性予算をどれくらいの速さで消費していますか?

エラー率は、明示的な信頼性目標と比較すると運用上役立ちます。バーン レートは、現在の不正リクエスト レートを SLO が許可するレートの倍数として表します。

イベント契約

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

フィールド種類なぜ存在するのか
timestamp_utcTimestampリクエストの完了時刻 (UTC)。
status_codeInt64HTTP 応答ステータス コード。
environmentUtf8導入環境。
DataFusion SQL

クエリをコピーする

sql
WITH hourly AS (
  SELECT
    date_trunc('hour', timestamp_utc) AS hour,
    COUNT(*) AS requests,
    SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END) AS bad_requests
  FROM api_requests
  WHERE timestamp_utc >= now() - INTERVAL '24 hours'
    AND environment = 'production'
  GROUP BY date_trunc('hour', timestamp_utc)
)
SELECT
  hour,
  requests,
  bad_requests,
  100.0 * bad_requests / NULLIF(requests, 0) AS error_rate_pct,
  (1.0 * bad_requests / NULLIF(requests, 0)) / 0.001 AS burn_rate
FROM hourly
ORDER BY hour;

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

クエリ結果

時間当たりのエラーバジェット燃焼率

13:00 のバケットは、持続可能なレートの 3.72 倍で予算を消費しました。

hourrequestsbad_requestserror_rate_pctburn_rate
12:0018,42090.050.49
13:0019,110710.373.72
14:0018,780240.131.28

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

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

例を再現する

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

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

SQL の仕組み

  1. 199.9% の成功目標では、0.1% (0.001) の不正リクエスト率が許容されます。
  2. 2観測された比率を 0.001 で割ると、燃焼率が求められます。1 倍は正確に持続可能ですが、3 倍では予算が 3 倍早く消費されます。
  3. 3CTE はリクエストの分母を表示し続けるため、小さなバケットを個別に処理できます。

決定すべきエッジケース

  • ユーザー向け SLI にとってどのステータス コードが不良としてカウントされるかを定義します。すべての 5xx が同じ影響を与えるわけではありません。
  • 運用ページングには、ノイズの多い 1 時間ごとのしきい値の代わりにマルチウィンドウ アラートを使用します。
  • SLO 定義で明示的に除外されている場合にのみ、合成チェックまたは内部トラフィックを除外します。

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

  • トレンド: 時間別 burn_rate
  • 統計: 残りの月間エラー バジェット
  • 表: 最も不正なリクエストに寄与するルート

アラートガイダンス

短い書き込み速度ウィンドウと長い書き込み速度ウィンドウの両方が、意味のある要求量でしきい値を超えた場合にのみページングします。

アラート設定を読む

レシピを活用する

関連する機器とガイド

分析を続ける

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

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

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

API キーを取得する