Encontre os valores mais frequentes com GraphQL
Classifique os valores de um campo de requisição, como as URIs mais requisitadas, contando os registros brutos do endpoint de eventos da GraphQL API.
Você pode classificar os valores de um campo de requisição pelo número de requisições que carregam cada valor, como as URIs mais requisitadas. A query da GraphQL API conta os registros brutos de requisição do endpoint de eventos. Para acompanhar uma medida ao longo do tempo, consulte Consulte dados agregados com GraphQL.
Pré-requisitos
- Um personal token. Para criar um, consulte Personal tokens.
- Uma ferramenta que envie uma query GraphQL, como um cliente HTTP ou o GraphiQL Playground. Para a configuração, consulte Primeiros passos com a GraphQL API ou Execute queries GraphQL no Postman.
- Uma aplicação que recebeu requisições nos últimos sete dias. O endpoint de eventos guarda os registros por cerca de sete dias.
Classifique as URIs mais requisitadas
A query conta os registros de workloadEvents, um registro por requisição, para cada valor de requestUri. Depois, retorna os cinco valores com a maior contagem. Para executá-la:
Envie uma requisição POST para https://api.azion.com/v4/events/graphql com o header Authorization: Token [TOKEN VALUE]. O endpoint de métricas não atende workloadEvents e retorna 400 com Cannot query field "workloadEvents" on type "Query".
Cole a query no corpo da requisição. Altere tsRange para uma janela dentro dos últimos sete dias:
Cada argumento faz uma parte da classificação:
| Argumento | O que faz |
|---|---|
filter com tsRange | Define a janela de tempo. Um filtro de tempo é obrigatório: tsRange, ou tsGt e tsLt. Sem ele, a API retorna 400 com To execute queries it is mandatory to provide the desired time interval. |
aggregate com count: requestUri | Conta os registros. O resultado volta no campo count. |
groupBy: [requestUri] | Retorna uma linha por valor de requestUri. Sem groupBy, a agregação retorna uma linha com o total da janela inteira. |
orderBy: [count_DESC] | Ordena as linhas da maior contagem para a menor. |
limit: 5 | Mantém as cinco primeiras linhas. |
A API retorna um objeto por URI, com a sua contagem de requisições. Esta resposta está cortada depois da terceira das suas cinco linhas:
A primeira linha da resposta contém a URI mais requisitada na janela.
Classifique outro campo
A mesma query classifica qualquer campo que workloadEvents aceita em groupBy. Para os 10 hosts mais frequentes, substitua requestUri por host em aggregate, em groupBy e nos campos selecionados, e defina limit: 10. Para os códigos de status mais frequentes, use status da mesma forma.
Os campos de workloadEvents estão listados em Campos do Real-Time Events. Os outros datasets brutos do endpoint de eventos estão em Datasets e argumentos de query.