Capítulo 24. Encender todos los motores
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Michael Hambre
Los perfiladores tradicionales de Java utilizan la instrumentación del código de bytes o el muestreo (tomar trazas de la pila a intervalos cortos) para determinar dónde se ha empleado el tiempo. Ambos enfoques añaden sus propios sesgos y rarezas. Comprender la salida de estos perfiladores es un arte en sí mismo y requiere bastante experiencia.
Afortunadamente, Brendan Gregg, un ingeniero de rendimiento de Netflix, ideó los gráficos de llama, un ingenioso tipo de diagrama para los rastros de pila que se pueden recopilar de casi cualquier sistema.
Un gráfico de llamas ordena y agrega las trazas hasta cada nivel de pila, de modo que su recuento por nivel represente el porcentaje del tiempo total empleado en esa parte del código. Renderizar esos bloques como bloques reales (rectángulos) con la anchura proporcional al porcentaje y apilar los bloques unos sobre otros resultó muy útil.

Las "llamas" representan de abajo a arriba la progresión desde el punto de entrada del programa o hilo (main o un bucle de eventos) hasta las hojas de la ejecución en las puntas de las llamas. Ten en cuenta que el orden de izquierda a ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access