- Plataforma de código abierto diseñada y desarrollada con liderazgo de Google con el objetivo de convertirse en una pila de trazado de sistemas de próxima generación
- Observa el flujo de ejecución de sistemas complejos basado en trazas para analizar la causa de problemas de rendimiento y funcionamiento
- Estabilidad y rendimiento de nivel de producción, adoptado como el sistema de trazado predeterminado de Android y del navegador Chromium
- Mediante un daemon de trazado de alto rendimiento, recopila eventos de múltiples procesos e hilos en una sola traza unificada
- Ofrece un SDK de C++17 de bajo overhead para instrumentar con precisión los cambios de tiempo y estado en aplicaciones de espacio de usuario
- A través de probes a nivel de SO, recopila contexto de todo el sistema en Android y Linux, como planificación, frecuencia de CPU, memoria y call stacks
- Con una UI basada en navegador, visualiza trazas de gran tamaño centradas en la línea de tiempo y las explora de forma interactiva
- Puede ejecutarse en los principales navegadores sin instalación adicional y también permite abrir varios formatos de trazas externos
- Integra un motor de análisis basado en SQL que permite consultar las trazas como si fueran datos y extraer métricas personalizadas
- La documentación oficial está disponible en perfetto.dev, con guías por niveles para principiantes y usuarios avanzados
- Proyecto abierto que sigue las directrices de la comunidad open source de Google
Por qué usar Perfetto
- Los desarrolladores de apps y plataforma Android pueden analizar de forma estructurada la causa raíz de problemas de rendimiento como retrasos en el inicio, caída de frames y ANR
- Los desarrolladores de C/C++ pueden usar el Tracing SDK para instrumentar la ruta de ejecución de la aplicación e identificar con precisión cuellos de botella
- Los desarrolladores de kernel Linux y sistemas pueden visualizar eventos del kernel basados en
ftrace para analizar planificación, llamadas al sistema e interrupciones
- Los desarrolladores de Chromium usan Perfetto como backend de
chrome://tracing para depurar el funcionamiento interno del navegador, V8 y Blink
- Los ingenieros de rendimiento y SRE pueden analizar de forma unificada con SQL diversos formatos, como Linux perf, macOS Instruments y Chrome JSON trace
2 comentarios
En el artículo publicado hace poco, Meta, el planificador de Linux diseñado para el Steam Deck de Valve a gran escala en servidores | GeekNews, también se muestran materiales de perfilado usando perfetto.
Lo veo seguido en otros posts, pero me pareció que en GeekNews no se había presentado bien, así que aunque sea tarde lo subo ;)
Mi colección favorita de herramientas de rastreo: eBPF, QEMU, Perfetto