Skip to content

Seguimiento de Errores

El seguimiento de errores es una parte integral del sistema de grabación de sesiones, proporcionando información de errores enriquecida con contexto dentro de los datos de la sesión del usuario.

Cómo funciona el Seguimiento de Errores con Sesiones

Los errores se capturan y asocian con la sesión activa actual. Esto significa que cada error incluye el contexto completo de la interacción del usuario que condujo al error, facilitando la reproducción y corrección de problemas.

Seguimiento Básico de Errores

typescript
import { SessionTracker } from '@your-sdk/core';

const session = new SessionTracker();

// Manejo básico de errores
try {
  // Tu código de aplicación
} catch (error) {
  session.addErrorTag({
    message: error.message,
    stack: error.stack,
    // Contexto adicional
    component: 'FormularioDePago',
    action: 'procesarPago'
  });
}

Estructura del Objeto de Error

Cuando reportas un error usando addErrorTag(), debe incluir:

typescript
interface TrackedError {
  message: string;     // Mensaje de error
  stack?: string;      // Traza de la pila (si está disponible)
  hash?: string;       // Hash único para desduplicación
  [key: string]: any;  // Contexto adicional
}

Mejores Prácticas para el Seguimiento de Errores

  1. Proporciona Contexto

    • Incluye el estado relevante de la aplicación
    • Añade información del usuario (sin datos sensibles)
    • Incluye IDs de solicitud o referencias de transacción relevantes
  2. Gravedad del Error

    • Usa el campo level para indicar la gravedad: 'error' | 'warning' | 'info'
    • Ejemplo: session.addErrorTag({ ...error, level: 'warning' });
  3. Agrupación de Errores

    • Los errores similares se agrupan automáticamente usando el mensaje y la traza
    • Añade una propiedad hash personalizada para agrupar errores relacionados manualmente

Visualización de Errores

Los errores se pueden ver en la reproducción de la sesión junto con las acciones del usuario, permitiéndote ver:

  • Qué estaba haciendo el usuario cuando ocurrió el error
  • La secuencia de acciones que llevaron al error
  • El estado de la aplicación en el momento del error

Escenarios Comunes de Errores

Excepciones No Manejadas

typescript
// Manejador global de errores
window.onerror = function(message, source, lineno, colno, error) {
  session.addErrorTag({
    message: message.toString(),
    source,
    line: lineno,
    column: colno,
    stack: error?.stack
  });
  return false; // Previene el manejo de errores por defecto del navegador
};

Rechazos de Promesas No Manejados

typescript
window.addEventListener('unhandledrejection', (event) => {
  const error = event.reason;
  session.addErrorTag({
    message: error?.message || 'Rechazo de Promesa No Manejado',
    stack: error?.stack,
    reason: error?.toString()
  });
});

Solución de Problemas

Si los errores no aparecen en los datos de tu sesión:

  1. Verifica que la sesión esté activa cuando ocurre el error
  2. Revisa la consola del navegador en busca de errores relacionados con el SDK
  3. Asegúrate de que el seguimiento de errores esté correctamente inicializado

Para más información sobre cómo trabajar con sesiones, consulta la documentación de Sesiones.


Nota: Los datos de error se recopilan de acuerdo con nuestra política de privacidad. No se debe incluir información sensible en los mensajes de error o trazas de pila.