Mejores Prácticas de Observabilidad
Un resumen condensado de las 25 mejores prácticas más importantes extraídas de cada página de esta sección.
Busca en todas las páginas de la documentación
Un resumen condensado de las 25 mejores prácticas más importantes extraídas de cada página de esta sección.
Conoce las cuatro señales: Fallos/fatales, errores manejados, transacciones de rendimiento y análisis de productos - un proveedor rara vez reemplaza los cuatro.
Etiqueta cada informe con identidad de lanzamiento: Versión nativa + compilación, otaUpdateId, runtimeVersion y channel - triaje sin reproducir en dispositivo.
Genera sessionId en inicio en frío: Rota en cierre de sesión - la misma disciplina de ciclo de vida que los tokens de Mobile Auth Basics.
Adjunta ruta a fallos y registros: Expo Router pathname vence a los nombres de componentes mostrados - las refactorizaciones renombran componentes, las rutas permanecen estables.
Separa fallos nativos de errores JS: Diferentes canalizaciones de simbolización - mapas de Hermes e iOS dSYM / Android ProGuard son todos necesarios.
Encadena manejadores de ErrorUtils: Nunca reemplaces el manejador global anterior al por mayor - la redbox de desarrollo e integraciones de SDK dependen del encadenamiento.
Inicializa Sentry antes de que los routes se monten: Efecto secundario más temprano de _layout o index.js - la inicialización tardía pierde fallos de inicio.
Sube mapas de origen en cada compilación de producción EAS: Las pilas sin simbolizar son un bloqueador de lanzamiento, no algo opcional.
Establece Sentry dist en ID de actualización OTA: Distingue regresiones JS de regresiones nativas en la misma versión de tienda.
Habilita captura de fallos nativos: Módulos nativos de @sentry/react-native - los envoltorios solo JS pierden SIGABRT y OOM kills.
Limita migas de pan y búferes de registros: Los búferes circulares ilimitados se quedan sin memoria en pantallas que registran mucho - descarta debug primero bajo presión.
Agrupa registros estructurados; envía en primer plano: HTTPS por línea desperdicia batería - vacía en active y mejor esfuerzo en background.
Nunca registres tokens, correos electrónicos o datos de tarjeta: Usa hash para IDs de usuario; quita PII en beforeSend y análisis sanitize().
Protege análisis de productos detrás del consentimiento explícito: Alternadores separados para informes de fallos vs análisis de productos - el departamento legal posee la política, la ingeniería implementa puertas.
Solicita ATT solo cuando sea necesario en iOS: Alinea NSUserTrackingUsageDescription con seguimiento real entre aplicaciones - la copia vaga falla en revisión.
Restablece identidad de análisis en cierre de sesión: segment.reset() / Amplitude reset() junto con limpieza de almacén seguro.
Usa nombres de eventos de análisis estables: checkout_completed no completeCheckout - los renombres rompen gráficos de año a año.
Toma muestras de trazas de producción al 10-20%: La captura del 100% abruma los costos; el 100% en rutas de pago/compra está bien.
Instrumenta navegación en la capa de router: Un intervalo de navegación por pathname - no por useEffect de hoja.
Propaga encabezados de traza en llamadas a API: sentry-trace o W3C traceparent - la latencia solo móvil oculta culpa del backend.
Define SLO de sesiones sin fallos con reglas de sesión: Alinea con seguimiento de sesión de Sentry - excluye entornos de desarrollo y vista previa de numeradores de producción.
Rastrea el éxito de aplicación de OTA explícitamente: Fallos silenciosos de fetchUpdateAsync erosionan la confianza - mide verificación - descarga - aplicación - siguiente lanzamiento updateId.
Empareja SLO de inicio en frío con dispositivo de referencia: p95 en clase Pixel 6a por Performance Basics - iPhone Pro miente.
Usa presupuestos de errores para regir lanzamientos: Quemar > 50% en una semana - congelación de características; 0% - detiene tienda y OTA por Rollback Runbook.
Ejecuta revisión de observabilidad antes de OTA importantes: Implementación por fases + Release Health + SLO de éxito de OTA - canal de reversión antes de emergencia de tienda.
Versiones de pila: Esta página fue escrita para React 19.2.3, React Native 0.86.0 y Expo SDK 57 (
expo~57.0.4).
Revisado por Chris St. John·Última actualización: 19 jul 2026