ResumoEste guia mostra como injetar o SDK do navegador do ClickStack em qualquer site usando a HyperDX Chrome extension. Não é necessário fazer alterações no código-fonte do aplicativo de destino — configure a extensão uma vez, navegue pelo site e visualize as reexecuções de sessão no ClickStack.Tempo necessário: 10-15 minutos
Visão geral
chrome-extension:// e recorre à injeção inline quando a CSP bloqueia scripts com origem na extensão.
Diferentemente do Demo de reprodução de sessão, que instrumenta um aplicativo de demonstração sob seu controle, essa abordagem funciona em qualquer URL que você abrir no Chrome. Você gera dados de sessão ao interagir com o site como um usuário comum.
Para mais contexto sobre reprodução de sessão e como ele se encaixa no ClickStack, consulte a página do recurso Session Replay.
Pré-requisitos
- Google Chrome ou um navegador baseado em Chromium (Edge, Brave etc.)
- Docker instalado, caso esteja executando o ClickStack localmente
- Portas 4317, 4318 e 8080 disponíveis (para o ClickStack local)
Executando a demonstração
Clone o repositório da extensão
Instale a extensão
- Abra o Chrome e acesse
chrome://extensions. - Ative o Modo do desenvolvedor (canto superior direito).
- Clique em Carregar sem compactação.
- Selecione o diretório
hyperdx-chrome-extensionque você clonou.
Inicie o ClickStack
Se você já tem um endpoint de ingestão do ClickStack ou do HyperDX, pule para Configure a extensão.Para uma implantação local do ClickStack, inicie o OpenTelemetry Collector. Substitua{{CLICKHOUSE_ENDPOINT}} e {{CLICKHOUSE_PASSWORD}} pelos detalhes de conexão do ClickHouse:Obtenha sua API key
Em uma implantação local do ClickStack, talvez não seja necessário usar uma API key — deixe o campo vazio na extensão ao enviar telemetria para um coletor auto-hospedado emhttp://localhost:4318.Para ingestão no ClickStack Cloud ou no HyperDX Cloud, abra o HyperDX, vá até Team Settings → API Keys e copie sua API key de ingestão.Configure a extensão
Clique no ícone HyperDX Browser Extension na barra de ferramentas do Chrome e preencha as configurações:| Field | Exemplo de ClickStack local | Observações |
|---|---|---|
| Enable HyperDX Monitoring | Ativado | Controle principal da injeção |
| Service Name | my-frontend-app | Obrigatório — identifica o serviço no ClickStack |
| API Key | (vazio) | Obrigatória para ingestão na Cloud; opcional em algumas configurações auto-hospedadas |
| Collector URL | http://localhost:4318 | Endpoint OTLP HTTP; o padrão na Cloud é https://in-otel.hyperdx.io |
| Environment | development | Opcional — define o atributo de resource deployment.environment |
| Trace Propagation Targets | /api\.myapp\.domain/i, /localhost/i | Opcional — padrões regex de JavaScript separados por vírgula para propagação de headers de trace |
| Only inject on matching URLs | Desativado | Ative para limitar em quais sites a instrumentação será aplicada |
| Capture console logs | Desativado | Ative para encaminhar a saída do console do navegador |
| Advanced network capture | Desativado | Ative para capturar detalhes das requisições de rede |
http://localhost:4318 e propagação de trace limitada a URLs de API e localhost.Navegue em um site e gere uma sessão
Abra qualquer site ou aplicativo local no Chrome — por exemplo, http://localhost:3000 para um servidor de desenvolvimento de frontend.Interaja com a página normalmente: clique em links, envie formulários, gere erros e navegue entre visualizações. A extensão injeta o SDK do navegador automaticamente a cada carregamento de página quando a configuração é válida.Veja a reprodução da sua sessão
Volte ao HyperDX em http://localhost:8080 e acesse Client Sessions na barra lateral esquerda.Você deverá ver sua sessão listada com a duração e a contagem de eventos. Clique no botão ▶️ para reproduzi-la.Alterne entre os modos Highlighted e All Events para ajustar o nível de detalhe na linha do tempo.Filtragem de URL
| Padrão | Correspondências |
|---|---|
http://homedepot.com/* | Somente HTTP em homedepot.com |
*://homedepot.com/* | HTTP e HTTPS em homedepot.com |
*://*.homedepot.com/* | Subdomínios como www.homedepot.com |
https://localhost:3000/* | Servidor local de desenvolvimento na porta 3000 |
Verifique a injeção
Solução de problemas
Sessões não aparecem no HyperDX
Sessões não aparecem no HyperDX
- Verifique no console do navegador se há mensagens de log ou erros de
[HyperDX Extension] - Confirme que Enable HyperDX Monitoring está ativado e que Service Name está definido
- Verifique se o ClickStack está em execução e se a URL do collector está correta (por exemplo,
http://localhost:4318) - Ajuste o intervalo de tempo na visualização Client Sessions (tente Last 15 minutes)
- Faça uma atualização forçada do navegador:
Cmd+Shift+R(Mac) ouCtrl+Shift+R(Windows/Linux)
Erros de chrome-extension://invalid/
Erros de chrome-extension://invalid/
Recarregue a extensão em
chrome://extensions e depois faça uma atualização forçada da aba. Isso acontece quando a extensão é atualizada ou recarregada enquanto ainda há abas abertas.Sem injeção em um site
Sem injeção em um site
- Verifique se o monitoramento está ativado e se um nome de serviço está configurado
- Se Only inject on matching URLs estiver ativado, confirme se a URL da página atual corresponde a um dos seus padrões
- Alguns sites bloqueiam tanto a injeção pela origem da extensão quanto a injeção de script inline via CSP — a injeção pode não ser possível nessas páginas
HyperDX: apiKey ausente no console
HyperDX: apiKey ausente no console
Isso é esperado quando o campo de API key está vazio. Adicione uma API key de ingestão do HyperDX para endpoints do Cloud ou ignore se o seu collector self-hosted aceitar tráfego local não autenticado.
Privacidade
Saiba mais
- Reprodução de sessão — visão geral do recurso, opções do SDK e controles de privacidade
- Referência do SDK do navegador — opções completas do SDK e configuração avançada
- Demo de reprodução de sessão — instrumente uma aplicação de demonstração a partir do código-fonte
- Primeiros passos com o ClickStack — implante o ClickStack e faça a ingestão dos seus primeiros dados
- HyperDX Chrome extension on GitHub — código-fonte e rastreador de issues