Skip to main content
En resumenClone HackerNews Analyzer, complete .env con el endpoint y el token de OTLP, y luego pegue el prompt del agente. El backend no necesita importaciones de OpenTelemetry; el agente configura @hyperdx/node-opentelemetry al iniciar el proceso.Tiempo necesario: unos 10 minutos
HackerNews Analyzer es una aplicación de Node.js que consulta el conjunto de datos de HackerNews alojado en la demo pública de ClickHouse. Cada gráfico, tabla y cuadro de búsqueda ejecuta una consulta real de ClickHouse, por lo que cada interacción genera una traza cuyo span principal es la llamada HTTPS del backend a ClickHouse. Se trata de un caso distinto de la demo de reproducción de sesiones, que instrumenta una aplicación que se ejecuta únicamente en el navegador con ClickStack local mediante Docker. Aquí obtiene autoinstrumentación del backend, spans de consultas de ClickHouse y reproducción de sesiones desde la misma aplicación.

Requisitos previos

  • Node 18+ y npm
  • Un endpoint OTLP/HTTP de ClickStack y un token de ingestión:
    • ClickHouse Cloud: abra el servicio y luego vaya a ClickStack → Configure su exporter de OpenTelemetry → Variables de entorno. El protocolo es http/protobuf. El header es authorization=<ingestion token>, sin el prefijo Bearer.
    • Collector local: use http://localhost:4318. Si el collector no está protegido, deje authorization= vacío.

Clona el repositorio

Clona HackerNews Analyzer, instala las dependencias y copia la plantilla de variables de entorno:
Completarás el archivo .env en los siguientes pasos y, después, instrumentarás la aplicación desde este directorio.

Instrumentar la aplicación

1

Ejecute la aplicación

Desde el directorio clonado hn-news-analyzer, inicia la aplicación. La fuente de datos de ClickHouse usa de forma predeterminada el clúster de demostración público de solo lectura, por lo que se ejecuta sin configuración adicional:
Abra http://localhost:5001. Verá un selector de año, estadísticas resumidas, un gráfico de actividad, tablas con los principales usuarios y dominios, y un cuadro de búsqueda. Explore la aplicación: cambie de año y consulte las historias en detalle.
La aplicación HackerNews Analyzer ejecutándose localmente
En este punto, la aplicación está en ejecución, pero no está instrumentada. ClickStack no muestra datos: está a la espera de telemetría.
2

Configurar el entorno

Los SDKs leen las variables estándar del exporter de OpenTelemetry. No están codificadas de forma fija en el código fuente. Abra .env y configure:
OTEL_EXPORTER_OTLP_ENDPOINT es el endpoint OTLP/HTTP (puerto 4318). OTEL_EXPORTER_OTLP_HEADERS es el encabezado de autorización, con el formato authorization=<token> y sin prefijo Bearer.Si el collector no exige autenticación, deje el token vacío (OTEL_EXPORTER_OTLP_HEADERS=authorization=). La variable debe seguir presente; el SDK omite la inicialización si no está definida o está completamente vacía.El SDK para navegador reutiliza estos mismos valores. vite.config.ts incorpora el endpoint y el token en el paquete público durante la compilación, así que use un token de ingestión desechable, no uno de producción.
3

## Instrumente la aplicación

Elige una opción. Las tres llevan a la misma aplicación instrumentada.
Con el repositorio clonado y .env completado, pega esta instrucción en un agente de programación desde ese directorio para instrumentar la aplicación.
4

Genere tráfico y consulte los datos de telemetría

Reinicie la aplicación para que se apliquen el nuevo comando de inicio y el paquete del navegador recién compilado:
Confirme que el banner de inicio muestre tres líneas “Health check passed” para /v1/traces, /v1/metrics y /v1/logs. Recargue la pestaña del navegador para que Vite sirva el paquete actualizado; después, cambie de año y abra historias para generar tráfico.Abra la UI de ClickStack:
  1. Vaya a Búsqueda y filtre por los últimos 5 minutos. Los logs de hn-analyzer-api comenzarán a llegar.
Búsqueda de ClickStack que muestra logs de hn-analyzer-api de los últimos cinco minutos
  1. Haga clic en una solicitud y recorra el trace hacia arriba. Verá el span del handler de Express, un span HTTP hijo que apunta a sql-clickhouse.clickhouse.com con una duración de red real y registros de console.log correlacionados en el mismo trace.
Trace de ClickStack con un span de handler de Express y un span HTTP hijo hacia ClickHouse
  1. Abra Session Replay para reproducir un video navegable de una sesión del navegador, sincronizado con la línea de tiempo del trace.
Reproducción de sesión de ClickStack sincronizada con la línea de tiempo del trace
Los logs, las métricas, los traces y las reproducciones de sesión llegan a la misma UI, comparten el mismo lenguaje de consulta y se correlacionan automáticamente.

Más información

Última modificación el 26 de septiembre de 2026