---
name: azion-encontre-os-valores-mais-frequentes-com-graphql
description: >-
  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.
---

# Encontre os valores mais frequentes com GraphQL

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](/pt-br/documentacao/devtools/graphql/visao-geral/) 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](/pt-br/documentacao/guias/plataforma/observabilidade/graphql-dados-agregados/).

---

## Pré-requisitos

- Um personal token. Para criar um, consulte [Personal tokens](/pt-br/documentacao/guias/plataforma/conta-e-billing/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](/pt-br/documentacao/devtools/graphql/primeiros-passos/) ou [Execute queries GraphQL no Postman](/pt-br/documentacao/guias/plataforma/observabilidade/consultar-graphql-postman/).
- Uma [aplicação](/pt-br/documentacao/plataforma/applications/) 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:

1. **Direcione a requisição ao endpoint de eventos**

   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".`

2. **Adicione a query**

   Cole a query no corpo da requisição. Altere `tsRange` para uma janela dentro dos últimos sete dias:

   ```graphql
   query EventsTopUri {
    workloadEvents(
      limit: 5,
      filter: {
        tsRange: {begin:"2026-09-26T14:00:00", end:"2026-10-03T14:00:00"}
      },
      aggregate: {count: requestUri}
      groupBy: [requestUri]
      orderBy: [count_DESC]
      )
    {
      requestUri
      count
    }
   }
   ```

   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.                                                                                                                                                                      |

3. **Envie a requisição**

   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:

   ```json
   {
     "data": {
       "workloadEvents": [
         {
           "requestUri": "/get",
           "count": 619
         },
         {
           "requestUri": "/en/documentation/",
           "count": 328
         },
         {
           "requestUri": "-",
           "count": 284
         },
         …
       ]
     }
   }
   ```

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](/pt-br/documentacao/devtools/graphql/campos-gql-real-time-events/). Os outros datasets brutos do endpoint de eventos estão em [Datasets e argumentos de query](/pt-br/documentacao/devtools/graphql/recursos/).

---

## Próximos passos

- [Consulte dados agregados com GraphQL](/pt-br/documentacao/guias/plataforma/observabilidade/graphql-dados-agregados.md): Some uma medida por bucket de tempo a partir do endpoint de métricas.
- [Encontre os principais ataques com GraphQL](/pt-br/documentacao/guias/plataforma/observabilidade/consultar-top-attacks-com-graphql.md): Classifique os ataques que o WAF encontrou no seu tráfego.
- [Encontre os IPs por trás do tráfego de ataque](/pt-br/documentacao/guias/plataforma/observabilidade/consultar-top-ips-gerando-trafego-de-ataque-com-graphql.md): Conte as requisições de cada endereço de cliente que corresponderam ao WAF.
- [Queries](/pt-br/documentacao/devtools/graphql/queries.md): Compare os formatos de query de dados brutos, agregados, financeiros e de uso.
