Identyfikowanie ścieżek gorących za pomocą grafu płomieni (C#, Visual Basic, C++, F#)
Narzędzia profilowania programu Visual Studio do wykorzystania procesora CPU i instrumentacji obejmują widok Flame Graph. Flame Graph ułatwia identyfikowanie gorących ścieżek w kodzie przez wyświetlenie wizualizacji drzewa wywołań. Ścieżka gorąca to stos wywołań dla funkcji korzystających z największej ilości procesora lub czasu, a często jest dobrym miejscem do szukania potencjalnych optymalizacji wydajności. Wykres przedstawia wizualny przegląd miejsca, w którym jest poświęcany czas w aplikacji, i możesz kliknąć określone węzły, aby dokładniej je zagłębić.
Aby zapoznać się z samouczkiem pokazującym, jak poprawić wydajność przy użyciu grafu płomieni, zobacz Analiza przypadku: Przewodnik dla początkujących dotyczący optymalizowania kodu. Aby uzyskać informacje na temat profilera procesora CPU, zobacz Analizowanie wydajności przy użyciu profilowania procesora CPU.
Badanie gorących ścieżek
Widok Flame Graph jest dostępny w szczegółowym widoku raportu .diagession.
Rozpocznij sesję profilowania za pomocą narzędzia Użycia CPU lub narzędzia Instrumentacji.
Po zatrzymaniu sesji profilowania i załadowaniu raportu wybierz pozycję Otwórz szczegóły.
Wybierz pozycję Graf płomienia na rozwijanej liście o nazwie Bieżący widok.
Zostanie wyświetlony widok Flame Graph.
Ścieżka gorąca to ścieżka kodu używająca największej mocy procesora CPU lub najwięcej czasu podczas przeglądania drzewa wywołań w dół.
Domyślnie dane wyświetlane w grafie płomienia reprezentują te same dane, co pokazane w widoku drzewa wywołań dla okresu zbierania danych. Dla wykorzystania CPU wyświetla wartości całkowitego użycia CPU. Ta wartość jest inkluzywna, więc obejmuje użycie procesora CPU (czyli czas obliczeń procesora CPU) używane przez wywołania funkcji i inne funkcje wywoływane przez funkcję. Podobnie jak w przypadku Instrumentation, wykres przedstawia wartości odpowiadające kolumnie Total w widoku drzewa wywołań.
Jeśli jednak wybierzesz węzeł, wybrany węzeł stanie się nowym punktem odniesienia i używa 100% szerokości wykresu płomienia. Dzięki temu można lepiej wizualizować złożone drzewo wywołań i wyświetlać długie nazwy, gdy są skrócone lub ukryte. Oto przykład flame graphu, który przedstawia bardziej złożone drzewo wywołań.
Aby wyświetlić szczegółowe informacje o dowolnym węźle, wybierz węzeł.
Wybierz Resetuj powiększenie, aby przywrócić widok domyślny.
Możesz także nawigować pomiędzy różnymi widokami w raporcie profilowania, wybierając węzeł, a następnie wybierając opcję z menu kontekstowego, taką jak Widok w drzewie wywołań.
Odwróć wykres płomienia
Domyślnie wykres płomienia w narzędziu jest wyświetlany do góry nogami lub jako wykres icicle, gdzie oś y liczy głębokość stosu w dół od zera u góry.
Standardowy układ wykresu płomieniowego można wyświetlić, klikając Odwróć wykres płomieniowy.
Nawigowanie w grafie płomieni
W przypadku złożonego grafu płomienia można powiększyć wizualizację, wybierając określone elementy.
W widoku Wykres płomienia możesz nawigować, klikając węzeł za pomocą myszy lub za pomocą klawiatury. Ponadto obsługiwane są następujące skróty klawiaturowe.
Skrót klawiszowy | Polecenie |
---|---|
Zakładka | Przejdź do dowolnego węzła |
Strzałka w górę/w dół | Przejdź do węzła nadrzędnego lub podrzędnego |
Strzałka w prawo/w lewo | Przejdź do równorzędnego węzła na stosie |
Wejść | Powiększ (wybierz) |
Ucieczka | Pomniejszanie |