Pero primero, ¿cómo funciona Sentry? Integras nuestro SDK. Es muy sencillo. Entonces, para JavaScript, puedes hacer una inclusión de CDN, o Yarn add, o NPM install, y luego Sentry.init. Y luego, para el seguimiento o el rendimiento, queremos habilitar la parte de seguimiento del navegador y la tasa de muestreo adecuada. Y la última parte es que también queremos habilitar la salud de la versión, que estará habilitada de forma predeterminada. Pero debes establecer auto session tracking en true para habilitarlo explícitamente.
Ya tengo esto configurado en mi aplicación, que te mostraré en breve, pero la configuración aquí es así, y también estoy subiendo los mapas de origen a Sentry. Ahora déjame causar un error. Aquí, vamos a comprobar. Parece que algo salió mal. Y si no estuviera usando Sentry, es posible que no tuviera esta información. Y puedes ver que está ofuscado, por lo que tendría que reproducirlo y debug desde ahí. Pero como estoy usando Sentry, ¿qué va a pasar? Y puedes ver que esto acaba de llegar. Se me notifica automáticamente que algo está roto. Y aquí está toda la información relevante.
Lo que estoy viendo aquí es el problema de Sentry y esto me dirá el quién, qué, cuándo, dónde, por qué del error. Sentry desofuscará automáticamente estos errores y los agregará en consecuencia. Así que echemos un vistazo. Parece que tenemos un 500 que ocurrió 70,000 veces afectando a 33K usuarios. Ha estado apareciendo durante los últimos 30 días. Parece que está ocurriendo en estos dos navegadores. Afectando a estos clientes y en producción en esta versión. Así puedo entender el impacto agregado de este error y los data a partir de ahí y puedo ver los data específicos del evento aquí mismo. Todos los atributos, especialmente la traza de la pila.
Lo que habrías visto en el navegador se vería algo así. Sentry lo desofuscó y luego te mostró los frames relevantes y las líneas de contexto para que podamos ver exactamente qué salió mal en el código. Parece que no obtuvimos un 200 desde el backend, por lo que se lanzó un error. Luego parece que el cliente estaba agregando varias cosas al carrito, hizo clic en el botón de pago, nuestro backend devolvió un 500 que se propagó a window.onerror, y toda la otra información que el SDK considera útil, la adjuntará y también puedes adjuntar personalmente. El punto es que ahora sé el quién, qué, cuándo, dónde y por qué justo cuando sucedió, no tuve que buscar o preguntar y no nos quedamos ahí. Incluso te mostraremos el commit que causó el error.
Comments