Identificar trayectorias críticas con un gráfico de llamas (C#, Visual Basic, C++, F#)
Las herramientas de perfilado de Visual Studio para la utilización de CPU y la instrumentación incluyen la vista Flame Graph. El gráfico de llamas le ayuda a identificar rutas de acceso activas en el código mediante la visualización de un árbol de llamadas. La ruta de acceso activa es la pila de llamadas de las funciones que usan la mayor parte de la CPU o la mayor parte del tiempo, y suele ser un buen lugar para buscar posibles optimizaciones de rendimiento. El gráfico proporciona información general visual sobre dónde se invierte el tiempo en la aplicación y puede hacer clic en nodos específicos para profundizar en ellos.
Para ver un tutorial que muestra cómo mejorar el rendimiento mediante el gráfico de llamas, consulte Caso práctico: Guía para principiantes para optimizar el código. Para obtener información sobre el generador de perfiles de CPU, consulte Análisis del rendimiento mediante la generación de perfiles de CPU.
Investigación de rutas de acceso activas
La vista de Gráfico de llamas se encuentra en la vista de detalles del informe .diagession.
Iniciar una sesión de generación de perfiles con la herramienta de Uso de CPU o con la de Instrumentación.
Después de detener la sesión de generación de perfiles y de cargar el informe, seleccione Abrir detalles.
Seleccione Gráfico de llamas en la selección desplegable Vista actual.
Aparece la vista "Gráfico de llamas".
La ruta de acceso activa es la ruta del código con el mayor uso de CPU o el mayor tiempo al examinar el árbol de llamadas.
De forma predeterminada, los datos que se muestran en Flame Graph representan los mismos datos que se muestran en el árbol de llamadas vista para el período de recopilación de datos. En concreto, para el uso del CPU, muestra los valores de total de CPU. Este valor es inclusivo, por lo que incluye el uso de CPU (es decir, el tiempo de cálculo de CPU) usado por las llamadas a la función y cualquier otra función a la que llama la función. De la misma manera, para Instrumentación, el gráfico muestra los valores equivalentes a la columna Total en la vista de árbol de llamadas.
Sin embargo, si selecciona un nodo, el nodo seleccionado se convierte en la nueva línea base y usa 100 % del ancho del gráfico de llamas. Esto le permite visualizar mejor un árbol de llamadas complejo y ver nombres largos cuando se truncan o ocultan. Este es un ejemplo de un gráfico de llamas que muestra un árbol de llamadas más complejo.
Para ver detalles sobre cualquier nodo, seleccione el nodo.
Elija Restablecer zoom para volver a la vista predeterminada.
También puede navegar a diferentes vistas en el informe de perfil seleccionando un nodo y luego eligiendo una opción como Ver en el árbol de llamadas en el menú contextual.
Voltear el gráfico de llamas
De manera predeterminada, el gráfico de llamas en la herramienta se muestra al revés o como un gráfico de carámbano, donde el eje y cuenta la profundidad de la pila hacia abajo desde cero en la parte superior.
Para ver un diseño de gráfico de llamas estándar, haga clic en Flip Flame Graph.
Navegar en el gráfico de llamas
Para un gráfico de llamas complejo, puede acercar la visualización seleccionando elementos específicos.
En la vista Gráfico de llamas, puede navegar haciendo clic en un nodo con un mouse o usando el teclado. Además, se admiten los siguientes métodos abreviados de teclado.
Atajo de teclado | Comando |
---|---|
Tab | Vaya a cualquier nodo. |
Flecha arriba/abajo | Ir al elemento primario o secundario de un nodo |
Flecha derecha/izquierda | Vaya al mismo nivel de un nodo en la pila |
Entrar | Acercar (seleccionar) |
Escape | Alejar |