Interactúa con el gráfico tipo llama

Cloud Profiler muestra los datos de creación de perfiles con gráficos tipo llama. Para obtener una introducción conceptual, consulta la página sobre gráficos tipo llama.

El gráfico tipo llama está compuesto por marcos. Cada marco representa una función en el servicio:

  • El ancho de un marco corresponde al consumo de la métrica que se analiza. El marco superior, por ejemplo, representa todo el servicio y consume el 100% de la métrica que se analiza. Por lo tanto, este marco se muestra como ancho completo.

  • De forma predeterminada, el color del marco corresponde, cuando es posible, al paquete de la función. Si la información del paquete no está disponible, como en Node.js, los nombres de los archivos de origen se usan para aplicar color a los bloques de funciones. En una pila de llamadas, un cambio en el color del bloque significa una transición de un paquete a otro. Puedes cambiar el color de los marcos. Para obtener más información, consulta la sección sobre modo de color.

En el gráfico tipo llama, se muestra una o más pilas de llamadas con los valores promediados de un conjunto de perfiles:

  • Cada perfil individual representa los datos recopilados una vez por minuto desde una sola instancia del servicio configurado en una sola zona de Compute Engine. El período de recopilación de un perfil varía según el tipo de perfil. Consulta la sección sobre colección de perfiles para obtener más información.
  • Se promedia un máximo de 250 perfiles. Si hay más de 250 perfiles disponibles, 250 de ellos se seleccionan al azar como un conjunto de muestra.
  • El marco superior, o “raíz”, en un gráfico tipo llama representa todo el servicio. Debajo del marco “raíz”, hay otro marco o conjunto de marcos que conforman la segunda fila del gráfico. Cada uno de estos marcos codificados por color es una llamada de nivel superior que realiza el servicio. Debajo de cada marco de función de color, hay otro conjunto de marcos de función, cada uno de los cuales es responsable de una parte del recurso del marco. La jerarquía de los marcos de funciones en el gráfico representa la secuencia de llamadas, y el ancho 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ón consumido para docdemo-service muestra que el servicio llama a diferentes marcos de nivel superior, y uno de ellos es la función main del entorno de ejecución de Go. El ancho de estos marcos de nivel superior muestra que la mayoría del montón se consume en la pila de llamadas con main, main, allocOnce y allocImpl específicos de la aplicación:

Gráfico del generador de perfiles para el montón consumido.

El marco raíz muestra información de consumo de métricas.

Desplázate sobre un marco

Cuando mantienes el puntero sobre un marco en el gráfico tipo llama, se abre una información sobre la herramienta de marco y se muestra 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 de la métrica y el porcentaje corresponden a una función y 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 con el consumo de sus elementos secundarios.

El cuadro de diálogo también incluye botones:

  • Focus: Se enfoca en el grafo en la función del marco actual.
  • Show stacks: Agrega un filtro para mostrar solo las pilas que incluyen la función de este marco.
  • Show history: Abre la vista del historial para la función del marco.

En este ejemplo, la información sobre la herramienta 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, o aproximadamente el 98% de la memoria total que consume el programa:

Consumo de métricas para runtime.main.

Selecciona un marco

Cuando seleccionas un marco, el gráfico tipo llama se vuelve a dibujar con ese marco completo y se silencian los colores de la pila de llamadas. Si seleccionas un marco, no se modificará la configuración, solo se cambiará la forma en que se muestra el gráfico. Para volver a la vista original, selecciona el marco raíz (parte superior).

En el siguiente ejemplo, el puntero está en un marco pequeño y es difícil ver la pila de llamadas. La información sobre la herramienta identifica (*huffmanBitWriter).write como la función de marco:

Un marco pequeño en el gráfico tipo llama.

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:

El marco pequeño se expandió.

¿Qué sigue?