Sentry — qué es, principios y recopilación de errores

Autor: IT Sectr Publicado: 2026-05-29 Tiempo de lectura: 8 min

Sentry es una plataforma de seguimiento de errores y monitoreo de rendimiento de aplicaciones en tiempo real que proporciona a los desarrolladores el contexto completo de cada fallo. Según Sentry Documentation, 2025, Sentry procesa más de 10 mil millones de eventos al día, ofreciendo integración con más de 90 lenguajes y frameworks para iOS, Android, web y backend.

Puntos clave

  • Sentry es una plataforma de error tracking y performance monitoring de código abierto que admite más de 90 lenguajes y plataformas.
  • Error events — recopilación automática de excepciones con stack trace completo, valores de variables y estado del dispositivo.
  • Breadcrumbs — secuencia de acciones del usuario y eventos del sistema que preceden a un error.
  • Source maps — desofuscación de código minificado para restaurar un stack de llamadas legible en producción.
  • Performance Tracing — monitoreo del tiempo de ejecución de transacciones con distributed tracing a través de todos los servicios.

Qué es Sentry en el desarrollo

Sentry es una plataforma de código abierto para crash reporting y monitoreo de rendimiento, fundada en 2012. Permite a los desarrolladores recibir notificaciones de errores en tiempo real con contexto de diagnóstico completo: stack de llamadas, valores de variables en el momento del fallo, secuencia de acciones del usuario antes del error y estado del entorno.

A diferencia de los servicios agregados de crash reporting (Google Play Console, App Store Connect), que solo proporcionan estadísticas y gráficos básicos, Sentry muestra cada evento individualmente con la capacidad de agrupar por tipo de error y filtrar por versión de la aplicación. Un Issue en Sentry es un grupo de eventos con el mismo stack trace, lo que permite no ahogarse en miles de crashes idénticos sino concentrarse en solucionar la causa raíz con contexto completo.

Según Sentry (2025), el tiempo promedio de detección de errores se reduce de 30 minutos a 30 segundos después de implementar Sentry SDK, y el tiempo de diagnóstico se reduce en un 60% gracias a los breadcrumbs automáticos y al contexto del entorno. La plataforma es utilizada por más de 100,000 organizaciones en todo el mundo, incluyendo Airbnb, Microsoft, Instagram y PayPal, procesando miles de millones de eventos diariamente.

Arquitectura de Sentry: SDK, Relay y procesamiento de eventos

El sistema Sentry consta de tres componentes principales: SDK en el lado de la aplicación, Relay (servidor proxy) y backend de procesamiento de eventos. Sentry SDK es una biblioteca integrada en la aplicación que intercepta excepciones, recopila contexto y envía eventos a Relay mediante el protocolo JSON/HTTPS.

Sentry Relay

Relay es un servidor intermedio que puede desplegarse en la infraestructura de la empresa. Recibe eventos del SDK, los filtra según reglas (datos PII, eventos innecesarios), los almacena en búfer y los reenvía a Sentry SaaS o a una instancia propia. Relay garantiza baja latencia: el tiempo típico de recepción de eventos es de 500 a 1500 ms.

Filtro de datos entrantes

Sentry proporciona filtros integrados para descartar eventos no deseados antes de enviarlos al servidor: errores de entornos de prueba, errores de versiones antiguas de la aplicación, eventos duplicados con el mismo fingerprint. Filtering ahorra hasta un 70% del volumen de datos en un proyecto de producción típico, reduciendo los costos de consumo y la carga del canal de comunicación del dispositivo.

Configuración del SDK de Sentry para iOS y Android

La instalación del SDK de Sentry para plataformas móviles toma de 5 a 10 minutos y requiere agregar una dependencia e inicializarla con una clave DSN. DSN (Data Source Name) es un identificador único de proyecto en Sentry que indica dónde enviar los eventos.

Configuración en Android

Para Android, Sentry proporciona instrumentación automática a través de un plugin de Gradle. El plugin modifica el bytecode en tiempo de compilación, añadiendo envoltorios para todas las Activities, Fragments y llamadas de red. Auto-instrumentation se habilita con una sola opción en build.gradle y permite obtener breadcrumbs del ciclo de vida de la aplicación sin cambiar el código.

