---
name: azion-configure-sampling-em-um-stream
description: >-
  Envie uma parte dos eventos de um stream com o sampling do Data Stream, no Azion Console ou com a Azion API, e verifique quais streams ficam ativos.
---

# Configure sampling em um stream

Você pode configurar o sampling em um stream do [Data Stream](/pt-br/documentacao/plataforma/data-stream/) pelo Azion Console ou com a Azion API. Para limitar um stream aos workloads que você escolher, o que mantém os outros streams ativos, consulte [Associe workloads a um stream](/pt-br/documentacao/guias/plataforma/observabilidade/data-stream-associar-workloads/).

O sampling envia uma porcentagem dos eventos que um stream coleta, escolhidos aleatoriamente. Uma taxa menor reduz o volume, e o custo, dos dados que você coleta e analisa. Um stream com sampling cobre todos os workloads da conta, incluindo os workloads criados depois. Para os limites de cada campo, consulte [Configurações do stream](/pt-br/documentacao/plataforma/data-stream/configuracoes-do-stream/#transform).

> **Atenção**
>
> Salvar um stream ativo com sampling desativa todos os outros streams da conta, em qualquer taxa, incluindo `100`. A API não retorna erro nem aviso. Para executar vários streams ao mesmo tempo, dê a cada um deles um filtro de workloads em vez de sampling.

---

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

## Pré-requisitos

- Um stream na sua conta Azion. Para criar um, consulte [Primeiros passos do Data Stream](/pt-br/documentacao/plataforma/data-stream/primeiros-passos/).
- A permissão **Edit Data Stream**. Para mais informações, consulte [Configurações do stream](/pt-br/documentacao/plataforma/data-stream/configuracoes-do-stream/#permissoes).

**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/).
- Uma conta com menos de 3.000 workloads. Com 3.000 workloads ou mais, o Console bloqueia os formulários de stream e você gerencia os streams apenas pela API.

**API**

- Um [personal token](/pt-br/documentacao/guias/plataforma/conta-e-billing/personal-tokens/) e `curl`.
- O ID do stream e o ID do template dele. A resposta da listagem de `GET /v4/workspace/stream/streams?fields=id,name,active,transform` traz os dois: o `id` do stream e o `template` no item `render_template` do `transform` dele.

---

## Defina a taxa de sampling

A taxa é um número inteiro de 1 a 100: a porcentagem de eventos que o stream envia. Uma taxa de `100` envia todos os eventos e continua contando como sampling.

**Console**

Para definir a taxa de sampling no Azion Console:

1. **Abra a página Data Stream**

   Acesse [Azion Console](https://console.azion.com/) > **Data Stream**.

2. **Abra o stream**

   Na lista, selecione a linha do stream. O formulário de criação, aberto com **+ Stream**, tem a mesma seção **Transform**.

3. **Selecione todos os workloads**

   Na seção **Transform**, defina **Option** como *All Current and Future Workloads*. A chave **Sampling** aparece apenas com essa opção.

4. **Ative o Sampling**

   Se **Sampling** estiver desligado, ligue-o. **Sampling Rate (%)** aparece.

5. **Insira a taxa**

   Em **Sampling Rate (%)**, insira a porcentagem de eventos a enviar. Por exemplo: `60`.

6. **Selecione Save**

7. **Confirme o aviso de sampling**

   O diálogo **Attention** mostra `After activating and saving these settings, all other Data Streams will be disabled.` Selecione **Confirm**.

O Console mostra `Your data stream has been updated`.

**API**

Para definir a taxa com a API, envie uma requisição `PATCH` com o array `transform` do stream. Defina `rate` no item `sampling` e mantenha o item `render_template` com o ID do template do seu stream. Este exemplo mantém o template `2`, *Applications Event Collector*. Substitua `<stream-id>` pelo ID do seu stream:

```bash
curl -X PATCH 'https://api.azion.com/v4/workspace/stream/streams/<stream-id>' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Token [TOKEN VALUE]' \
  -d '{
  "transform": [
    { "type": "sampling", "attributes": { "rate": 50 } },
    { "type": "render_template", "attributes": { "template": 2 } }
  ]
}'
```

A API responde `200` com o stream, que agora traz a nova taxa:

```json
{
  "state": "executed",
  "data": {
    "id": 12361,
    "name": "sampled-stream",
    …
    "transform": [
      { "type": "sampling", "attributes": { "rate": 50 } },
      { "type": "render_template", "attributes": { "template": 2 } }
    ],
    …
  }
}
```

O `transform` que você envia substitui o armazenado, então envie todos os itens que o stream mantém. Uma taxa fora do intervalo de 1 a 100 é recusada com `400`: `0` com `10050` `Min Value`, e `101` com `10068` `Max Value`. Uma taxa válida não retorna nenhum aviso de que os outros streams foram desativados.

Data Stream escolhe os eventos amostrados aleatoriamente. O diálogo **Attention** também informa `Sampling percentage is statistical and not absolutely precise. When multiple Data Streams have different sampling rates, the system uses the lowest percentage.`

Uma troca de stream ativo entra em vigor após um a dois minutos, e outras edições levam alguns minutos para se propagar. Durante esse intervalo, um stream que o salvamento desativou pode continuar enviando.

---

## Verifique quais streams estão ativos

Depois de salvar, o stream com sampling é o único stream ativo da conta. Aguarde dois minutos e verifique o status de cada stream.

**Console**

Para verificar os streams no Azion Console:

1. **Abra a página Data Stream**

   Acesse [Azion Console](https://console.azion.com/) > **Data Stream**.

2. **Leia a coluna Status**

   O stream que você salvou mostra *Active*. Todos os outros streams mostram *Inactive*.

3. **Abra o stream**

   Selecione a linha do stream. **Sampling Rate (%)** mostra a taxa armazenada.

Apenas o stream com sampling está *Active*, na taxa que você definiu.

**API**

Para verificar os streams com a API, liste-os com o estado `active` e o `transform` de cada um:

```bash
curl -X GET 'https://api.azion.com/v4/workspace/stream/streams?fields=id,name,active,transform' \
  -H 'Authorization: Token [TOKEN VALUE]'
```

A API responde `200` com uma entrada para cada stream:

```json
{
  "count": 4,
  "total_pages": 1,
  "page": 1,
  "page_size": 10,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": 12345,
      "name": "activity-to-bucket",
      "active": false,
      "transform": [
        { "type": "sampling", "attributes": { "rate": 100 } },
        { "type": "render_template", "attributes": { "template": 251 } }
      ]
    },
    …
    {
      "id": 12346,
      "name": "sampled-stream",
      "active": true,
      "transform": [
        { "type": "sampling", "attributes": { "rate": 100 } },
        { "type": "render_template", "attributes": { "template": 251 } }
      ]
    },
    …
  ]
}
```

O stream salvo por último com sampling é o único com `"active": true`, como o `12346` no exemplo acima. O item `sampling` dele traz a taxa que ele usa.

Para ver o que o stream envia, consulte os envios dele no [Real-Time Events](/pt-br/documentacao/plataforma/real-time-events/fontes-de-dados/#data-stream). Cada envio é registrado com o status code do endpoint e o número de linhas de log que ele levou.

---

## Próximos passos

- [Configurações do stream](/pt-br/documentacao/plataforma/data-stream/configuracoes-do-stream.md#transform): Consulte os limites da taxa de sampling e do filtro de workloads e os erros deles.
- [Associe workloads a um stream](/pt-br/documentacao/guias/plataforma/observabilidade/data-stream-associar-workloads.md): Limite um stream aos workloads escolhidos, para que vários streams possam funcionar ao mesmo tempo.
- [Como o Data Stream funciona](/pt-br/documentacao/plataforma/data-stream/como-funciona.md#sampling-e-filtros-de-workloads): Compare o que o sampling e um filtro de workloads coletam, e quanto cada um custa.
- [Solucionar problemas de Data Stream](/pt-br/documentacao/plataforma/data-stream/solucao-de-problemas.md#outro-stream-parou-de-enviar-depois-que-voce-salvou-um): Restaure um stream que parou de enviar depois que um stream com sampling foi salvo.
