Soluciona el 100% de tus errores: Cómo encontrar problemas más rápido con la Reproducción de Sesiones

Rate this content
Bookmark

¿Conoces ese molesto error? ¿El que no aparece localmente? Y no importa cuántas veces intentes recrear el entorno, no puedes reproducirlo. Has revisado las migas de pan, leído la traza de pila y ahora estás jugando al detective para unir los tickets de soporte y asegurarte de que sea real.


Únete al desarrollador de Sentry, Ryan Albrecht, en esta charla para aprender cómo los desarrolladores pueden utilizar la Reproducción de Sesiones, una herramienta que proporciona reproducciones de video de las interacciones de los usuarios, para identificar, reproducir y resolver errores y problemas de rendimiento más rápido (sin golpear tu cabeza contra el teclado).

FAQ

Replay es una herramienta de Sentry que permite realizar una depuración en viaje en el tiempo, capturando lo que hizo el usuario antes y después de que se desencadenara un error en un sitio web. Facilita la inspección del DOM real del sitio, visualización de registros de consola, y seguimiento de solicitudes y respuestas de red, ayudando a entender y resolver errores de manera más eficaz.

La principal diferencia de la herramienta Replay de Sentry respecto a otras herramientas similares es su enfoque en los desarrolladores, proporcionando funcionalidades específicas que permiten una depuración más táctica y eficiente de errores, integrándose perfectamente con el flujo de trabajo de Sentry.

Replay ofrece características como la visualización del DOM real del sitio web, acceso a registros completos de la consola, seguimiento de solicitudes y respuestas de red, y la capacidad de buscar repeticiones basadas en interacciones específicas del DOM. Además, vincula errores y transacciones del backend, ofreciendo un panorama completo de la actividad en el sitio.

Para utilizar Replay, es necesario habilitar la integración de reproducción de sesión en Sentry. Esto se realiza agregando la integración específica a la configuración de Sentry en tu sitio web, lo cual se puede hacer siguiendo los pasos proporcionados en la documentación de Sentry.

Replay está diseñada para ayudar a resolver errores que ocurren en el sitio web, proporcionando un contexto amplio sobre las acciones del usuario antes y después del error. Esto incluye errores de JavaScript, fallos de carga de recursos, problemas de interacción del usuario y errores en solicitudes de red, entre otros.

Replay está diseñada para minimizar su impacto en el rendimiento del sitio web. Utiliza compresión de datos y realiza procesamientos en un trabajador web para no interferir con el hilo principal del navegador, asegurando que la experiencia del usuario no se vea afectada negativamente por la monitorización.

Ryan Albrecht
Ryan Albrecht
44 min
30 May, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Este masterclass presenta Replay, una herramienta para resolver errores más rápido al proporcionar contexto a través de las reproducciones de sesiones. Demuestra la importancia del contexto en la resolución de errores y muestra las características de la reproducción de sesiones, como ver HTML, registros de consola, solicitudes de red y enlaces a errores del backend. El masterclass también cubre el uso de DOM virtual y observador de mutaciones para cambios de página eficientes. Las preocupaciones de privacidad se abordan reemplazando la información sensible en las reproducciones, y se destaca el poder de la reproducción de sesiones para identificar y comprender la secuencia de errores.

1. Introducción a Replay y Solución de Errores

Short description:

Esta charla es una introducción a una nueva herramienta llamada Replay. Es una herramienta enfocada en desarrolladores que te ayuda a resolver problemas más rápido. El problema son los errores, y el taller describirá qué es un replay y demostrará cómo funciona. Habrá una demostración en vivo y documentación disponible para configurarlo en tu sitio web. El ejemplo de error mostrado es un error real que es difícil de resolver sin herramientas adicionales. El seguimiento de la pila proporciona información valiosa sobre el error.

De todos modos, mi nombre es Ryan Albrecht. Trabajo en Century como ingeniero principal de front-end en nuestro producto de replay de sesiones. Y esta charla o taller trata sobre cómo resolver el 100% de tus errores y encontrar la causa raíz de tus problemas más rápido. Básicamente es una introducción. Pero si hay algo que aprendas hoy, es que hay una nueva herramienta disponible llamada Replay. Hay muchas empresas que hacen el mismo tipo de herramienta, pero la nuestra es una de las únicas que está enfocada en desarrolladores y que puedes agregar a tu caja de herramientas para resolver problemas más rápido. Esa es la esencia de la charla. Si obtienes algo de esto, es que esta herramienta existe y espero que la investigues más a fondo.