kotlin
import io.sentry.Sentry

class App : Application() {
    override fun onCreate() {
        super.onCreate()
        Sentry.init { options ->
            options.dsn = "https://example@sentry.io/project"
            options.tracesSampleRate = 0.2
            options.enableAutoSessionTracking = true
        }
    }
}

El código inicializa Sentry SDK en una aplicación Android. El parámetro tracesSampleRate = 0.2 habilita el performance tracing para el 20% de las sesiones, enableAutoSessionTracking crea automáticamente sesiones para cada inicio de la aplicación.

Configuración en iOS

El SDK para iOS es compatible con CocoaPods, Swift Package Manager y Carthage. Tras la instalación, el SDK intercepta automáticamente NSException, señales (SIGABRT, SIGSEGV) y errores de Swift. Sentry Cocoa SDK es compatible con iOS 12+ y macOS 10.13+, admite Swift Concurrency (async/await) e instrumentación automática de URLSession.

swift
import Sentry

class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        SentrySDK.start { options in
            options.dsn = "https://example@sentry.io/project"
            options.enableAutoPerformanceTracing = true
        }
        return true
    }
}

El código en Swift activa Sentry SDK con recopilación automática de métricas de rendimiento. enableAutoPerformanceTracing habilita el monitoreo del tiempo de carga de pantallas y solicitudes HTTP sin código adicional.

Breadcrumbs son una secuencia cronológica de eventos que preceden a un error. Sentry registra automáticamente breadcrumbs para pulsaciones de botones, transiciones entre pantallas, solicitudes HTTP y notificaciones del sistema. El desarrollador puede añadir breadcrumbs personalizados para la lógica de negocio.

Cada breadcrumb contiene una marca de tiempo, tipo de evento (navigation, http, ui, error), categoría y datos arbitrarios. Cuando ocurre un error, todos los breadcrumbs de los últimos 2 a 5 minutos (configurable) se adjuntan al evento. Este contexto a menudo es más importante que el propio stack trace: el desarrollador ve que el usuario hizo clic en “Pagar” después de seleccionar un producto, y solo entonces ocurrió el crash. El número máximo de breadcrumbs por defecto es 200, después de lo cual los registros más antiguos se eliminan automáticamente.

kotlin
Sentry.addBreadcrumb(
    Breadcrumb().apply {
        category = "payment"
        message = "User tapped Pay button"
        type = "user"
        level = BreadcrumbLevel.INFO
        data["amount"] = "19.99"
        data["currency"] = "USD"
    }
)

El código añade un breadcrumb personalizado para una acción del usuario en el escenario de pago. Si ocurre un error después de esta acción, el desarrollador verá en Sentry que el usuario hizo clic en “Pagar” con el monto de 19.99 USD, lo que permite localizar rápidamente el problema en el flujo de pago.

Contexto de usuario

Sentry permite adjuntar información del usuario a los eventos: ID, nombre de usuario, correo electrónico. User context se transmite automáticamente con todos los eventos de una misma sesión, permitiendo agrupar errores por usuarios y determinar cuántos usuarios se vieron afectados por un bug específico. Es importante cumplir con la política de privacidad y no transmitir datos personales si la política de la aplicación no lo permite.

Source maps y símbolos de depuración

En las compilaciones de producción de iOS y Android, el código suele estar minificado u ofuscado. Sin procesamiento, el stack de errores contendrá nombres incomprensibles como “a.b()” en lugar de “UserViewModel.fetchData()”. Source maps (JavaScript) y debug symbols (dSYM para iOS, ProGuard mapping para Android) restauran un stack legible.

Para Android, Sentry carga automáticamente los archivos ProGuard mapping a través del plugin de Gradle durante la compilación de la versión release. Para iOS, es necesario cargar los archivos dSYM: Sentry proporciona un script para la carga automática durante el archivado. Sin símbolos de depuración, el stack de errores en Sentry será inútil para el desarrollador, por lo que el proceso de carga debe ser un paso obligatorio en el pipeline CI/CD.

Monitoreo de rendimiento con Sentry

