loading...

馃殌 驴C贸mo usar la vista de rendimiento de DevTools con Flutter?

rosepac profile image Pablo 脕lvarez Corredera Originally published at ciberninjas.com on 銉5 min read

Nota: La vista de rendimiento solo funciona con aplicaciones m贸viles. Use Chrome DevTools para analizar el rendimiento de una aplicaci贸n web.

驴Qu茅 es la vista de rendimiento de DevTools?

La vista de rendimiento le permite grabar y perfilar una sesi贸n desde su aplicaci贸n Dart.

Nota: Si est谩 ejecutando una aplicaci贸n Flutter, use una compilaci贸n de perfil para analizar el rendimiento. Los perfiles de CPU no son indicativos del rendimiento de la versi贸n a menos que su aplicaci贸n Flutter se ejecute en modo de perfil.

CPU Profiler

Comience a grabar un perfil de CPU haciendo clic en Grabar. Cuando termine de grabar, haga clic en Detener. En este punto, los datos de creaci贸n de perfiles de CPU se extraen de la m谩quina virtual y se muestran en las vistas del generador de perfiles (脕rbol de llamadas, De abajo hacia arriba y Gr谩fico de llama).

Perfil de granularidad

La velocidad predeterminada a la que la VM recolecta muestras de CPU es 1 muestra / 250 渭s. Esto se selecciona de forma predeterminada en la vista Rendimiento como 鈥淕ranularidad de perfil: medio鈥. Esta tasa se puede modificar a trav茅s del selector en la parte superior de la p谩gina. Las tasas de muestreo para granularidad baja, media y alta son 1/50 渭s, 1/250 渭s y 1/1000 渭s, respectivamente. Es importante conocer las desventajas de modificar esta configuraci贸n.

Un perfil de granularidad m谩s alto tiene una tasa de muestreo m谩s alta y, por lo tanto, produce un perfil de CPU de grano fino con m谩s muestras. Esto tambi茅n puede afectar el rendimiento de su aplicaci贸n, ya que la VM se interrumpe con m谩s frecuencia para recopilar muestras. Esto tambi茅n hace que el b煤fer de muestra de CPU de la VM se desborde m谩s r谩pidamente. La m谩quina virtual tiene un espacio limitado donde puede almacenar informaci贸n de muestra de la CPU. A una frecuencia de muestreo m谩s alta, el espacio se llena y comienza a desbordarse antes de lo que lo har铆a si se utilizara una frecuencia de muestreo m谩s baja. Esto significa que es posible que no tenga acceso a las muestras de CPU desde el comienzo del perfil grabado.

Un perfil de granularidad m谩s bajo tiene una tasa de muestreo m谩s baja y, por lo tanto, produce un perfil de CPU de grano grueso con menos muestras. Sin embargo, esto afecta menos el rendimiento de su aplicaci贸n. El b煤fer de muestra de la m谩quina virtual tambi茅n se llena m谩s lentamente, por lo que puede ver muestras de CPU durante un per铆odo de tiempo de ejecuci贸n de la aplicaci贸n m谩s largo. Esto significa que tiene una mejor oportunidad de ver muestras de CPU desde el comienzo del perfil grabado.

Tabla de llamas

Esta pesta帽a del generador de perfiles muestra muestras de CPU para la duraci贸n registrada. Este gr谩fico debe verse como un seguimiento de la pila de arriba hacia abajo, donde el marco de la pila superior llama al que est谩 debajo de 茅l. El ancho de cada marco de pila representa la cantidad de tiempo que consumi贸 la CPU. Los marcos de pila que consumen mucho tiempo de CPU pueden ser un buen lugar para buscar posibles mejoras de rendimiento.

Captura de pantalla de un gr谩fico de llamas

脕rbol de llamadas

La vista de 谩rbol de llamadas muestra el rastreo del m茅todo para el perfil de CPU. Esta tabla es una representaci贸n de arriba hacia abajo del perfil, lo que significa que se puede expandir un m茅todo para mostrar sus calles .

  • Tiempo Total

Tiempo que el m茅todo dedic贸 a ejecutar su propio c贸digo, as铆 como el c贸digo de sus calles.

  • Tiempo propio

Tiempo que el m茅todo pas贸 ejecutando solo su propio c贸digo.

  • M茅todo

Nombre del m茅todo llamado.

  • Fuente

Ruta del archivo para el sitio de llamada al m茅todo.

Captura de pantalla de una tabla de 谩rbol de llamadas

De abajo hacia arriba

La vista ascendente muestra el seguimiento del m茅todo para el perfil de la CPU pero, como su nombre indica, es una representaci贸n ascendente del perfil. Esto significa que cada m茅todo de nivel superior en la tabla es en realidad el 煤ltimo m茅todo en la pila de llamadas para una muestra de CPU dada (en otras palabras, es el nodo hoja para la muestra).

En esta tabla, se puede expandir un m茅todo para mostrar a quienes llaman .

  • Tiempo Total

Tiempo que el m茅todo dedic贸 a ejecutar su propio c贸digo, as铆 como el c贸digo de su destinatario.

  • Tiempo propio

Para los m茅todos de nivel superior en el 谩rbol de abajo hacia arriba (marcos de pila de hojas en el perfil), este es el tiempo que el m茅todo pas贸 ejecutando solo su propio c贸digo. Para los nodos secundarios (las personas que llaman en el perfil de la CPU), este es el tiempo propio de la persona que llama cuando la llama la persona que llama. En el siguiente ejemplo, el tiempo propio de la persona Element.updateSlotForChild.visit()que llama es igual al tiempo propio de la persona [Stub] OneArgCheckInLineCacheque llama cuando es llamado por la persona que llama.

  • M茅todo

Nombre del m茅todo llamado.

  • Fuente

Ruta del archivo para el sitio de llamada al m茅todo. Captura de pantalla de una tabla de abajo hacia arriba

Gu铆a de DevTools

馃憠 驴Qu茅 es DevTools?馃憠 驴C贸mo instalar DevTools?馃憠 驴C贸mo usar el inspector de DevTools?馃憠 驴C贸mo usar la l铆nea de tiempo de DevTools?馃憠 驴C贸mo usar la vista de memoria de DevTools?馃憠 驴C贸mo usar la vista de rendimiento de DevTools?馃憠 驴C贸mo usar el depurador de DevTools?馃憠 驴C贸mo usar la vista de registro de DevTools? 馃憠 Gu铆a Flutter?

Relacionados

馃憠 Cursos en Espa帽ol 馃憠 Ejemplos de Aplicaciones 鈿 Documentaci贸n en Espa帽ol

Fuente : Salvo que se indique lo contrario, este trabajo est谩 licenciado bajo una licencia internacional Creative Commons Attribution 4.0 y los ejemplos de c贸digo est谩n licenciados bajo la licencia BSD. Creado por Flutter Oficial

Posted on by:

rosepac profile

Pablo 脕lvarez Corredera

@rosepac

I find, read and report everything that can be useful for a programmer or web developer apprentice

Discussion

pic
Editor guide