Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Po skonfigurowaniu i ustawieniu optymalizacji kodu w aplikacji, możesz uzyskiwać dostęp do wszelkich otrzymywanych spostrzeżeń i wyświetlać je.
optymalizacje kodu Access
Optymalizacje kodu dostępu za pośrednictwem dwóch punktów wejścia:
Skonsolidowany przegląd strony optymalizacji kodu (wersja zapoznawcza)
Wyświetl wyniki optymalizacji kodu, korzystając ze strony Przegląd optymalizacji kodu. W tym skonsolidowanym przeglądzie można uzyskać dostęp do wyników w wielu subskrypcjach dla wielu zasobów usługi Application Insights.
Skonsolidowane wyniki można filtrować, wyszukując pole filtru lub ustawiając następujące filtry:
| Filtr | Opis | Wartość domyślna |
|---|---|---|
| Przedział czasu | Wybierz zakres czasu, z którego chcesz wyświetlić wyniki optymalizacji kodu. | Ostatnie 24 godziny |
| Rola | Nazwa roli przypisana do maszyny lub obciążenia usług raportowania. Zaktualizuj ją za pomocą konfiguracji usługi Application Insights. | Wszystkie role |
| Subskrypcja | Subskrypcja, do której należy wgląd. Możesz wybrać więcej niż jedną. | N/A |
| Application Insights | Zasób usługi Application Insights skojarzony z aplikacją. Wybierz więcej niż jeden. | N/A |
| Typ szczegółowych informacji | Typ problemu, taki jak procesor CPU, pamięć, blokowanie i wyjątki. | Wszystkie typy |
Następnie można sortować kolumny w wynikach analiz na podstawie preferowanego widoku, w tym według:
- Problem z wydajnością
- Pełna nazwa metody nadrzędnej
Poszczególne zasoby usługi Application Insights
Optymalizacje kodu dostępu specyficzne dla poszczególnych zasobów usługi Application Insights z menu po lewej stronie tego zasobu. Wybierz pozycję Zbadaj>wydajność i wybierz przycisk Optymalizacje kodu z górnego menu.
Przefiltruj wyniki dla pojedynczego zasobu, wyszukując pole filtru lub ustawiając następujące filtry:
| Filtr | Opis | Wartość domyślna |
|---|---|---|
| Przedział czasu | Wybierz zakres czasu, z którego chcesz wyświetlić wyniki optymalizacji kodu. | Ostatnie 24 godziny |
| Rola | Nazwa roli przypisana do maszyny lub obciążenia usług raportowania. Można je zaktualizować za pomocą konfiguracji usługi Application Insights. | Wszystkie role |
| Typ szczegółowych informacji | Typ problemu, taki jak procesor CPU, pamięć, blokowanie i wyjątki. | Wszystkie typy |
Następnie posortuj kolumny w wynikach analizy zgodnie z preferowanym widokiem, w tym według:
- Problem z wydajnością
- Liczba profilów, które zawierały ten problem
- Pełna nazwa metody nadrzędnej
Interpretowanie szacowanych wartości procentowego użycia pamięci i szczytowego użycia procesora CPU
Optymalizacje kodu określają szacowany procesor i pamięć na podstawie ilości aktywności w aplikacji. Oprócz wartości procentowych pamięci i procesora CPU optymalizacje kodu obejmują:
- Rzeczywiste rozmiary alokacji (w bajtach)
- Zestawienie przydzielonych typów w wywołaniu
Pamięć
W przypadku pamięci liczba jest procentem wszystkich alokacji w śladzie. Jeśli na przykład problem zajmuje 24% pamięci, to 24% przydzielonej pamięci przypada na to wywołanie.
CPU
W przypadku użycia procesora wartość procentowa zależy od liczby rdzeni procesora w komputerze (na przykład czterordzeniowego lub ośmiordzeniowego) oraz od czasu trwania śledzenia. Załóżmy na przykład, że śledzenie trwa 10 sekund i masz cztery procesory: łącznie masz 40 sekund czasu CPU. Jeśli analiza wskazuje, że wiersz kodu używa 5% procesora, to korzysta z 5% z 40 sekund, czyli 2 sekund.
blokowanie
Informacje o blokowaniu pokazują, gdzie wątki spędzają czas, czekając na zasoby, takie jak operacje we/wy, blokady lub uśpienia. Code Optimizations raportuje czas blokowania w sekundach i agreguje go dla wszystkich wątków i rdzeni, więc sumy mogą przekraczać czas trwania rejestrowania, podobnie jak w przypadku metryk CPU.
Ta metryka pozwala na identyfikację problemów związanych z opóźnieniami, takich jak:
- Blokowanie rywalizacji między wątkami
- Synchroniczne operacje wejścia/wyjścia
- Blokowanie wywołań funkcji w operacjach asynchronicznych
Wyjątki
Optymalizacje kodu wyodrębniają informacje o wyjątkach z migawek zbieranych przez Snapshot Debugger. Jeśli włączysz w aplikacji funkcję Snapshot Debugger i będzie ona zbierać migawki, funkcja Code Optimizations automatycznie przetworzy je w celu wyodrębnienia informacji.
Wyświetl szczegółowe informacje
Po sortowaniu i filtrowaniu wyników optymalizacji kodu wybierz poszczególne szczegółowe informacje, aby wyświetlić następujące szczegóły w okienku:
- Szczegółowy opis analizy błędów wydajności.
- Pełny stos wywołań.
- Zalecenia dotyczące rozwiązywania problemu z wydajnością.
- Oś czasu wpływu i progu trendu problemu.
Spostrzeżenia
Karta Analizy zawiera:
- Krótki opis wybranego problemu.
- Bieżący stan pamięci zasobu lub użycia procesora.
- Zalecenie wygenerowane przez sztuczną inteligencję dotyczące rozwiązywania problemu.
Uwaga / Notatka
Jeśli nie widzisz żadnych szczegółowych informacji, prawdopodobnie usługa Optymalizacje kodu nie zauważyła żadnych wąskich gardeł wydajnościowych w twoim kodzie. Sprawdź ponownie, czy pojawiły się jakieś nowe informacje.
Stos wywołań
W okienku szczegółów szczegółowych informacji pod nagłówkiem Stos wywołań można wykonywać następujące czynności:
- Wybierz Rozwiń, aby wyświetlić pełny stos wywołań związany z problemem z wydajnością.
- Wybierz pozycję Kopiuj , aby skopiować stos wywołań.
Linia czasu
W okienku szczegółów w obszarze Oś czasu możesz wyświetlić wykres przedstawiający oś czasu wpływu i progu określonego problemu z wydajnością. Wyniki różnią się w zależności od ustawionych filtrów. Na przykład szczegółowe informacje dotyczące problemu z wydajnością pamięci „Nieefektywne String.SubString()” z ostatnich 24 godzin mogą wyglądać następująco: