Saltar al contenido principal
La reproducción de sesiones en ClickStack captura y reconstruye las interacciones de los usuarios en tu aplicación web, lo que te permite reproducir visualmente con exactitud lo que un usuario vio e hizo durante su sesión. En lugar de una grabación de video, el SDK registra cambios en el DOM, movimientos del mouse, clics, desplazamientos, pulsaciones de teclado, logs de la consola, solicitudes de red (XHR, Fetch, WebSocket) y excepciones de JavaScript, y luego reconstruye la experiencia en el navegador. Como las reproducciones de sesiones se almacenan en ClickHouse junto con tus logs, trazas y métricas, puedes pasar de ver la experiencia de un usuario a inspeccionar las trazas del backend y las consultas a la base de datos que la sustentan, todo en unos pocos clics. Esto hace que la reproducción de sesiones sea útil para depurar problemas en producción, comprender el comportamiento de los usuarios, identificar puntos de fricción en la UX y confirmar visualmente los problemas reportados al equipo de soporte.

Instrumentar su aplicación

ClickStack es totalmente compatible con OpenTelemetry, por lo que puede enviar telemetría del navegador (trazas y excepciones) mediante el SDK estándar de JavaScript de OpenTelemetry o cualquiera de los SDK de lenguaje de ClickStack. Sin embargo, la reproducción de sesiones requiere el SDK para navegador de ClickStack (@hyperdx/browser), que amplía el SDK de OpenTelemetry con grabación de sesiones, captura de consola y captura de solicitudes de red. Si solo necesita trazas sin reproducción de sesiones, cualquier SDK de navegador compatible con OTel funcionará con ClickStack. Los ejemplos siguientes usan el SDK para navegador de ClickStack. Añadir la reproducción de sesiones a su aplicación solo requiere tres pasos: instalar el paquete, inicializar el SDK y capturar automáticamente todas las interacciones de los usuarios; no se necesitan más cambios de código.
Inicialice el SDK en un lugar que con seguridad se cargue al iniciar la aplicación. Por ejemplo, en una aplicación Next.js, podría ser su archivo layout.js raíz. Esto garantiza que la grabación de sesiones comience de inmediato y capture toda la experiencia del usuario.
npm install @hyperdx/browser
import HyperDX from '@hyperdx/browser';

HyperDX.init({
  url: 'http://your-otel-collector:4318',
  apiKey: 'YOUR_INGESTION_API_KEY', // omitir para Managed ClickStack
  service: 'my-frontend-app',
  tracePropagationTargets: [/api.myapp.domain/i],
  consoleCapture: true,
  advancedNetworkCapture: true,
});
La opción tracePropagationTargets es clave para conectar las reproducciones de sesiones con las trazas del backend: configúrela con el dominio de su API para habilitar la trazabilidad distribuida completa del frontend al backend. Para ver la lista completa de opciones del SDK, incluidos los controles de privacidad, las acciones personalizadas, los error boundaries de React y los source maps, consulte la referencia del SDK para navegador.
El SDK para navegador también admite enmascarar entradas y texto para aplicaciones sensibles a la privacidad, así como adjuntar información del usuario para que pueda buscar y filtrar sesiones por usuario en la UI de ClickStack.

Ver reproducciones de sesiones

Ve a Client Sessions en la barra lateral izquierda de la UI de ClickStack (HyperDX). Esta vista muestra todas las sesiones de navegador capturadas, junto con su duración y número de eventos. Haz clic en el botón de reproducción de cualquier sesión para reproducirla. La vista de reproducción muestra, a la derecha, la experiencia de usuario reconstruida y, a la izquierda, una línea de tiempo con eventos del navegador — solicitudes de red, logs de la consola y errores —. Cambia entre los modos Highlighted y All Events para ajustar el nivel de detalle que se muestra en la línea de tiempo. Los errores aparecen marcados en rojo, y al hacer clic en cualquier evento, la reproducción salta a ese punto de la sesión.

De la sesión a la traza

Al seleccionar una solicitud de red o un error en la línea de tiempo de la sesión, puedes ir a la pestaña Trace para seguir la solicitud a través de tus servicios de backend y ver los logs, spans y consultas a la base de datos que desencadenó esa interacción del usuario. Esto funciona porque la configuración tracePropagationTargets vincula los spans del navegador con los spans del servidor mediante el encabezado traceparent, creando una traza distribuida conectada desde el clic del usuario hasta la base de datos. Para ver un recorrido detallado de cómo funciona esto en la práctica, incluida la instrumentación tanto del frontend como del backend, consulta Instrumenting your NextJS application with OpenTelemetry and ClickStack.
Profundizando desde una sesión reproducida hasta las trazas de backend en ClickStack

De la traza a la sesión

La correlación también funciona en sentido inverso. Al ver una traza en la vista de Búsqueda, haz clic en ella para abrir los detalles de la traza y luego selecciona la pestaña Reproducción de sesiones para ver exactamente lo que estaba experimentando el usuario en el momento de esa traza. Esto resulta especialmente útil al investigar errores o solicitudes lentas: puedes partir del problema en el backend y ver de inmediato la perspectiva del usuario.

Cómo se almacenan los datos de sesión

Los datos de reproducción de sesiones se almacenan en una tabla específica hyperdx_sessions de ClickHouse, independiente de los logs y las trazas. Cada evento de sesión es una fila con un campo Body que contiene el payload del evento y un mapa LogAttributes que almacena los metadatos del evento. En conjunto, las columnas Body y LogAttributes contienen los detalles de los eventos de sesión propiamente dichos que se utilizan para reconstruir la reproducción. Para consultar toda la información sobre el esquema de la tabla, consulta Tablas y esquemas usados por ClickStack.

Pruébalo

Hay dos formas de ver cómo funciona la reproducción de sesiones:

Más información

Última modificación el 10 de junio de 2026