El perfilado continuo le ayuda a identificar los cuellos de botella de rendimiento en sus aplicaciones Go causados por la CPU, la memoria y las operaciones de E/S. Proporciona estadísticas detalladas desglosadas por nombre de método, nombre de clase y número de línea, lo que le permite optimizar el código, reducir la latencia, aumentar el rendimiento y ahorrar costos. Este tema describe cómo habilitar la función de perfilado continuo para aplicaciones Go en ARMS y consultar los datos de perfilado.
Requisitos previos
Asegúrese de que su aplicación esté conectada a Application Monitoring y de que el agente de Go esté actualizado a la versión 1.3.0 o posterior. Puede comprobar la versión del agente en la página .
Habilitar el perfilado continuo
Inicie sesión en la consola de ARMS. En el panel de navegación izquierdo, elija .
-
En la página Application List, seleccione la región en la barra de navegación superior y luego haga clic en el nombre de la aplicación.
NotaLos iconos de la columna Language tienen los siguientes significados:
: una aplicación Java conectada a Application Monitoring.
: una aplicación Golang conectada a Application Monitoring.
: una aplicación Python conectada a Application Monitoring.-: una aplicación conectada a Managed Service for OpenTelemetry.
En la barra de navegación superior, elija .
-
En la sección Continuous Performance Profiling, habilite el master switch y los demás interruptores de funciones según sea necesario.

Haga clic en Save. La configuración surte efecto en aproximadamente 2 minutos.
Consultar los datos de perfilado
Inicie sesión en la consola de ARMS. En el panel de navegación izquierdo, elija .
-
En la página Application List, seleccione la región en la barra de navegación superior y luego haga clic en el nombre de la aplicación.
NotaLos iconos de la columna Language tienen los siguientes significados:
: una aplicación Java conectada a Application Monitoring.
: una aplicación Golang conectada a Application Monitoring.
: una aplicación Python conectada a Application Monitoring.-: una aplicación conectada a Managed Service for OpenTelemetry.
En la barra de navegación superior, elija .
En la lista de instancias de la izquierda, seleccione la instancia de destino. Luego, establezca el intervalo de tiempo de los datos en la parte derecha.
-
En la pestaña Search, puede filtrar los datos y consultar el análisis agregado.

En la sección Time window size (etiquetada como ①), seleccione una duración de instantánea y luego arrastre el puntero sobre el gráfico para elegir un intervalo de tiempo de la instantánea.
En la lista desplegable (etiquetada como ②), seleccione un tipo de dato: cpu, go heap, goroutine, mutex o block.
-
La lista de datos del intervalo de tiempo seleccionado se muestra en el área etiquetada como ③. Haga clic en Aggregation & Analysis en la esquina superior derecha para consultar los detalles de la instantánea.
Análisis de rendimiento
-
CPU Time: datos de perfilado para los puntos críticos de CPU.

-
Allocated Memory: datos de perfilado para los puntos críticos de memoria.

-
Allocations: datos de perfilado para los puntos críticos de frecuencia de asignación de memoria. Estos datos identifican qué métodos asignan memoria con mayor frecuencia.

-
goroutine:

-
Análisis de mutex
mutexContentions:

mutexDelay:

-
Análisis de block
blockContentions:

blockDelay:

NotaLa columna Self muestra los recursos consumidos por el método en sí, sin incluir los recursos que consumen los métodos que este invoca (sus elementos secundarios). Esto ayuda a identificar los métodos que son inherentemente costosos.
La columna Total muestra los recursos consumidos por el método y por todos los métodos que este invoca. Esto ayuda a identificar el impacto general de un método en el consumo de recursos a lo largo de toda la pila de llamadas.
Para investigar un código de punto crítico específico, concéntrese en la columna Self o busque las barras anchas en la parte inferior del gráfico de flamas. Estas barras anchas representan la causa raíz del alto consumo en las capas superiores de la pila de llamadas y suelen indicar los principales cuellos de botella de rendimiento. Dirija sus esfuerzos de optimización hacia estos métodos.
Lista de instantáneas

-
Documentos relacionados
Puede usar el perfilado continuo para solucionar problemas como el uso elevado de CPU y de memoria. Para obtener más información, consulte los siguientes temas: