# Primeiros passos com Real-Time Metrics

Este guia orienta você a ler os seus primeiros números de tráfego em [Real-Time Metrics](/pt-br/documentacao/plataforma/real-time-metrics/), no Azion Console ou com a API GraphQL.

- Leia o total de requisições e o total de dados transferidos das suas aplicações.
- Defina o intervalo de tempo para as últimas 24 horas.
- Restrinja os dois totais a um host.

Real-Time Metrics não cria nada e não há nada para ativar: o produto está ativo em toda conta Azion. Ele lê as métricas que as suas aplicações e outros produtos geram à medida que recebem tráfego e as mostra em gráficos assim que o tráfego chega. Duas coisas estão por trás de cada número desta página:

1. Uma **aplicação** que já atendeu requisições. Essas requisições são os dados.
2. O **dataset** `httpMetrics`, que registra as requisições das suas aplicações. Os gráficos da aba **Applications** e a API GraphQL leem esse dataset, então as duas interfaces retornam os mesmos totais para o mesmo intervalo e o mesmo filtro.

Real-Time Metrics mostra números agregados. Para os logs por trás de cada número, consulte [Real-Time Events](/pt-br/documentacao/plataforma/real-time-events/).

---

Selecione a sua interface uma vez. Os pré-requisitos e cada etapa abaixo mostram apenas esse caminho.

## Pré-requisitos

- Uma conta Azion. Para criar uma, consulte [Criar uma conta](/pt-br/documentacao/fundamentos/criar-uma-conta/).
- Uma [aplicação](/pt-br/documentacao/plataforma/applications/) atendida por um [workload](/pt-br/documentacao/plataforma/workloads/), com requisições nas últimas 24 horas.
- Um host em que o workload responde, como `www.example.com`. Você filtra as métricas por ele.

**Console**

- Acesso ao Azion Console. Para entrar, consulte [Como acessar o Azion Console](/pt-br/documentacao/guias/plataforma/conta-e-billing/como-acessar-o-azion-console/).

**API**

- Um personal token. Para criar um, consulte [Como criar um personal token](/pt-br/documentacao/guias/plataforma/conta-e-billing/personal-tokens/).
- `curl`.

---

## Abra as métricas de requisições das suas aplicações

Sem filtro, Real-Time Metrics conta as requisições e os dados transferidos de todas as aplicações da sua conta.

**Console**

Para ler os dois totais no Azion Console:

1. **Abra Real-Time Metrics**

   Acesse [Azion Console](https://console.azion.com/) > **Real-Time Metrics**.

   A página abre na categoria **Build**, na aba **Applications** e no dashboard **Data Transferred**.

2. **Leia os dados transferidos**

   No gráfico **Edge Cache**, encontre a entrada **Data Transferred Total** na legenda.

3. **Selecione Requests no seletor de dashboards**

4. **Leia a contagem de requisições**

   No gráfico **Total Requests**, encontre a entrada **Edge Requests Total** na legenda.

Os dois gráficos cobrem **Last 5 minutes**, o intervalo com que a página abre. Cada entrada da legenda mostra `<Series> - <total>`, em que o total soma todo o intervalo.

O dropdown de categoria também oferece **Secure** e **Observe**, cada uma com as próprias abas de produto. Para o layout completo, consulte [Filtros e intervalo de tempo](/pt-br/documentacao/plataforma/real-time-metrics/filtros-e-intervalo-de-tempo/#layout-da-tela).

**API**

Para ler os dois totais com a API GraphQL, envie uma requisição `POST` para `https://api.azion.com/v4/metrics/graphql`. A query seleciona `requestsTotal` e `dataTransferredTotal` do dataset `httpMetrics`, e as variáveis definem um intervalo de uma hora.

Substitua `[TOKEN VALUE]` pelo seu personal token e os valores de `begin` e `end` pela hora que você quer ler:

```bash
curl -X POST 'https://api.azion.com/v4/metrics/graphql' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Token [TOKEN VALUE]' \
  -d '{"query":"query TrafficLastHour($begin: DateTime!, $end: DateTime!) { httpMetrics(limit: 1, filter: { tsRange: { begin: $begin, end: $end } }) { requestsTotal dataTransferredTotal } }","variables":{"begin":"2026-01-02T11:00:00","end":"2026-01-02T12:00:00"}}'
```

A API responde `200` com uma linha:

```json
{
  "data": {
    "httpMetrics": [
      {
        "requestsTotal": 0,
        "dataTransferredTotal": 0.0
      }
    ]
  }
}
```

A linha contém os totais do intervalo. Um `0` significa que nenhuma requisição chegou às suas aplicações naquela hora. A API exige um intervalo: uma query sem `tsRange` retorna `400` com `To execute queries it is mandatory to provide the desired time interval.`

Para todos os campos do dataset, consulte [Campos da API GraphQL do Real-Time Metrics](/pt-br/documentacao/devtools/graphql/campos-gql-real-time-metrics/#workloadmetrics).

---

## Defina o intervalo de tempo para as últimas 24 horas

O intervalo de tempo define o período que cada total cobre. Nas duas interfaces, esta etapa lê as mesmas 24 horas.

**Console**

Para definir o intervalo no Azion Console:

1. **Abra o seletor de intervalo de tempo**

   Na linha de filtros, selecione o seletor de intervalo de tempo.

2. **Selecione Last 24 hours**

   Na aba **Quick**, em **Commonly used**, selecione **Last 24 hours**.

3. **Selecione Update**

   Depois que o intervalo muda, o botão **Refresh** ao lado do seletor passa a mostrar **Update**.

Todos os gráficos são recarregados para as últimas 24 horas, e a entrada **Edge Requests Total** da legenda passa a totalizar esse período.

Para um início e um fim personalizados, ou para recarregar os gráficos automaticamente em intervalos fixos, consulte [Filtros e intervalo de tempo](/pt-br/documentacao/plataforma/real-time-metrics/filtros-e-intervalo-de-tempo/#intervalo-de-tempo).

**API**

O filtro `tsRange` define o período com `begin` e `end`. Para ler as últimas 24 horas com a API, envie a mesma query com `begin` 24 horas antes de `end`. O nome da operação diz o que o intervalo cobre:

```bash
curl -X POST 'https://api.azion.com/v4/metrics/graphql' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Token [TOKEN VALUE]' \
  -d '{"query":"query TrafficLast24Hours($begin: DateTime!, $end: DateTime!) { httpMetrics(limit: 1, filter: { tsRange: { begin: $begin, end: $end } }) { requestsTotal dataTransferredTotal } }","variables":{"begin":"2026-01-01T12:00:00","end":"2026-01-02T12:00:00"}}'
```

A API responde `200` com os totais dessas 24 horas:

```json
{
  "data": {
    "httpMetrics": [
      {
        "requestsTotal": 1985,
        "dataTransferredTotal": 149684815.0
      }
    ]
  }
}
```

`requestsTotal` conta as requisições que as suas aplicações atenderam no intervalo. `dataTransferredTotal` está em bytes e soma os dados transferidos de entrada e de saída.

---

## Filtre por um host

Um filtro mantém apenas as requisições que correspondem a ele, e todos os totais acompanham o filtro. Esta etapa mantém as requisições para o host `www.example.com`. Substitua-o por um host em que o seu workload responde.

**Console**

Para filtrar o dashboard no Azion Console:

1. **Adicione um filtro**

   Na linha de filtros, selecione o ícone de filtro, cujo tooltip mostra **Add filter**.

2. **Selecione o campo Host**

   Em **Filter**, selecione **Host**.

3. **Selecione o operador Equals**

   Em **Operator**, selecione **Equals**.

4. **Insira o host**

   Insira `www.example.com` como valor.

5. **Selecione Apply**

Um chip abaixo da linha de filtros mostra `Host equals: www.example.com`. Todos os gráficos passam a mostrar apenas as requisições para esse host, nas últimas 24 horas.

Para filtrar por workload em vez de host, selecione o campo **Domain**, chamado **Workload** em algumas contas, e selecione o workload na lista do campo. Para todos os campos e operadores, consulte [Filtros e intervalo de tempo](/pt-br/documentacao/plataforma/real-time-metrics/filtros-e-intervalo-de-tempo/#filtros).

**API**

Para filtrar com a API, adicione `hostEq` a `filter`, ao lado de `tsRange`. A query mantém o intervalo de 24 horas que você definiu:

```bash
curl -X POST 'https://api.azion.com/v4/metrics/graphql' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Token [TOKEN VALUE]' \
  -d '{"query":"query TrafficForHost($begin: DateTime!, $end: DateTime!) { httpMetrics(limit: 1, filter: { tsRange: { begin: $begin, end: $end }, hostEq: \"www.example.com\" }) { requestsTotal dataTransferredTotal } }","variables":{"begin":"2026-01-01T12:00:00","end":"2026-01-02T12:00:00"}}'
```

A API responde `200` com os totais desse host apenas:

```json
{
  "data": {
    "httpMetrics": [
      {
        "requestsTotal": 982,
        "dataTransferredTotal": 114490585.0
      }
    ]
  }
}
```

Os totais agora contam apenas as requisições para esse host, uma parte dos totais da conta no mesmo intervalo. Para os outros operadores que um filtro aceita, consulte [Queries da API GraphQL](/pt-br/documentacao/devtools/graphql/recursos/#operadores).

---

## Próximos passos

- [Filtros e intervalo de tempo](/pt-br/documentacao/plataforma/real-time-metrics/filtros-e-intervalo-de-tempo.md): Todos os controles acima dos gráficos: presets, atualização automática, fuso horário, operadores e o campo de query.
- [Dashboards de Build](/pt-br/documentacao/plataforma/real-time-metrics/dashboards-build.md): O que cada gráfico dos dashboards de Applications mede e o campo que o retorna.
- [Detalhe as requisições por status code](/pt-br/documentacao/guias/plataforma/observabilidade/detalhar-requisicoes-por-status-code.md): Divida as requisições das suas aplicações pelo status code que elas retornaram.
- [Como Real-Time Metrics funciona](/pt-br/documentacao/plataforma/real-time-metrics/como-funciona.md): O caminho de uma requisição até um gráfico e como o intervalo define a resolução de cada gráfico.
