Edge Pulse
Edge Pulse é um produto de Observe baseado na solução de mercado Real User Monitoring (RUM) que coleta informações de navegação, disponibilidade, latência e banda. Além de coletar informações, o Edge Pulse permite utilizá-las para aprimorar a experiência do usuário e proporcionar a entrega do conteúdo de forma eficiente.
1. O que é RUM
RUM é a sigla utilizada para o conceito de “Real User Monitoring”. Ou seja, RUM é um modelo de monitoração que captura dados do usuário final com o objetivo de explicar como os seus usuários estão sendo impactados pela disponibilidade e eficiência da entrega do seu conteúdo.
Se trata de uma forma passiva de monitorar o dispositivo do usuário em ação. Oferece uma visão de um grande número de problemas, incluindo navegador front-end, banco de dados de back-end e questões relacionadas ao servidor e como os usuários finais experienciam tudo isso.
2. Como funciona
O Edge Pulse coleta dados de navegação dos usuários e métricas de disponibilidade, latência e taxa de transferência. Para monitorar a página, é necessário inserir a tag javascript do Edge Pulse. Esse script respeita o protocolo em uso (http/https), é totalmente assíncrono e 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 de nossa Edge Network por vez, em um intervalo de 30 minutos por usuário, não onerando 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.
Além disso, o algoritmo UUID4 é utilizado para um melhor controle sobre os casos de sucessos e falhas. Para controlar e manipular dados do Edge Pulse, utilizamos o armazenamento local do browser.
O rastreamento efetuado pelo Edge Pulse respeita as seguintes configurações do browser 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. Caso esteja configurado como “1”, mas já tenha sido rastreado, o identificador anterior é apagado e é gerado um novo. |
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. |
3. Como configurar
Para monitorar a página, é necessário inserir a tag javascript do Edge Pulse.
O Edge Pulse está disponível para todos os clientes. Para começar a utilizá-lo, siga os passos abaixo:
- Acesse o Real-Time Manager.
- Acesse Observe > Edge Pulse, no menu lateral esquerdo.
- Clique em Copy to Clipboard para copiar a tag desejada: Default Tag ou Pre-loading tag.
Você deve adicionar a tag javascript disponível na página do produto para que o Edge Pulse inicie a coleta das métricas. Ação necessária para cada página que deseja monitorar.
A execução é iniciada após o browser do usuário ter a página carregada. A tag pode ser publicada manualmente ou utilizando sistemas gerenciadores de tag disponíveis no mercado. Veja a seguir a descrição das 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 closing BODY tag. 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, então coloque esta tag imediatamente antes da enclosing BODY tag. Este script é executado antes que o load event tenha disparado. |
4. Dados coletados
O Edge Pulse coleta as informações do Resolver utilizado para a resolução DNS, PoP/Edge testada e rede anônima do usuário, e esses dados são utilizados tanto para a tomada de decisões quanto para o roteamento de usuários.
Além disso, disponibilizamos dados da experiência e navegação do usuário via Real-Time Events, conforme listado na tabela abaixo:
Variáveis | Descrição |
---|---|
$hostname | Hostname da URL atual. |
$locationHref | Retorna a URL completa da página atual. |
$navigation.contentDownload | Tempo utilizado para o download do conteúdo. |
$navigation.dns | Tempo de resolução do DNS. |
$navigation.networkDuration | Duração sem o navegador de consulta aguardando. |
$navigation.PageLoadTime | Retorna o tempo de carregamento da página. |
$navigation.redirectCount | Retorna a quantidade de redirecionamentos desde a última navegação sem redirecionamento no contexto da navegação atual. |
$navigation.renderTime | Tempo que o navegador foi renderizado após a navegação. |
$navigation.ssl | Protocolo padrão usado para manter uma conexão segura de tráfego. |
$navigation.tcp | Protocolo da internet que retorna os dados que compõem a página. |
$navigation.ttfb | Tempo até a chegada do primeiro byte da página solicitada. |
$navigation.type | Retorna o tipo da navegação sem redirecionamento. |
$navigation.typeBackForward | Tipo de navegação através do histórico da sessão. |
$navigation.typeNavigate | Retorna o tipo da última navegação sem redirecionamento, ex.: clicando em um link, inserindo a URL na barra de endereço ou envio de formulário. |
$navigation.typeReload | Tipo de navegação pela operação de recarga, ou seja, quando a página foi recarregada. |
$navigation.typeReserved | Qualquer tipo de navegação não definido pelos citados anteriormente (typeNavigate, typeReload). |
$networkApi.downlink | Retorna o volume médio de dados recebidos (Mb/s). |
$networkApi.effectiveType | Retorna informações sobre a conexão do usuário (ex.: 4g). |
$platform | Arquitetura do sistema operacional (ex.: Linux x86_64, iPhone etc). |
$referrer | Retorna a url anterior à página atual. Ou seja, a url pela qual o usuário chegou à “locationHref”. Caso o acesso tenha se originado diretamente na página corrente (não por meio de link, mas, por exemplo, por um bookmark), seu valor será uma string vazia. Não fornece acesso DOM à página de referência. |
$timestamp | Data e hora da requisição. |
$userAgent | Retorna o User Agent do navegador. |
$version | A versão do Azion Log utilizada. |
Não encontrou o que procurava? Abra um ticket.