Identificar caminhos críticos com um Flame Graph (C#, Visual Basic, C++ e F#)
O Flame Graph na ferramenta Uso da CPU ajuda a identificar caminhos críticos em seu código ao exibir uma árvore de chamadas. Grafos de chama são uma visualização de dados categorizados, criados para visualizar rastreamentos de pilha de software com perfis criados para que os caminhos de código mais frequentes possam ser identificados de forma rápida e precisa. O grafo fornece uma visão geral visual de onde o tempo está sendo gasto em seu aplicativo, e você pode clicar em nós específicos para detalhá-los ainda mais.
Para obter um tutorial que demonstra como melhorar o desempenho ao usar o Flame Graph, confira Guia para iniciantes sobre como otimizar o código. Para obter informações sobre o criador de perfil da CPU, consulte Analisar o desempenho usando a criação de perfil da CPU.
Investigar caminhos críticos
A exibição do Flame Graph está na exibição de detalhes da ferramenta Uso da CPU, acima da exibição em destaque da linha de origem. Depois de interromper a sessão de criação de perfil, você poderá exibir o Grafo de Chamas clicando em Abrir detalhes.
Selecione Grafo de Chama na seleção suspensa Exibição Atual.
Por padrão, o grafo de chama na ferramenta de CPU é mostrado de cabeça para baixo ou como um "gráfico de estalactite", em que o eixo y está contando a profundidade da pilha para baixo a contar do zero na parte superior. Você pode exibir o layout padrão do grafo de chama clicando em Inverter o Grafo de Chama.
Navegar no Flame Graph
Em um Flame Graph complexo, é possível aplicar zoom na visualização ao fazer a seleção de elementos específicos.
Na exibição Grafo de Chama, você pode navegar clicando em um nó com um mouse ou usando o teclado. Além disso, há suporte para os atalhos de teclado apresentados a seguir.
Atalho de teclado | Comando |
---|---|
Tab | Ir para qualquer nó |
Seta para cima/baixo | Ir para o pai ou filho de um nó |
Seta para a esquerda ou para a direira | Acessar o par de um nó na pilha |
Enter | Aplicar mais zoom (selecionar) |
Escape | Reduzir |