Threadansichtberichte in der Parallelitätsschnellansicht
Dieser Artikel enthält Informationen zu den Berichten in der Threadansicht der Parallelitätsschnellansicht.
Blockierungszeit-Profilbericht
Die Profilberichte enthalten aggregierte Blockierungszeitdaten für spezifische Aufruflisten zu den einzelnen Blockierungskategorien (wie „E/A“ oder „Synchronisierung“). Der Bericht zur vorzeitigen Entfernung listet die Prozesse auf, die den aktuellen Prozess vorzeitig entfernt haben, und gibt die Anzahl der Instanzen für die vorzeitige Entfernung an. Um den Blockierungsprofilbericht zu erstellen, sammelt das Tool blockierende API-Aufrufe und stellt sie in einer Struktur von Aufruflisten zusammen. In diesen Berichten angezeigte Daten hängen vom aktuellen Zeitraum, von ausgeblendeten Threads und den beiden folgenden Filtern ab, die angewendet werden können:
Wenn „Nur eigenen Code“ ausgewählt ist, werden nur Stapelrahmen mit Benutzercode sowie die Ebene direkt unter dem Benutzercode angezeigt.
Wenn „Rauschunterdrückung“ festgelegt ist, werden sortierte Stapel mit einer geringeren als der angegebenen Frequenz übersprungen.
Erweitern Sie alle Aufrufstruktureinträge, um die Codezeile zu finden, auf die Blockierungszeit entfällt. Um die Quellzeile für einen Eintrag zu finden, wählen Sie in seinem Kontextmenü Quelle anzeigen. Um die für den Aufruf verwendete Codezeile zu suchen, wählen Sie im Kontextmenü Aufrufsites anzeigen. Wenn nur eine Aufrufsite vorhanden ist, stellt der Befehl die Verbindung zur markierten Codezeile für die Aufrufsite her. Wenn mehrere Aufrufsites verfügbar sind, öffnet der Befehl ein Dialogfeld, in dem Sie einen Eintrag auswählen können und dann die Schaltfläche Gehe zu Quellcode auswählen, um die markierte Aufrufsite zu suchen. Häufig ist es besonders hilfreich, Quellcode für die Aufrufsite anzuzeigen, auf die die meisten Instanzen, die meiste Zeit oder beides entfallen.
Spalten des Blockierungszeitberichts
Die folgende Tabelle zeigt die Spalten für die einzelnen Blockierungszeitberichte.
Spaltenname | BESCHREIBUNG |
---|---|
Name | Der Name der Funktion für die einzelnen Ebenen der Aufrufliste. |
Instanzen | Die Anzahl der Instanzen des blockierenden Aufrufs für den sichtbaren Zeitraum. |
Inklusive Blockierungszeit | Die Gesamtblockierungszeit, die für alle Stapel angefallen ist, für die bis zu dieser Ebene der Aufruflistenstruktur ein Rollup ausgeführt wird. Die inklusive Zahl ist die Summe aus der exklusiven Blockierungszeit für diese Funktion und der exklusiven Blockierungszeit für alle untergeordneten Knoten. |
Exklusive Blockierungszeit | Die aufgewendete Gesamtblockierungszeit, während der sich diese Funktion auf der untersten Ebene der Aufrufliste befand. Ein eindeutiger Eintrag in der Aufrufliste, der eine hohe exklusive Blockierungszeit aufweist, kann eine interessante Funktion sein. |
API-/Warte-Kategorie | Wird nur für Funktionen auf der untersten Ebene der Aufrufliste angezeigt. Wenn die Signatur des blockierenden Aufrufs erkannt wird, wird der Name der blockierenden API angezeigt. Wird die Signatur nicht erkannt, werden vom Kernel gemeldete Informationen bereitgestellt. |
Details | Vollqualifizierter Name der Funktion. Dies umfasst die Zeilenanzahl, sofern verfügbar. |
Synchronization
Der Synchronisierungsbericht enthält die Aufrufe, die für bei der Synchronisierung blockierte Segmente verantwortlich sind, und die Gesamtblockierungszeit der einzelnen Aufruflisten. Weitere Informationen finden Sie unter Synchronisierungszeit.
Standby
Der Standbybericht enthält die Aufrufe, die für Blockierungszeit verantwortlich sind, die im Standbymodus verbracht wurde, und die Gesamtblockierungszeit der einzelnen Aufruflisten. Weitere Informationen finden Sie unter Standbyzeit.
E/A
Der E/A-Bericht enthält die Aufrufe, die für bei der E/A blockierte Segmente verantwortlich sind, und die Gesamtblockierungszeit der einzelnen Aufruflisten. Weitere Informationen finden Sie unter E/A-Zeit (Threadansicht).
Speicherverwaltung
Der Speicherverwaltungsbericht enthält die Aufrufe, die für bei Speicherverwaltungsvorgängen blockierte Segmente verantwortlich sind, und die Gesamtblockierungszeit der einzelnen Aufruflisten. Weitere Informationen finden Sie unter Speicherverwaltungszeit.
Vorzeitige Entfernung
Der Bericht zur vorzeitigen Entfernung listet die Prozesse auf, die den aktuellen Prozess vorzeitig entfernt haben, und gibt die Anzahl der Instanzen an. Sie können jeden Prozess erweitern, um die konkreten Threads anzuzeigen, die Threads im aktuellen Prozess ersetzt haben, und um eine Aufschlüsselung der Instanzen der vorzeitigen Entfernung pro Thread anzuzeigen. Dieser Blockierungsbericht erfordert weniger Aktionen als die übrigen Berichte, da für die vorzeitige Entfernung Ihres Prozesses in der Regel das Betriebssystem und nicht ein Problem in Ihrem Code verantwortlich ist. Weitere Informationen finden Sie unter Zeit für die vorzeitige Entfernung.
Benutzeroberflächenverarbeitung
Der E/A-Verarbeitungsbericht enthält die Aufrufe, die für bei der Benutzeroberflächenverwaltung blockierte Segmente verantwortlich sind, und die Gesamtblockierungszeit der einzelnen Aufruflisten. Weitere Informationen finden Sie unter Benutzeroberflächenverarbeitungszeit.
Bericht über Datenträgervorgänge (Threadansicht)
Im Bericht über Datenträgervorgänge werden Datenträger-E/A-Vorgänge in den Datenträgerkanälen angezeigt.
Für jeden Datenträgerzugriff, der für den Prozess durchgeführt wird, für den im derzeit angezeigten Zeitfenster ein Profil erstellt wird, werden folgende Informationen angezeigt:
Name und PID des Prozesses, von dem der Datenträgerzugriff durchgeführt wurde
ID des Threads, von dem auf den Datenträger zugegriffen wurde
Name der Datei, auf die zugegriffen wurde
Anzahl der Lesevorgänge pro Datei
Anzahl der gelesenen Bytes
Latenz beim Lesen in Millisekunden
Anzahl von Schreibvorgängen
Anzahl der geschriebenen Bytes
Latenz beim Schreiben in Millisekunden
Ausführungsprofilbericht
Der Ausführungsprofilbericht ist ein herkömmliches Samplingprofil. Samplings werden etwa jede Millisekunde während der Zeiträume genommen, in denen ein Thread auf einem logischen Kern ausgeführt wird. Die Parallelitätsschnellansicht erstellt durch Sortieren des akkumulierten Satzes von Samplingstapeln eine typische Aufrufstruktur. Die Daten in dieser Tabelle sind vom aktuellem Zeitraum und ausgeblendeten Threads, sowie von den möglicherweise angewendeten Filtern abhängig:
Wenn „Nur eigenen Code“ ausgewählt ist, werden nur Stapelrahmen mit Benutzercode, sowie die Ebene direkt unter dem Benutzercode angezeigt.
Wenn der Wert „Rauschunterdrückung“ festgelegt ist, werden sortierte Stapel mit einer geringeren als der angegebenen Frequenz aus dem Bericht gefiltert.
Die folgende Tabelle zeigt die Spalten im Bericht.
Spalte | Beschreibung |
---|---|
Name | Der Name der Funktion für die einzelnen Ebenen der Aufrufliste. |
Inklusive Samplinganzahl | Die Gesamtzahl von Samplings, die für alle Stapel erfasst werden, die diese Ebene der Aufruflistenstruktur bilden. Die inklusive Anzahl ist die Summe der exklusiven Samplings für diese Funktion und der inklusiven Anzahl für alle untergeordneten Knoten. |
Exklusive Stichproben | Die Gesamtzahl erfasster Samplings, für die diese Funktion die niedrigste Ebene der Aufrufliste bildet. |
% inklusive | Der Prozentsatz der gesamten Samplings, die in der Spalte für inklusive Samplings angezeigt werden. Prozentsätze werden auf zwei Dezimalstellen gerundet. |
% exklusive | Der Prozentsatz der gesamten Samplings, die in der Spalte für exklusive Samplings angezeigt werden. Prozentsätze werden auf zwei Dezimalstellen gerundet. |
Details | Vollqualifizierter Name der Funktion. Darin eingeschlossen ist die Zeilenanzahl, sofern verfügbar. |
Diese Berichtstabelle kann in der Ansicht Ausführungszeit (Threadansicht) angezeigt werden.
Markerbericht
Der Markerbericht führt die Marker im angezeigten Zeitrahmen auf. Das Schwenken, Zoomen oder Ausblenden von Bereichen führt, möglicherweise dazu, das Marker angezeigt werden oder wieder ausgeblendet werden. Der Bericht enthält folgende Informationen über jeden Marker:
Die Startzeit, relativ zum Beginn der Ablaufverfolgung.
Die Dauer. Die Dauer beträgt 0 (null) für Flags und Nachrichten, da sie einen Zeitpunkt darstellen.
Die ID des Threads, der sie generiert hat.
Die Ereignisablaufverfolgung (ETW) für den Windows-Anbieter, der diese generiert hat.
Die Markerreihe aus die er geschrieben wurde.
Die Kategorie der Ereignisse, denen er angehört.
Die Wichtigkeitsstufe.
Der Typ (span, flag oder message).
Eine allgemeine Beschreibung der Bedeutung.
Wählen Sie die Schaltfläche Exportieren aus, um den Markerbericht als CSV-Datei zu speichern. Sie können die Daten in der CSV-Datei mit anderen Apps oder Tools verwenden.
Hinweis
Der Markerbericht kann 1.000 Marker anzeigen. Um alle Marker anzuzeigen, exportieren Sie den vollständigen Bericht in eine CSV-Datei.
Zusammenfassungsbericht pro Thread
Dieses Balkendiagramm zeigt den Anteil der Zeit, die die einzelnen eingeblendeten Threads in jeder Aktivitätskategorie während des derzeit sichtbaren Zeitraums verbringen. „Ausführung“ bedeutet, dass der Thread ausgeführt wird. Alle anderen Kategorien bedeuten, dass der Thread auf etwas wartet.