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

ルートごとの API リクエスト スループットの計算

安定した API ルートによって 1 分あたりの観察されたリクエストを計算し、スループット以外のエラー量を維持します。

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

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

質問に回答しました

1 分あたり最も多くのリクエストを処理している API ルートはどれですか?

スループットは、ルートの形状と実際に観測された時間を保存する場合に最も役立ちます。このクエリは、ダッシュボード ウィンドウ全体ですべてのルートがアクティブであったと仮定するのではなく、リクエスト量を各ルートの観測されたスパンで除算します。

イベント契約

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

フィールド種類なぜ存在するのか
timestamp_utcTimestampリクエストの完了時刻 (UTC)。
route_templateUtf8境界付きルート テンプレート。生の URL ではありません。
status_codeInt64HTTP の応答ステータス。
environmentUtf8導入環境。
DataFusion SQL

クエリをコピーする

sql
SELECT
  route_template,
  COUNT(*) AS requests,
  SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END) AS errors,
  60.0 * COUNT(*) / NULLIF(
    date_part('epoch', MAX(timestamp_utc) - MIN(timestamp_utc)),
    0
  ) AS requests_per_minute
FROM api_throughput_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
  AND environment = 'production'
GROUP BY route_template
ORDER BY requests_per_minute DESC, route_template;

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

クエリ結果

ルートごとに観測されたリクエストのスループット

検索では、観測されたリクエスト レートが最も高く、調査のための 5xx レスポンスもあります。

route_templaterequestserrorsrequests_per_minute
/api/search610.2
/api/checkout400.13

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

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

例を再現する

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

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

SQL の仕組み

  1. 1制御されたルート テンプレートでグループ化すると、リソース識別子またはクエリ文字列ごとに 1 つのシリーズが回避されます。
  2. 2分母には各ルートの観測されたスパンが使用されます。これは、ルックバック ウィンドウ全体で割るよりも、まばらなルートの場合に安全です。
  3. 3エラー数は結果に残るため、トラフィックの急増と信頼性を同じ粒度で比較できます。

決定すべきエッジケース

  • 生産チャートの場合は、完全な固定時間バケットに集計して、隣接する期間を直接比較できるようにします。
  • リクエストが 1 つあるルートには観測されたスパンがありません。 NULLIF はレートを作成する代わりに null を返します。
  • 顧客の需要を歪める可能性がある場合は、内部ヘルスチェックと合成トラフィックを分離します。

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

  • 傾向: 5 分間のバケット全体における 1 分あたりのリクエスト数
  • バー: requests_per_minute by route_template
  • オーバーレイ: エラー率と展開マーカー

アラートガイダンス

単一の大量ルートではなく、レビューされたベースラインからの持続的な逸脱に対してアラートを発します。

アラート設定を読む

レシピを活用する

関連する機器とガイド

分析を続ける

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

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

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

API キーを取得する