Consulte as medições do Edge Pulse com GraphQL
Leia as medições de carregamento de página que o Edge Pulse coleta de visitantes reais, por página e por conexão, com o dataset pulseEvents.
Você lê as medições que o Edge Pulse coleta nos browsers de visitantes reais com consultas GraphQL no dataset pulseEvents, pela Azion API. Nenhuma página do Azion Console as exibe em gráficos, e a API REST não tem endpoint do Edge Pulse. Para colocar a tag nas suas páginas primeiro, consulte Primeiros passos com Edge Pulse.
O endpoint GraphQL do Real-Time Events, https://api.azion.com/v4/events/graphql, serve o pulseEvents. Cada registro é uma medição, com o endereço da página em que foi feita e os tempos desse carregamento de página. Uma consulta delimita uma janela de tempo, agrupa os registros e aplica uma função de agregação a um campo em cada grupo.
- A consulta seleciona as medições de uma janela de tempo com
tsRange. - Ela as agrupa por um campo, como
locationhref, o endereço da página. - Ela calcula a média de um campo de tempo, como
pageloadtime, dentro de cada grupo. - A API retorna uma linha por grupo.
Pré-requisitos
- Páginas que carregam a tag do Edge Pulse e recebem visitas. Nada é coletado até que um visitante carregue uma página com a tag. Para os passos, consulte Primeiros passos com Edge Pulse.
- Um personal token, enviado no header
Authorizationcom o esquemaToken. Um headerBearerretorna401. curlou outro cliente HTTP. Para executar as mesmas consultas no GraphiQL, o editor que o endpoint serve a um browser conectado ao Azion Console, consulte Primeiros passos com a GraphQL API.
Os exemplos leem o dia de 2026-10-04T00:00:00 a 2026-10-05T00:00:00 no site https://www.example.com/. Substitua as datas por uma janela dentro dos últimos 7 dias e o endereço por uma página sua.
Calcule a média de um campo de tempo por página
Uma consulta no pulseEvents precisa de uma janela de tempo dentro de filter, e os dois limites usam o mesmo fuso horário. O Real-Time Events mantém um registro por 7 dias, então a janela volta no máximo 7 dias. Sem limit, a API retorna 10 linhas, então limit: 100 mantém todas as páginas de um site com até 100 endereços com a tag. orderBy: [avg_DESC] coloca a página mais lenta primeiro.
Para calcular a média de pageloadtime, o tempo até a página terminar de carregar, de todas as páginas com a tag, envie a consulta ao endpoint de events:
O endpoint retorna HTTP 200. A resposta carrega data.pulseEvents, um array com um objeto por endereço de página que reportou medições na janela, e cada objeto guarda só os campos que a consulta selecionou: locationhref e avg. Uma janela sem medições retorna um array vazio, não um erro.
Uma consulta sem janela de tempo é recusada com HTTP 400:
Cada página com a tag e com visitas na janela tem uma linha, com o tempo médio de carregamento das suas medições. Uma página com a tag, com visitas e sem linha é uma página em que a tag não é executada, porque a tag não reporta erro próprio.
Divida o tempo de carregamento nas suas partes
O argumento aggregate aceita cada função no máximo uma vez por consulta, e cada função recebe um campo. Uma consulta, portanto, calcula a média de um campo de tempo, e cada parte do tempo de carregamento é uma consulta própria. Adicione count: rows à mesma consulta para retornar quantas medições cada média cobre.
Estes campos de tempo usam a mesma consulta no lugar de pageloadtime:
| Campo | O que guarda |
|---|---|
dns | Tempo gasto resolvendo o nome |
tcp | Tempo gasto abrindo a conexão |
ssl | Tempo gasto no handshake TLS |
ttfb | Tempo até a chegada do primeiro byte da resposta |
contentdownload | Tempo gasto baixando o conteúdo |
networkduration | Tempo total da parte de rede da visita |
rendertime | Tempo que o browser gastou renderizando |
Para calcular a média de ttfb por página, com o número de medições por trás de cada média:
Cada objeto de data.pulseEvents carrega locationhref, avg e count. Execute a consulta uma vez por campo para comparar as partes do tempo de carregamento de cada página.
Compare visitantes por conexão ou browser
A mesma consulta pode agrupar as medições por outro campo no lugar da página. effectivetype guarda a classe de conexão que o browser reportou, como 4g, e browser o browser que fez a medição. Um campo em filter sem sufixo compara por igualdade, então locationhref em filter mantém as medições de uma página.
Para calcular a média do tempo de carregamento da página inicial por classe de conexão:
Cada objeto de data.pulseEvents carrega uma classe de conexão, com o tempo médio de carregamento da página inicial e o número de medições nessa classe. Agrupe por browser no lugar de effectivetype para comparar browsers.
O dataset não tem campo de Core Web Vitals, como LCP, CLS ou INP, nem campo para a região ou o país do visitante. Para cada campo que uma consulta pode selecionar, consulte Campos do Real-Time Events.