Interactuar con el gráfico de llamas
Cloud Profiler muestra los datos de creación de perfiles mediante gráficos de llamas. Para ver una introducción conceptual, consulta Gráficos de llamas.
El gráfico tipo llamas se compone de marcos. Cada marco representa una función del servicio:
La anchura de un marco corresponde al consumo de la métrica que se está analizando. Por ejemplo, el marco superior representa todo el servicio y consume el 100% de la métrica analizada. Por lo tanto, este marco se muestra a pantalla completa.
De forma predeterminada, el color del marco corresponde, si es posible, al paquete de la función. Si la información del paquete no está disponible, como ocurre con Node.js, los nombres de los archivos de origen se utilizan para colorear los bloques de funciones. En una pila de llamadas, un cambio en el color de un bloque significa una transición de un paquete a otro. Puedes cambiar la forma en que se colorean los fotogramas. Para obtener más información, consulta Modo de color.
El gráfico de llamas muestra una o varias pilas de llamadas con los valores promediados en un conjunto de perfiles:
- Cada perfil representa los datos recogidos una vez por minuto de una sola instancia del servicio configurado en una sola zona de Compute Engine. El periodo de recogida de un perfil varía en función del tipo de perfil. Consulta la sección Recogida de datos de perfiles para obtener más información.
- Se calcula la media de un máximo de 250 perfiles. Si hay más de 250 perfiles disponibles, se seleccionarán 250 de ellos de forma aleatoria como conjunto de muestra.
- El marco superior, o "raíz", de un gráfico de llamas representa todo el servicio. Debajo del marco "root", hay otro marco o conjunto de marcos que forman la segunda fila del gráfico. Cada uno de estos marcos con código de colores es una llamada de nivel superior realizada por el servicio. Debajo de cada uno de esos marcos de funciones de color hay otro conjunto de marcos de funciones, cada uno de los cuales se encarga de una parte del recurso del marco situado encima. La jerarquía de los marcos de funciones del gráfico representa la secuencia de llamadas, y la anchura de un marco representa la contribución de esa función o método al consumo de recursos.
Por ejemplo, el gráfico del generador de perfiles del montículo consumido de docdemo-service
muestra que el servicio llama a diferentes marcos de nivel superior, uno
de ellos es la función main
del tiempo de ejecución de Go. La anchura de estos marcos de nivel superior muestra que la mayor parte del montículo la consume la pila de llamadas que implica el tiempo de ejecución de Go main
, main
, allocOnce
y allocImpl
específicos de la aplicación:
El marco raíz muestra información sobre el consumo de métricas.
Colocar el cursor sobre un marco
Si mantienes el puntero sobre un marco del gráfico de llamas, se abrirá una descripción emergente con información adicional sobre el marco:
- Nombre de la función
- Nombre de archivo de la función
- Uso absoluto y uso porcentual
En la información de consumo de métricas, el prefijo total indica que el valor y el porcentaje de la métrica corresponden a una función y a sus elementos secundarios. Por el contrario, el prefijo self indica que el valor de la métrica y el porcentaje corresponden a la función sin incluir el consumo de sus elementos secundarios.
El cuadro de diálogo también incluye los siguientes botones:
- Enfoque: centra el gráfico en la función del marco actual.
- Mostrar pilas: añade un filtro para mostrar solo las pilas que incluyen la función de este marco.
- Mostrar historial: abre el historial de la función del marco.
En este ejemplo, la descripción muestra que la función runtime.main
se encuentra en el archivo /usr/local/go/src/runtime/proc.go
. La información de consumo de métricas muestra que runtime.main
y sus elementos secundarios consumen 54,73 MiB de memoria, lo que supone aproximadamente el 98% de la memoria total consumida por el programa:
Seleccionar un marco
Cuando seleccionas un marco, el gráfico de llamas se vuelve a dibujar con ese marco a pantalla completa y los colores más arriba en la pila de llamadas se atenúan. Seleccionar un marco no cambia ningún ajuste, solo modifica la forma en que se muestra el gráfico. Para volver a la vista original, selecciona el marco raíz (superior).
En el siguiente ejemplo, el puntero está en un marco pequeño y es difícil ver la pila de llamadas. La descripción emergente
identifica (*huffmanBitWriter).write
como la función de marco:
Después de seleccionar el marco, el gráfico se vuelve a dibujar, lo que hace que la pila de llamadas sea más visible:
Siguientes pasos
- Filtrar el gráfico tipo llamas
- Centra el gráfico de llamas en una función.
- Ver tendencias históricas.
- Comparar perfiles