# Edge Pulse

import DocButton from '~/components/webkit/DocButton.vue';

**Edge Pulse** é um produto de [Observe](/pt-br/documentacao/produtos/observe/) baseado na solução de mercado *Real User Monitoring (RUM)*. Com ele, você pode, em tempo real:

- Coletar informações de navegação, disponibilidade, latência e banda.
- Usar as informações coletadas para aprimorar a experiência do usuário final.
- Proporcionar uma entrega de conteúdo eficiente.

## Implementação

| Escopo | Recurso |
| ------ | ------ |
| Primeiros passos | [Primeiros passos do Edge Pulse](/pt-br/documentacao/produtos/observe/edge-pulse/primeiros-passos/) |

### O que é RUM

Real User Monitoring (RUM) é um modelo de monitoramento que captura dados do usuário final com o objetivo de explicar como os seus usuários finais estão sendo impactados pela disponibilidade e eficiência da entrega do seu conteúdo.

É uma forma passiva de monitorar o dispositivo do usuário final em ação. Ele oferece a visão de uma série de problemas, incluindo navegador front-end, banco de dados de back-end, questões relacionadas ao servidor e como os usuários finais experienciam tudo isso.

---

## Comportamento do Edge Pulse

O **Edge Pulse** coleta dados de navegação dos usuários e métricas de disponibilidade, latência e taxa de transferência em tempo real. Após inserir a **tag JavaScript do Edge Pulse**, o script:

- Respeita o protocolo em uso (HTTP/HTTPS).
- É totalmente assíncrono.
- Não interfere no processo de carregamento nem na estrutura interna do conteúdo entregue.

Além disso, cada teste coleta métricas para apenas 3 endereços da edge network da Azion por vez, em um intervalo de 30 minutos por usuário. Assim, ele não carrega o cliente com repetições.

Os testes são feitos de forma contínua e diversificada e cobrem todas as rotas possíveis que aquele usuário tem para chegar ao conteúdo. Após a coleta dos dados, os resultados são enviados para os servidores de processamento da Azion.

O Edge Pulse usa o [algoritmo UUID4](https://en.wikipedia.org/wiki/Universally_unique_identifier) para um melhor controle sobre os casos de sucessos e falhas.

Para controlar e manipular dados do Edge Pulse, é utilizado o [armazenamento local do browser](https://developer.mozilla.org/pt-BR/docs/Web/API/Window/Window.localStorage).

O rastreamento efetuado pelo Edge Pulse respeita as seguintes configurações do navegador do usuário:

| Valor | Comportamento do Edge Pulse |
| ----- | --------------------------- |
| navigator.doNotTrack = '1' | Se o rastreamento nunca foi permitido e, por consequência, o Edge Pulse nunca usou o armazenamento local, então um código identificador será gerado para cada visita que o usuário efetuar no site.<br /> Caso esteja configurado como "1", mas já tenha sido rastreado, o identificador anterior é apagado e um novo é gerado. |
| navigator.doNotTrack `<>` '1' | Quando o valor for diferente de "1", significa que o Edge Pulse irá rastrear. Sendo assim, o mesmo identificador será utilizado para cada visita de um usuário. |

### Dados coletados

O **Edge Pulse** coleta informações como do Resolver utilizado para a resolução DNS, a edge location testada e a rede anônima do usuário. Você pode utilizar esses dados para tomar decisões relacionadas a roteamento de usuários, entender o que os seus clientes precisam e querem, melhorar a experiência de usuário e ter maior transparência de sua aplicação.

As categorias de dados coletados são:

- Navegação
- Performance
- Experiência de usuário
- Informacionais
- Rede


<DocButton href="/pt-br/documentacao/produtos/observe/real-time-events/" label="explorar via Real-Time Events" size="medium" />

---

## Edge Pulse JavaScript tag

Para monitorar a página, é necessário inserir a **tag JavasScript do Edge Pulse** nela. Ela está disponível na página do Edge Pulse [no Azion Console](https://console.azion.com) através do botão **Copy to Clipboard**.

Você deve adicionar a **tag JavaScript** para iniciar a coleta das métricas. Essa ação é necessária para *cada página* que você deseja monitorar.

A execução inicia após o navegador do usuário carregar a página. A tag pode ser publicada manualmente ou utilizando sistemas gerenciadores de tag disponíveis no mercado.

Existem duas tags disponíveis:

| Tag | Descrição |
| --- | --------- |
| Default Tag | Coloque esta tag no HTML das páginas que você deseja coletar dados. Você deve colocá-la antes da tag de fechamento BODY. Este script espera até que o evento de carregamento seja concluído antes de baixar e executar o Cliente RUM, garantindo que o evento de carregamento não seja interrompido e não afete a experiência do usuário. |
| Pre-loading Tag | Se você estiver usando configurações da Política de Segurança de Conteúdo impedindo o uso do JavaScript inline, coloque esta tag imediatamente antes da tag de fechamento BODY. Este script é executado antes que o load event seja disparado. |



---