ダッシュボードレポート - 統合APIリクエスト

これは、統合されたAPIリクエストのダッシュボードレポートのSQLバージョンです。

このレポートは、通常のAPIリクエストとユーザーAPIリクエストの両方を追跡し、日付ごとのAPI使用状況の統計を表示します。これにより、DiscourseインスタンスでのAPI使用パターンの経時的な監視に役立ちます。通常のAPIリクエストとユーザーAPIリクエストを区別し、両方を個別に表示するとともに、合計のカウントも示します。

データは、システム全体のさまざまなリクエストタイプを追跡するapplication_requestsテーブルから取得されます。API使用状況については、リクエストタイプ11(通常API)と12(ユーザーAPI)に焦点を当てます。

-- [params]
-- date :start_date = 2023-01-01
-- date :end_date = 2025-12-31

SELECT
  ar.date,
  -- APIリクエスト
  SUM(CASE WHEN ar.req_type = 11 THEN ar.count ELSE 0 END) AS api,
  SUM(CASE WHEN ar.req_type = 12 THEN ar.count ELSE 0 END) AS user_api,
  -- 合計APIリクエスト
  SUM(CASE WHEN ar.req_type IN (11, 12) THEN ar.count ELSE 0 END) AS total_api_requests
FROM
  application_requests ar
WHERE
  ar.date BETWEEN :start_date AND :end_date
GROUP BY
  ar.date
ORDER BY
  ar.date DESC

パラメータ

  • このクエリは、レポートの日付範囲を定義する:start_date:end_dateの2つのパラメータを受け入れます。両方のdateパラメータは、YYYY-MM-DDの日付形式を受け入れます。

結果

  • date: リクエストカウントの日付
  • api: 通常のAPIリクエストのカウント(req_type = 11)
  • user_api: ユーザーAPIリクエストのカウント(req_type = 12)
  • total_api_requests: すべてのAPIリクエストの合計

通常のAPIリクエストとユーザーAPIリクエストの違いは何ですか?

  • 通常のAPIリクエスト(req_type = 11): これらは、ユーザー認証を必要としないシステムへのAPI呼び出しです。これには、公開APIエンドポイント、システム統合、または公開データにアクセスするサードパーティサービスが含まれます。
  • ユーザーAPIリクエスト(req_type = 12): これらは、ユーザー認証を伴って行われるAPI呼び出しであり、通常は特定のユーザーに代わって実行されるアクションを表し、APIキーのユーザーが必要です。

結果例

date api user_api total_api_requests
2023-09-15 34,582 7,249 41,831
2023-09-14 32,104 6,893 38,997
2023-09-13 33,756 7,122 40,878
2023-09-12 35,122 8,562 43,684
2023-09-11 36,475 9,234 45,709
2023-09-10 12,563 3,298 15,861
2023-09-09 10,782 2,982 13,764
2023-09-08 33,892 7,456 41,348
2023-09-07 31,765 7,120 38,885
2023-09-06 32,451 7,321 39,772
「いいね!」 6