Rapport de tableau de bord - Requêtes API consolidées

Ceci est une version SQL du rapport de tableau de bord pour les requêtes API consolidées.

Ce rapport présente des statistiques d’utilisation de l’API par date, en suivant à la fois les requêtes API régulières et les requêtes API utilisateur. Ce rapport vous aide à surveiller les modèles d’utilisation de l’API sur votre instance Discourse au fil du temps. Il distingue les requêtes API régulières des requêtes API utilisateur, en affichant les deux séparément ainsi que le total combiné.

Les données proviennent de la table application_requests qui suit différents types de requêtes dans tout le système. Pour l’utilisation de l’API, nous nous concentrons sur les types de requêtes 11 (API régulière) et 12 (API utilisateur).

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

SELECT 
  ar.date,
  -- Requêtes 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,
  -- Requêtes API totales
  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

Paramètres :

  • La requête accepte deux paramètres, :start_date et :end_date, qui définissent la plage de dates pour le rapport. Les deux paramètres de date acceptent le format de date AAAA-MM-JJ.

Résultats

  • date : Date des décomptes de requêtes
  • api : Nombre de requêtes API régulières (req_type = 11)
  • user_api : Nombre de requêtes API utilisateur (req_type = 12)
  • total_api_requests : Somme de toutes les requêtes API

Quelle est la différence entre les requêtes API régulières et les requêtes API utilisateur ?

  • Requêtes API régulières (req_type = 11) : Il s’agit d’appels API effectués vers le système qui ne nécessitent pas d’authentification utilisateur. Ils incluent les points d’accès API publics, les intégrations système ou les services tiers accédant à des données publiques.
  • Requêtes API utilisateur (req_type = 12) : Il s’agit d’appels API effectués avec authentification utilisateur, représentant généralement des actions effectuées au nom d’utilisateurs spécifiques et nécessitant l’utilisation d’une clé API.

Exemple de résultats

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 « J'aime »