Lo que quiero hacer es contarte sobre ella y emocionarte. Así que vamos a hablar sobre el problema, que son simplemente los errores, y luego describir qué es un replay. Y luego quiero mostrarte cómo funciona en realidad. Habrá una demostración en vivo. No vamos a ver mucho código, pero como hubo una pregunta, quiero mostrarles la documentación. Así que la pondremos aquí. Si quieres configurar esto en tu sitio web, puedes ir a la documentación y hay enlaces en el discord, creo. Y todo lo que tienes que hacer es copiar y pegar este tipo de cosa. Así que este es probablemente el único código que necesitamos ver. Y el resto es simplemente usar la herramienta y obtener algún valor de ella. Así que la documentación está ahí, los enlaces están ahí, ustedes pueden hacer más preguntas después. Pero solo quiero mostrar esto para que tengan algo de contexto.

Ok, ¿cuál es el problema? El problema son los errores. Nunca resolverás todos tus errores, pero existen y tenemos que resolver los más importantes. Este es un error, es un error real que creo que resolví. Probablemente lo resolví. Pero al verlo tal como está, es bastante imposible hacer algo con esto. Podemos ver en la parte superior que dice S printf esperando un número pero encontró un arreglo. Esto es y esta es la única parte útil en esta página completa aquí. Es un seguimiento de pila de JavaScript minificado. Lo que significa que es una instantánea en el tiempo donde algo sucedió, algo inesperado sucedió. Y el JavaScript lanzó un error.

2. Introducción a la Solución de Errores

Short description:

Esto es lo básico de los errores en JavaScript. A menudo tenemos un seguimiento de pila, pero aún es difícil resolver el error. Esperamos un número pero encontramos un arreglo dentro del formateador de mensajes. Desconocemos el origen del arreglo o la experiencia del usuario. No es ideal.

Y esto es más o menos desde donde partimos cuando pensamos en los errores en JavaScript y en lo que necesitamos hacer para resolverlos. Esto es lo básico, y es prácticamente imposible. A veces decimos, está bien, tenemos un seguimiento de pila, ¿no sería genial si fuera un ticket? Alguien podría ingresarlo en nuestro JIRA o algo así. Si lo hacen, es posible que obtengamos un seguimiento de pila no ofuscado. Aquí hay uno que es un poco más legible. Podemos ver que hay archivos como error boundary.tsx y message formatter.tsx. Entonces, esto hace que el seguimiento de pila sea un poco más fácil de leer. Pero en realidad, sigue siendo muy, muy difícil resolver este error. Esperamos un número, encontramos un arreglo, y esto ocurre dentro del formateador de mensajes. Ocurrió una vez, de todos modos. Podría haber ocurrido muchas veces. No sé qué era el arreglo. No sé de dónde vino. Podría poner una declaración if allí y simplemente decir, si es un arreglo, deja de hacer lo que estás haciendo. Eso evitará que ocurra este error. Pero no sé cuál será la experiencia del usuario. No es ideal. Aquí es desde donde partimos.

Watch more workshops on topic

