Report Dashboard - Richieste API consolidate

Questa è una versione SQL del Report Dashboard per le Richieste API consolidate.

Questo report mostra le statistiche di utilizzo dell’API per data, monitorando sia le richieste API regolari che le richieste API utente. Questo report ti aiuta a monitorare i pattern di utilizzo dell’API sulla tua istanza Discourse nel tempo. Distingue tra richieste API regolari e richieste API utente, mostrando entrambe separatamente insieme al conteggio totale combinato.

I dati provengono dalla tabella application_requests che tiene traccia di diversi tipi di richieste in tutto il sistema. Per l’utilizzo dell’API, ci concentriamo sui tipi di richiesta 11 (API regolare) e 12 (API utente).

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

SELECT 
  ar.date,
  -- Richieste 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,
  -- Richieste API totali
  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

Parametri:

  • La query accetta due parametri, :start_date e :end_date, che definiscono l’intervallo di date per il report. Entrambi i parametri di data accettano il formato data AAAA-MM-GG.

Risultati

  • date: Data dei conteggi delle richieste
  • api: Conteggio delle richieste API regolari (req_type = 11)
  • user_api: Conteggio delle richieste API utente (req_type = 12)
  • total_api_requests: Somma di tutte le richieste API

Qual è la differenza tra richieste API regolari e richieste API utente?

  • Richieste API regolari (req_type = 11): Queste sono chiamate API effettuate al sistema che non richiedono l’autenticazione dell’utente. Includono endpoint API pubblici, integrazioni di sistema o servizi di terze parti che accedono a dati pubblici.
  • Richieste API utente (req_type = 12): Queste sono chiamate API effettuate con l’autenticazione dell’utente, rappresentano tipicamente azioni eseguite per conto di utenti specifici e richiedono l’uso di una chiave API.

Risultati di esempio

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 Mi Piace