Desde la versión 2020, Sentry incluye performance monitoring: recopilación de métricas de tiempo de ejecución de transacciones con distributed tracing. Una Transaction en Sentry es una unidad de trabajo medible: carga de pantalla, ejecución de solicitud de API, procesamiento de tarea en segundo plano. Cada transacción contiene spans hijos que muestran qué pasos específicos tomaron más tiempo.

El performance monitoring en Sentry está integrado con error tracking: si una transacción termina con un error, el span correspondiente se marca con el estado “error”, y el desarrollador puede navegar desde las métricas de rendimiento a los detalles de la excepción. Trace ID vincula todos los eventos (errores, transacciones, breadcrumbs) en una sola sesión para análisis de extremo a extremo, proporcionando una transición fluida entre las pestañas Issues y Performance en un único dashboard de Sentry.

Según Sentry Performance Benchmark (2024), una aplicación con performance monitoring habilitado (frecuencia de muestreo del 10%) consume entre un 2 y un 5% más de tráfico y entre un 1 y un 2% más de recursos de CPU en el dispositivo. Esta sobrecarga se compensa con una reducción del 70% en el tiempo de diagnóstico de rendimiento en comparación con la creación de perfiles manual.

Preguntas frecuentes

¿En qué se diferencia Sentry de Firebase Crashlytics?

Sentry proporciona más contexto: breadcrumbs, datos personalizados, vinculación de errores con el rendimiento. Firebase Crashlytics es una herramienta gratuita con crash reporting básico pero sin distributed tracing ni posibilidad de instrumentación personalizada de breadcrumbs. Sentry es adecuado para proyectos que necesitan un diagnóstico profundo.

¿Cuánto cuesta Sentry para una aplicación móvil?

Sentry ofrece un plan gratuito con 5,000 eventos al mes (errores + transacciones). El plan de pago Team cuesta 26 dólares por usuario al mes e incluye 100,000 eventos. Para proyectos grandes, está disponible un plan Business con volumen ilimitado y precio personalizado.

¿Cómo maneja Sentry los datos personales en los errores?

Sentry proporciona un mecanismo integrado de Data Scrubbing: eliminación automática de correos electrónicos, direcciones IP, tarjetas de crédito y otros datos PII de los eventos antes de almacenarlos. Las reglas de depuración se configuran en la interfaz web o en la configuración de Relay con soporte de expresiones regulares. Se recomienda activar el scrubbing a nivel de SDK para que los datos confidenciales no salgan del dispositivo del usuario.

¿Se puede ejecutar Sentry en servidores propios?

Sí, Sentry tiene una versión auto-alojada completamente de código abierto. Self-hosted Sentry se despliega mediante Docker Compose e incluye todas las funciones de la versión SaaS. Configuración mínima del servidor requerida: 4 vCPU, 16 GB RAM, 100 GB de espacio en disco para almacenar eventos.

¿Sentry es compatible con SwiftUI y Jetpack Compose?

Sí, Sentry SDK es totalmente compatible con SwiftUI (iOS 13+) y Jetpack Compose (Android). Para SwiftUI, el SDK crea automáticamente transacciones para NavigationView y List con medición del tiempo de renderizado. Para Jetpack Compose, se requiere integración personalizada a través de CompositionLocalProvider para pasar el contexto de Sentry a los Composables.

Resumen

  • Sentry es una plataforma de error tracking y performance monitoring de código abierto utilizada por más de 100,000 organizaciones.
  • Arquitectura incluye SDK en el dispositivo, proxy Relay y backend de procesamiento de eventos con soporte para despliegue self-hosted y SaaS.
  • Breadcrumbs proporcionan una cronología de las acciones del usuario antes del error, críticamente importante para diagnosticar bugs complejos.
  • Source maps y dSYM restauran stacks de llamadas legibles a partir de código ofuscado de producción.
  • Performance Tracing está integrado con error tracking, permitiendo navegar desde métricas de tiempo a detalles del error mediante un único trace ID.
  • Auto-instrumentation cubre Activity, ViewController, solicitudes HTTP y el ciclo de vida de la aplicación sin código manual.
  • Se recomienda implementar Sentry en cualquier aplicación de producción: el plan gratuito cubre 5,000 eventos al mes, suficiente para proyectos pequeños y medianos.

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también