Masterclass de Depuración de Rendimiento de React
React Summit 2023React Summit 2023
170 min
Masterclass de Depuración de Rendimiento de React
Top Content
Featured WorkshopFree
Ivan Akulov
Ivan Akulov
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Vería una interacción lenta, intentaría una optimización aleatoria, vería que no ayudaba, y seguiría intentando otras optimizaciones hasta que encontraba la correcta (o se rendía).
En aquel entonces, Ivan no sabía cómo usar bien las herramientas de rendimiento. Haría una grabación en Chrome DevTools o React Profiler, la examinaría, intentaría hacer clic en cosas aleatorias, y luego la cerraría frustrado unos minutos después. Ahora, Ivan sabe exactamente dónde y qué buscar. Y en esta masterclass, Ivan te enseñará eso también.
Así es como va a funcionar. Tomaremos una aplicación lenta → la depuraremos (usando herramientas como Chrome DevTools, React Profiler, y why-did-you-render) → identificaremos el cuello de botella → y luego repetiremos, varias veces más. No hablaremos de las soluciones (en el 90% de los casos, es simplemente el viejo y regular useMemo() o memo()). Pero hablaremos de todo lo que viene antes - y aprenderemos a analizar cualquier problema de rendimiento de React, paso a paso.
(Nota: Esta masterclass es más adecuada para ingenieros que ya están familiarizados con cómo funcionan useMemo() y memo() - pero quieren mejorar en el uso de las herramientas de rendimiento alrededor de React. Además, estaremos cubriendo el rendimiento de la interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)
Cómo Resolver Problemas del Mundo Real con Remix
Remix Conf Europe 2022Remix Conf Europe 2022
195 min
Cómo Resolver Problemas del Mundo Real con Remix
Featured Workshop
Michael Carter
Michael Carter
- ¿Errores? Cómo renderizar y registrar tus errores del servidor y del clientea - Cuándo devolver errores vs lanzar excepcionesb - Configurar servicios de registro como Sentry, LogRocket y Bugsnag- ¿Formularios? Cómo validar y manejar formularios de varias páginasa - Usar zod para validar los datos del formulario en tu acciónb - Pasar por formularios de varias páginas sin perder datos- ¿Atascado? Cómo solucionar errores o funciones faltantes en Remix para que puedas continuara - Usar patch-package para solucionar rápidamente tu instalación de Remixb - Mostrar herramienta para gestionar múltiples parches y seleccionar solicitudes de extracción abiertas- ¿Usuarios? Cómo manejar aplicaciones de varios inquilinos con Prismaa - Determinar el inquilino por el host o por el usuariob - Base de datos múltiples o base de datos única/múltiples esquemasc - Asegura que los datos del inquilino siempre estén separados de los demás
Monitoreo 101 para Desarrolladores de React
React Advanced Conference 2023React Advanced Conference 2023
112 min
Monitoreo 101 para Desarrolladores de React
Top Content
WorkshopFree
Lazar Nikolov
Sarah Guthals
2 authors
Si encontrar errores en tu proyecto frontend es como buscar una aguja en un pajar de código, entonces el monitoreo de errores de Sentry puede ser tu detector de metales. Aprende los conceptos básicos del monitoreo de errores con Sentry. Ya sea que estés ejecutando un proyecto de React, Angular, Vue, o simplemente JavaScript “vainilla”, ve cómo Sentry puede ayudarte a encontrar el quién, qué, cuándo y dónde detrás de los errores en tu proyecto frontend.
Depuración del Rendimiento de React
React Advanced Conference 2023React Advanced Conference 2023
148 min
Depuración del Rendimiento de React
Workshop
Ivan Akulov
Ivan Akulov
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Veía una interacción lenta, probaba una optimización aleatoria, veía que no ayudaba, y seguía probando otras optimizaciones hasta que encontraba la correcta (o se rendía).
En aquel entonces, Ivan no sabía cómo usar bien las herramientas de rendimiento. Hacía una grabación en Chrome DevTools o React Profiler, la examinaba, intentaba hacer clic en cosas al azar, y luego la cerraba frustrado unos minutos después. Ahora, Ivan sabe exactamente dónde y qué buscar. Y en esta masterclass, Ivan te enseñará eso también.
Así es como va a funcionar. Tomaremos una aplicación lenta → la depuraremos (usando herramientas como Chrome DevTools, React Profiler, y why-did-you-render) → identificaremos el cuello de botella → y luego repetiremos, varias veces más. No hablaremos de las soluciones (en el 90% de los casos, es simplemente el viejo y regular useMemo() o memo()). Pero hablaremos de todo lo que viene antes - y aprenderemos cómo analizar cualquier problema de rendimiento de React, paso a paso.
(Nota: Esta masterclass es más adecuada para ingenieros que ya están familiarizados con cómo funcionan useMemo() y memo() - pero quieren mejorar en el uso de las herramientas de rendimiento alrededor de React. Además, cubriremos el rendimiento de interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)
Seguimiento de errores y ralentizaciones en Node + JavaScript utilizando Sentry
Node Congress 2022Node Congress 2022
53 min
Seguimiento de errores y ralentizaciones en Node + JavaScript utilizando Sentry
WorkshopFree
Neil Manvar
Neil Manvar
Repasaremos la configuración de Sentry paso a paso para obtener visibilidad en nuestro frontend y backend. Una vez integrado, rastrearemos y solucionaremos errores y transacciones que se muestren en Sentry desde nuestros servicios para comprender por qué/dónde/cómo ocurrieron errores y ralentizaciones en nuestro código de aplicación.
Masterclass de Codificación en Vivo para Configurar la Monitorización de Errores con Rollbar
TypeScript Congress 2023TypeScript Congress 2023
48 min
Masterclass de Codificación en Vivo para Configurar la Monitorización de Errores con Rollbar
WorkshopFree
Nico Krüger
Nico Krüger
Durante esta sesión aprenderás cómo crear una nueva cuenta de Rollbar e integrar el SDK de Rollbar con tu aplicación para monitorizar errores en tiempo real y responder y solucionar esos errores. También cubriremos cómo personalizar los datos de carga útil enviados a Rollbar para ampliar tus capacidades de monitorización.

