Identificar Problemas y Prevenir Ralentizaciones en tus Aplicaciones Vue.JS

Rate this content
Bookmark

En esta charla relámpago, verás:

1. La falta de visibilidad en las aplicaciones Vue.js.

2. Cómo instalar el SDK de Sentry Vue.js.

3. Cómo puedes utilizar Sentry para identificar errores y ralentizaciones dentro de tu aplicación Vue.js.

This talk has been presented at Vue.js London Live 2021, check out the latest edition of this JavaScript Conference.

FAQ

Sentry es una plataforma que se enfoca en la observabilidad del código, permitiendo a los desarrolladores entender la salud de sus aplicaciones desde el front end hasta el back end. Se utiliza para monitorear errores y el rendimiento de las aplicaciones, facilitando la optimización de la experiencia del desarrollador y del cliente.

Integrar Sentry con Vue es sencillo mediante una instalación de NPM y configurando unas pocas líneas de código en tu aplicación. Esto conecta Sentry con tu manejador global de errores, permitiendo que los eventos y transacciones sean enviados a Sentry a medida que los usuarios interactúan con la aplicación.

Sentry ofrece soporte para todos los principales lenguajes de programación y frameworks, incluyendo Vue, lo que lo hace accesible para una amplia gama de desarrolladores.

Sentry muestra detalles como el tipo de error, el mensaje de error, la frecuencia de ocurrencia, la cantidad de usuarios afectados, enlaces a los commits que pudieron haber causado el error, y una traza de la pila legible, entre otros datos contextualizados.

Las migas de pan en Sentry son registros de las actividades que preceden a un error o problema, ofreciendo un contexto adicional sobre lo que estaba ocurriendo en la aplicación antes del incidente. Los desarrolladores pueden añadir sus propias migas de pan para personalizar el seguimiento.

Sentry identifica problemas de rendimiento y errores en la aplicación, permitiendo a los desarrolladores hacer ajustes para optimizar el tiempo de carga y las interacciones, lo que reduce la frustración del usuario y mejora la estabilidad de la aplicación.

La traza distribuida en Sentry permite ver cómo las transacciones y errores están relacionados entre el front end y el back end de la aplicación. Esto ayuda a identificar y resolver problemas más complejos que involucran múltiples componentes del sistema.

Simon Zhong
Simon Zhong
8 min
20 Oct, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Hola, soy Simon, un ingeniero de soluciones en Sentry. Nos enfocamos en la observabilidad del código, brindando soporte para todos los principales lenguajes y frameworks. Con el SDK de Sentry, puedes monitorear errores y rendimiento. Comienza con un proceso de instalación sencillo. Sentry proporciona información detallada sobre errores, incluyendo la traza de la pila y la información contextual. También admite sistemas de control de código fuente e integra con herramientas de seguimiento de problemas. La función de traza distribuida te permite ver las relaciones entre errores en el front-end y back-end. Podemos optimizar las consultas para mejorar la experiencia del usuario y reducir el sufrimiento del usuario.

1. Introducción a Sentry y Observabilidad de Código

Short description:

Hola, soy Simon, un ingeniero de soluciones en Sentry. Nos enfocamos en la observabilidad del código, brindando soporte a todos los lenguajes y frameworks principales. Con el SDK de Sentry, puedes monitorear errores y rendimiento. Comienza con un proceso de instalación sencillo.

Hola. Mi nombre es Simon. Soy un ingeniero de soluciones en Sentry. Nos enfocamos en la observabilidad del código. Con Sentry, puedes entender la salud de tu aplicación desde el front end hasta el back end. Sentry está diseñado para todos los desarrolladores, lo que significa que brindamos soporte a todos los lenguajes principales y frameworks, incluyendo Vue. Con el SDK de Sentry en tu aplicación, puedes alertar a los miembros del equipo necesarios y permitir que tus desarrolladores optimicen la experiencia del desarrollador y del cliente. La plataforma de Sentry proporciona múltiples perspectivas sobre la salud de tu aplicación. Pero hoy nos enfocaremos en el monitoreo de errores y el monitoreo de rendimiento. Para comenzar con Sentry, vamos al sitio de documentación de Sentry, buscamos Vue, o hacemos clic para ver las 99 plataformas compatibles. Y en esta sección de JavaScript, tenemos un enlace a Vue. El proceso de instalación es muy sencillo. Es una instalación de NPM y unos pocos

2. Monitoreo y Análisis de Errores de Sentry

Short description:

Lo que esto hará es conectar Sentry a tu manejador global de errores. A medida que los usuarios interactúan con tu aplicación, se envían eventos y transacciones a Sentry. Puedes configurar alertas para recibir notificaciones de errores en tiempo real. Sentry proporciona información detallada sobre los errores, incluyendo la traza de la pila e información contextual. También admite sistemas de control de código fuente e integra con herramientas de seguimiento de problemas. La función de traza distribuida te permite ver las relaciones entre los errores en el front-end y el back-end.

