Pular para o conteúdo principal
O ClickStack usa o padrão OpenTelemetry para coletar dados de telemetria (logs, métricas, traces e exceções). Os traces são gerados automaticamente por instrumentação automática, portanto não é necessário fazer instrumentação manual para aproveitar o tracing. Este guia integra:
  • Logs
  • Métricas
  • Traces
  • Exceções

Primeiros passos

Instale o pacote de instrumentação OpenTelemetry da HyperDX

Use o comando a seguir para instalar o pacote OpenTelemetry do ClickStack.

Inicializando o SDK

Para inicializar o SDK, você precisará chamar a função init no início do ponto de entrada da sua aplicação.
Isso capturará automaticamente tracing, métricas e logs da sua aplicação Node.js.

Configurar a coleta de logs

Por padrão, os logs de console.* são coletados. Se você estiver usando um logger como winston ou pino, precisará adicionar um transport ao logger para enviar logs ao ClickStack. Se estiver usando outro tipo de logger, entre em contato ou explore uma de nossas integrações de plataforma, se aplicável (como Kubernetes).
Se você estiver usando winston como logger, precisará adicionar o transport abaixo ao logger.

Configurar a coleta de erros

O SDK do ClickStack pode capturar automaticamente exceções não tratadas e erros na sua aplicação com stack trace completo e contexto do código. Para habilitar esse recurso, você precisará adicionar o código abaixo ao final do middleware de tratamento de erros da sua aplicação ou capturar exceções manualmente usando a função recordException.

Solução de problemas

Se você estiver tendo problemas com o SDK, pode ativar o logging detalhado definindo a variável de ambiente OTEL_LOG_LEVEL como debug.

Configuração avançada de instrumentação

Capturar logs do console

Por padrão, o SDK do ClickStack captura logs do console. Você pode desativar isso definindo a variável de ambiente HDX_NODE_CONSOLE_CAPTURE como 0.
copy

Adicionar informações do usuário ou metadados

Para marcar facilmente todos os eventos relacionados a um determinado atributo ou identificador (ex.: ID do usuário ou e-mail), você pode chamar a função setTraceAttributes, que marcará cada log/span associado ao trace atual após a chamada com os atributos declarados. Recomenda-se chamar essa função o mais cedo possível dentro de uma determinada requisição/trace (ex.: o quanto antes na pilha de middlewares do Express). Essa é uma forma prática de garantir que todos os logs/spans sejam marcados automaticamente com os identificadores corretos para facilitar pesquisas posteriores, em vez de precisar marcar e propagar os identificadores manualmente. userId, userEmail, userName e teamName preencherão a UI de sessões com os valores correspondentes, mas podem ser omitidos. Quaisquer outros valores adicionais podem ser especificados e usados para pesquisar eventos.
Certifique-se de ativar o modo beta definindo a variável de ambiente HDX_NODE_BETA_MODE como 1 ou passando betaMode: true para a função init, para habilitar os atributos de trace.

Google Cloud Run

Se você executa sua aplicação no Google Cloud Run, o Cloud Trace injeta automaticamente cabeçalhos de amostragem nas solicitações de entrada, o que atualmente limita a amostragem de traces a 0,1 solicitação por segundo por instância. Por padrão, o pacote @hyperdx/node-opentelemetry substitui a taxa de amostragem para 1,0. Para alterar esse comportamento ou configurar outras instalações do OpenTelemetry, você pode definir manualmente as variáveis de ambiente OTEL_TRACES_SAMPLER=parentbased_always_on e OTEL_TRACES_SAMPLER_ARG=1 para obter o mesmo resultado. Para saber mais e forçar o tracing de solicitações específicas, consulte a documentação do Google Cloud Run.

Bibliotecas com instrumentação automática

As bibliotecas a seguir serão instrumentadas automaticamente para rastreamento pelo SDK:

Instalação alternativa

Execute a aplicação com a CLI OpenTelemetry do ClickStack

Como alternativa, você pode instrumentar automaticamente sua aplicação sem precisar alterar o código usando a CLI opentelemetry-instrument ou a flag --require do Node.js. A instalação da CLI oferece uma variedade maior de bibliotecas e frameworks com instrumentação automática.
Managed ClickStackA HYPERDX_API_KEY pode ser omitida no Managed ClickStack.
A variável de ambiente OTEL_SERVICE_NAME é usada para identificar seu serviço no HyperDX e pode ter qualquer nome que você quiser.

Habilitando a captura de exceções

Para habilitar a captura de exceções não tratadas, defina a variável de ambiente HDX_NODE_EXPERIMENTAL_EXCEPTION_CAPTURE como 1.
Depois, para capturar automaticamente exceções do Express, do Koa ou capturá-las manualmente, siga as instruções na seção Configurar a coleta de erros acima.

Bibliotecas com instrumentação automática

As bibliotecas a seguir serão instrumentadas automaticamente (com rastreamento) pelos métodos de instalação acima:
Última modificação em 19 de junho de 2026