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.
1
Clona y ejecuta la aplicación
Clona el repositorio, instala las dependencias y crea el archivo La fuente de datos de ClickHouse usa de forma predeterminada el clúster demo público y de solo lectura, por lo que la aplicación funciona sin necesidad de configuración adicional. Iníciala:Abre http://localhost:5001. Verás un selector de año, estadísticas resumidas, un gráfico de actividad, tablas de usuarios y dominios principales, y un cuadro de búsqueda. Explora la aplicación: cambia de año y profundiza en las historias.
En este punto, la aplicación se está ejecutando, pero aún no está instrumentada. ClickStack no muestra datos: está esperando telemetría. Este es el estado “anterior”.
.env:
2
Obtén los detalles de conexión
La aplicación necesita dos valores para conectarse al colector:El SDK usa
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.3
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.Ese es todo el cambio en el backend. La autoinstrumentación se carga mediante No se requiere editar
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.4
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:Recarga la pestaña del navegador para que Vite sirva el bundle actualizado; luego recarga la aplicación unas cuantas veces, cambia de año y haz clic en las historias para generar tráfico.Abre la UI de ClickStack:


Los logs, las métricas, las trazas y las repeticiones de sesión aparecen en la misma UI, comparten el mismo lenguaje de consulta y se correlacionan automáticamente.
- 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.