Requisitos previos
- Un OTel collector disponible y accesible, que ingiera datos en su servicio de Managed ClickStack. Necesita su endpoint de OTLP y un token de ingestión.
- Node 18+ y npm.
Clona y ejecuta la aplicación
Clona el repositorio, instala las dependencias y crea el archivo.env:Obtén los detalles de conexión
La aplicación necesita dos valores para conectarse al colector:OTEL_EXPORTER_OTLP_ENDPOINT: el endpoint de OTLP que expone tu colector (normalmente el puerto4318para OTLP sobre HTTP).OTEL_EXPORTER_OTLP_HEADERS: el encabezado de autorización que contiene tu token de ingestión, con el formatoauthorization=<token>.
.env y configúralos:OTEL_EXPORTER_OTLP_HEADERS para establecer el encabezado de autorización para las tres señales: trazas, métricas y logs. Si el collector se ejecuta localmente y no exige autenticación, puedes dejar el valor vacío (OTEL_EXPORTER_OTLP_HEADERS=authorization=), pero la variable debe estar presente; el SDK omite por completo la inicialización si no está definida o si está completamente vacía.Instrumentar la aplicación
La instrumentación consta de tres partes: instalar los SDKs, cambiar el comando de inicio y habilitar el SDK para navegador. Nada de esto cambia la lógica de negocio de la aplicación.Instalar los SDKs
Instala los SDKs de OpenTelemetry tanto para backend como para navegador:Usa la CLI de opentelemetry-instrument
La aplicación se inicia conrun.sh, que tiene dos líneas exec al final: una activa y otra comentada. Cambia cuál de ellas está activa para que Node se ejecute a través de opentelemetry-instrument:opentelemetry-instrument al iniciar el proceso.Habilita el SDK para navegador
Para capturar trazas distribuidas (del navegador al backend) y repeticiones de sesión, habilita el SDK para navegador ensrc/web/telemetry.ts. Descomenta la importación y el bloque HyperDX.init({...}):.env adicionalmente. __OTLP_ENDPOINT__ y __OTLP_AUTH_TOKEN__ son constantes de tiempo de compilación inyectadas por vite.config.ts: el endpoint es OTEL_EXPORTER_OTLP_ENDPOINT y el token se obtiene de OTEL_EXPORTER_OTLP_HEADERS, los mismos valores que usa el backend.Generar tráfico y ver la telemetría
Reinicia la aplicación para que el nuevo comando de inicio y el paquete del navegador recién compilado surtan efecto:- Ve a Búsqueda y filtra por los últimos 5 minutos. Los logs de
hn-analyzer-apiempezarán a aparecer.
- Haz clic en una petición y sube por la traza. Verás el span del handler de Express, un span HTTP hijo que apunta al clúster de ClickHouse con la duración real de la red, y registros de
console.logcorrelacionados en la misma traza.
- Abre Session Replay para reproducir un video de una sesión del navegador por el que puedes desplazarte, sincronizado con la cronología de la traza.
Más información
- Session Replay: descripción general de la funcionalidad, opciones de SDK y controles de privacidad.
- Session Replay Demo: una demo autónoma con una instancia local de ClickStack.
- Primeros pasos con ClickStack: despliegue de ClickStack e ingesta de tus primeros datos.
- Todos los conjuntos de datos de ejemplo: otros conjuntos de datos de ejemplo y guías.