líneas de código para configurar Vue en tu aplicación. Lo que esto hará es conectar Sentry a tu manejador global de errores. Y a medida que los usuarios interactúan con tu aplicación, se envían eventos y transacciones a Sentry. Aquí tengo una aplicación de demostración Vue muy básica. Echemos un vistazo juntos. Acabo de actualizarla porque la he configurado para que se envíe una solicitud HTTP al cargar la página. Revisaremos lo que eso significa en el lado del performance, pero por ahora hagamos clic en estos botones de error. Y a medida que estos errores ocurren, también se envían a Sentry. He configurado algunas alertas para nosotros. Así que en realidad estamos recibiendo notificaciones de estos errores mientras ocurren. Así que en Slack, acabo de hacer clic en una notificación que nos llevará directamente a este error. Y todos estos detalles del error se muestran frente a mí. Tenemos el error, el mensaje de error, la magnitud de este error, cuántas veces ocurrió y cuántos usuarios se vieron afectados. También integramos con sistemas de control de código fuente, por lo que tenemos detalles sobre el commit que pudo haber causado esto, enlaces a esos commits, información contextual a través de estas etiquetas como los detalles del usuario, el entorno en el que se encuentran. Podemos agregar nuestras propias etiquetas, pero lo que probablemente nos importa más en este momento es la traza de la pila. Así que está justo debajo. Y en un mundo sin Sentry, estaríamos lidiando más con una traza de pila minimizada, óptima para el performance, pero no muy legible para los humanos. Pero afortunadamente, Sentry nos ayuda con eso. Así que durante nuestro proceso de compilación, hemos subido nuestros mapas de origen, Sentry tomó eso, tradujo el mapa de origen, la traza de la pila para nosotros, y tenemos esta hermosa traza de pila legible para los humanos, incluyendo el resaltado de la línea donde ocurrió el error. Y vemos que la respuesta fue falsa. También sabemos qué archivo revisar. Así que tengamos todo eso en mente, cosas muy interesantes. Pero justo debajo de eso, tenemos más contexto, una línea de tiempo de las actividades en nuestras migas de pan. También podemos agregar nuestras propias migas de pan si queremos. Y todo esto está instrumentado automáticamente. Podemos ajustar el tiempo a un formato más de cuenta regresiva donde cuando lleguemos a tiempo igual a cero, obtendremos ese error interno del servidor. Así que todo esto es genial para obtener más contexto. Y si eso no fuera suficiente, este error ha ocurrido unas 50 veces. Así que hemos recopilado todas las etiquetas de todos estos errores en esta sección de mapa de calor a la derecha. Con toda esta información, el contexto y el contenido desde la perspectiva del front-end, podemos considerar crear un nuevo ticket o vincularlo a un ticket existente a través de estas integraciones con herramientas de seguimiento de problemas. También quiero llamar la atención sobre la función de traza distribuida que tenemos en Sentry. Dado que tenemos Sentry instalado en nuestro back-end

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

