Relatório do Painel - Requisições Consolidadas da API

Este é um relatório de painel em SQL para solicitações de API consolidadas.

Este relatório mostra estatísticas de uso da API por data, rastreando tanto as solicitações de API regulares quanto as solicitações de API de usuário. Este relatório ajuda você a monitorar os padrões de uso da API em sua instância do Discourse ao longo do tempo. Ele distingue entre solicitações de API regulares e solicitações de API de usuário, mostrando ambas separadamente, juntamente com a contagem total combinada.

Os dados são provenientes da tabela application_requests, que rastreia diferentes tipos de solicitação em todo o sistema. Para uso da API, focamos nos tipos de solicitação 11 (API regular) e 12 (API de usuário).

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

SELECT 
  ar.date,
  -- API requests
  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,
  -- Total API requests
  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

Parâmetros:

  • A consulta aceita dois parâmetros, :start_date e :end_date, que definem o intervalo de datas para o relatório. Ambos os parâmetros de data aceitam o formato de data AAAA-MM-DD.

Resultados

  • date: Data das contagens de solicitação
  • api: Contagem de solicitações de API regulares (req_type = 11)
  • user_api: Contagem de solicitações de API de usuário (req_type = 12)
  • total_api_requests: Soma de todas as solicitações de API

Qual é a diferença entre solicitações de API regulares e de usuário?

  • Solicitações de API regulares (req_type = 11): Estas são chamadas de API feitas ao sistema que não exigem autenticação de usuário. Elas incluem endpoints de API públicos, integrações de sistema ou serviços de terceiros acessando dados públicos.
  • Solicitações de API de usuário (req_type = 12): Estas são chamadas de API feitas com autenticação de usuário, representando tipicamente ações realizadas em nome de usuários específicos e exigindo o uso de uma chave de API.

Resultados de Exemplo

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 curtidas