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_datee:end_date, que definem o intervalo de datas para o relatório. Ambos os parâmetros de data aceitam o formato de dataAAAA-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 |