Todo Más Allá de la Gestión de Estado en Tiendas con Pinia
Vue.js London Live 2021Vue.js London Live 2021
34 min
Todo Más Allá de la Gestión de Estado en Tiendas con Pinia
Top Content
State management is not limited to complex applications and transitioning to a store offers significant benefits. Pinia is a centralized state management solution compatible with Vue 2 and Vue 3, providing advanced devtools support and extensibility with plugins. The core API of Pinia is similar to Vuex, but with a less verbose version of stores and powerful plugins. Pinia allows for easy state inspection, error handling, and testing. It is recommended to create one file per store for better organization and Pinia offers a more efficient performance compared to V-rex.
Bienvenido a Nuxt 3
Vue.js London Live 2021Vue.js London Live 2021
29 min
Bienvenido a Nuxt 3
Top Content
Nux3 has made significant improvements in performance, output optimization, and serverless support. Nuxt Bridge brings the Nitro engine for enhanced performance and easier transition between Nuxt 2 and Nuxt Read. Nuxt 3 supports Webpack 5, Bytes, and Vue 3. NextLab has developed brand new websites using Docus technology. Nuxt.js is recommended for building apps faster and simpler, and Nuxt 2 should be used before migrating to Nuxt 3 for stability. DOCUS is a new project that combines Nuxt with additional features like content modules and an admin panel.
Un Año en Vue 3
Vue.js London Live 2021Vue.js London Live 2021
20 min
Un Año en Vue 3
Top Content
Vue 3 has seen significant adoption and improvements in performance, bundle size, architecture, and TypeScript integration. The ecosystem around Vue 3 is catching up, with new tools and frameworks being developed. The Vue.js.org documentation is undergoing a complete overhaul. PNIA is emerging as the go-to state management solution for Vue 3. The options API and composition API are both viable options in Vue 3, with the choice depending on factors such as complexity and familiarity with TypeScript. Vue 3 continues to support CDN installation and is recommended for new projects.
Utilizando Rust desde Vue con WebAssembly
Vue.js London Live 2021Vue.js London Live 2021
8 min
Utilizando Rust desde Vue con WebAssembly
Top Content
In this Talk, the speaker demonstrates how to use Rust with WebAssembly in a Vue.js project. They explain that WebAssembly is a binary format that allows for high-performance code and less memory usage in the browser. The speaker shows how to build a Rust example using the WasmPack tool and integrate it into a Vue template. They also demonstrate how to call Rust code from a Vue component and deploy the resulting package to npm for easy sharing and consumption.
Vue: Actualizaciones de Características
Vue.js London 2023Vue.js London 2023
44 min
Vue: Actualizaciones de Características
Top Content
The Talk discusses the recent feature updates in Vue 3.3, focusing on script setup and TypeScript support. It covers improvements in defining props using imported types and complex types support. The introduction of generic components and reworked signatures for defined components provides more flexibility and better type support. Other features include automatic inference of runtime props, improved define emits and defined slots, and experimental features like reactive props destructure and define model. The Talk also mentions future plans for Vue, including stabilizing suspense and enhancing computer invalidations.
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Vue.js London Live 2021Vue.js London Live 2021
24 min
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Top Content
This Talk discusses handling local state in software development, particularly when dealing with asynchronous behavior and API requests. It explores the challenges of managing global state and the need for actions when handling server data. The Talk also highlights the issue of fetching data not in Vuex and the challenges of keeping data up-to-date in Vuex. It mentions alternative tools like Apollo Client and React Query for handling local state. The Talk concludes with a discussion on GitLab going public and the celebration that followed.

Workshops on related topic

Vue3: Desarrollo Moderno de Aplicaciones Frontend
Vue.js London Live 2021Vue.js London Live 2021
169 min
Vue3: Desarrollo Moderno de Aplicaciones Frontend
Top Content
Featured WorkshopFree
Mikhail Kuznetsov
Mikhail Kuznetsov
Vue3 fue lanzado a mediados de 2020. Además de muchas mejoras y optimizaciones, la principal característica que trae Vue3 es la API de Composición, una nueva forma de escribir y reutilizar código reactivo. Aprendamos más sobre cómo usar la API de Composición de manera eficiente.

Además de las características principales de Vue3, explicaremos ejemplos de cómo usar bibliotecas populares con Vue3.

Tabla de contenidos:
- Introducción a Vue3
- API de Composición
- Bibliotecas principales
- Ecosistema Vue3

Requisitos previos:
IDE de elección (Inellij o VSC) instalado
Nodejs + NPM
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 2023React Advanced 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.
Monitoreo 101 para Desarrolladores de React
React Summit US 2023React Summit US 2023
107 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”, mira 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.
Nivel de la masterclass: Intermedio
Usando Nitro - Construyendo una Aplicación con el Último Motor de Renderizado de Nuxt
Vue.js London Live 2021Vue.js London Live 2021
117 min
Usando Nitro - Construyendo una Aplicación con el Último Motor de Renderizado de Nuxt
Top Content
Workshop
Daniel Roe
Daniel Roe
Construiremos un proyecto Nuxt juntos desde cero usando Nitro, el nuevo motor de renderizado de Nuxt, y Nuxt Bridge. Exploraremos algunas de las formas en que puedes usar y desplegar Nitro, mientras construimos una aplicación juntos con algunas de las restricciones del mundo real que enfrentarías al desplegar una aplicación para tu empresa. En el camino, dispara tus preguntas hacia mí y haré lo mejor para responderlas.
TresJS crea experiencias 3D de forma declarativa con componentes Vue
Vue.js London 2023Vue.js London 2023
137 min
TresJS crea experiencias 3D de forma declarativa con componentes Vue
Workshop
Alvaro Saburido
Alvaro Saburido
- Introducción a 3D- Introducción a WebGL- ThreeJS- Por qué TresJS- Instalación o configuración de Stackblitz- Conceptos básicos- Configuración del lienzo- Escena- Cámara- Agregar un objeto- Geometrías- Argumentos- Props- Slots- El bucle- Composable UseRenderLoop- Callbacks antes y después de la renderización- Animaciones básicas- Materiales- Material básico- Material normal- Material Toon- Material Lambert- Material estándar y físico- Metalness, roughness- Luces- Luz ambiental- Luz direccional- Luces puntuales- Sombras- Texturas- Cargar texturas con useTextures- Consejos y trucos- Misceláneo- Controles de órbita- Cargar modelos con Cientos- Depuración de tu escena- Rendimiento