Agenda:- Crear una cuenta de Rollbar (Cuenta gratuita)- Integra tu aplicación con el SDK de Rollbar- Enviar errores gestionados y no gestionados a Rollbar- Añadir datos de carga útil personalizados a tu configuración.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Depuración Web Moderna
JSNation 2023JSNation 2023
29 min
Depuración Web Moderna
Top Content
Pocos desarrolladores disfrutan depurando, y la depuración puede ser compleja para las aplicaciones web modernas debido a los múltiples marcos, lenguajes y bibliotecas utilizados. Pero, las herramientas de desarrollo han avanzado mucho en facilitar el proceso. En esta charla, Jecelyn profundizará en el estado moderno de la depuración, las mejoras en DevTools y cómo puedes usarlas para depurar tus aplicaciones de manera confiable.
El Futuro de las Herramientas de Rendimiento
JSNation 2022JSNation 2022
21 min
El Futuro de las Herramientas de Rendimiento
Top Content
Nuestra comprensión del rendimiento y la experiencia del usuario ha evolucionado mucho a lo largo de los años. Las herramientas de desarrollo web necesitan evolucionar de manera similar para asegurarse de que sean centradas en el usuario, accionables y contextuales donde se refiere a las experiencias modernas. En esta charla, Addy te guiará a través de cómo Chrome y otros han estado pensando en este problema y qué actualizaciones han estado haciendo a las herramientas de rendimiento para reducir la fricción para construir grandes experiencias en la web.
Depuración de JS
React Summit 2023React Summit 2023
24 min
Depuración de JS
Top Content
Como desarrolladores, pasamos gran parte de nuestro tiempo depurando aplicaciones, a menudo código que ni siquiera escribimos. Lamentablemente, a pocos desarrolladores se les ha enseñado cómo abordar la depuración, es algo que la mayoría de nosotros aprendemos a través de la experiencia dolorosa. La buena noticia es que _puedes_ aprender a depurar de manera efectiva, y hay varias técnicas y herramientas clave que puedes usar para depurar aplicaciones de JS y React.
De la Fricción al Flujo: Depuración con Chrome DevTools
JSNation 2024JSNation 2024
32 min
De la Fricción al Flujo: Depuración con Chrome DevTools
Codificar y depurar debería fluir, no desvanecerse. Veamos qué hay de nuevo y mejorado en Chrome DevTools para que tu viaje de desarrollo y depuración web sea suave como la seda.
Rome, ¡una cadena de herramientas moderna!
JSNation 2023JSNation 2023
31 min
Rome, ¡una cadena de herramientas moderna!
Top Content
Los proyectos modernos de JavaScript vienen en muchas formas: sitios web, aplicaciones web, aplicaciones de escritorio, aplicaciones móviles y más. Para la mayoría de ellos, el denominador común es la deuda técnica que proviene de la configuración de herramientas: empaquetadores, suite de pruebas, análisis de código, documentación, etc. Quiero presentarte Rome, una cadena de herramientas que aspira a ser una herramienta todo en uno para la web, con una sola herramienta puedes mantener la salud de todos tus proyectos!
Dominando el Manejo de Errores en Node.js
Node Congress 2022Node Congress 2022
21 min
Dominando el Manejo de Errores en Node.js
Los errores ocurren en todos los programadores. Los desarrolladores tienen diferentes opciones: suprimirlo, notificar al usuario, informar al equipo, ignorarlo o escribir código para manejar el error.
En esta charla, aprenderás todos los aspectos importantes del sistema de errores de Node.js, los tipos de errores, diferentes formas de entregar un error y patrones para mejorar el manejo de errores, ¡con ejemplos!