Freigeben über


Analysieren von JavaScript-Funktionstimingdaten in Store-Apps

Gilt nur für Windows

In diesem Thema werden die Leistungsdaten für JavaScript-Code beschrieben, die in den Berichtsansichten des Tools JavaScript-Funktionstiming im Leistungs- und Diagnosehub dargestellt sind. Informationen zum Erfassen von JavaScript-Funktionstimingdaten finden Sie unter den folgenden Themen:

In diesem Thema

Öffnen einer Berichtsdatei für Profilerstellung

Typen von Profilerstellungsdaten

Typen von Profilerstellungsberichtsansichten

Profilerstellungsberichtansichten

  • Zusammenfassungsansicht

  • Funktionsdetailansicht

  • Aufrufstrukturansicht

  • Aufrufer-/Aufgerufener-Ansicht

  • Modul- und Funktionsansichten

Anpassen von Datenrasteransichten

Öffnen einer Berichtsdatei für Profilerstellung

Wenn Sie eine Profilerstellung in der Visual Studio-IDE beenden, werden die Leistungsdaten automatisch in einem Dokument angezeigt.

Führen Sie folgende Schritte durch, um eine Profilerstellungsberichtsdatei (.vspx) zu öffnen, die mit dem VSPerf-Befehlszeilentool generiert oder nach einer vorherigen Profilerstellung gespeichert wurde:

  1. Öffnen Sie ggf. Visual Studio.

  2. Klicken Sie im Menü Datei auf Datei öffnen.

  3. Navigieren Sie im Dialogfeld Datei öffnen zu dem Ordner mit der Profilerstellungsberichtsdatei, und wählen Sie diese aus.

Typen von Profilerstellungsdaten

Die Profilerstellungsdaten für eine Funktion enthalten Summe, Mittelwert, Mindest- und Maximaldauer sowie Prozentsätze. Die Daten werden für zwei Sätze an Werten für die zeitliche Steuerung berechnet:

  • Die Werte für Verstrichene inklusive Zeit entsprechen der Gesamtdauer für die Ausführung einer Funktion.

  • Bei den Werten für Verstrichene exklusive Zeit handelt es sich um die Zeitdauer, die eine Funktion zum Ausführen des eigenen Codes benötigt. Die Werte enthalten nicht die für untergeordnete Funktionen erforderliche Zeit.

Typen von Profilerstellungsberichtsansichten

In Profilerstellungsberichtansichten werden Daten auf zwei Arten angezeigt:

  • In Aufrufdiagrammansichten werden Informationen zu Funktionen im Kontext der Ausführungspfade angezeigt. In der Struktur Langsamster Pfad des Zusammenfassungsfensters wird der Ausführungspfad angezeigt, in dem die Anwendung während der Profilerstellung kumulativ die meiste Zeit verbracht hat. Die Aufrufstrukturansicht ist ein Aufrufdiagramm für alle Funktionen der Profilerstellung. In den Funktionsdetail- und Aufrufer-/Aufgerufener-Ansichten werden jeweils eine ausgewählte Funktion, die Funktionen, die die diese aufgerufen haben und die von dieser aufgerufenen Funktionen angezeigt. Mithilfe von Aufrufdiagrammansichten können Sie Leistungsprobleme Ihrer Algorithmen finden.

  • In den Funktionslistenansichten werden die Funktionen in einer ausgewählten Datenspalte sortiert und aufgeführt. In der Liste Funktionen mit den meisten einzelnen Aufgaben auf der Zusammenfassungsseite werden die Funktionen, die die meiste Zeit für die Ausführung ihres eigenen Codes benötigt haben aufgeführt. Hierbei wird die Zeit für das Aufrufen untergeordneter Funktionen durch die Funktion nicht berücksichtigt. In der Modulansicht werden Funktionen anhand der Quelldatei für den JavaScript-Code und anhand des Moduls für andere Sprachen gruppiert. Die Funktionsansicht ist eine einzelne Liste von Funktionen.

Profilerstellungsberichtansichten

Zusammenfassungsansicht

Die Zusammenfassungsseite verfügt über zwei Ansichten der Profilerstellungsdaten, in denen Sie häufig die besten Kandidaten für die Leistungsoptimierung finden können.

  • In der Struktur Langsamster Pfad wird die Aufrufliste angezeigt, in der die Anwendung bei der Profilerstellung kumulativ die meiste Zeit aufgewendet hat. Wenn Sie erkennen, warum dieser Algorithmus soviel Zeit erfordert, können Sie eine Optimierung erzielen.

  • In der Liste Funktionen mit den meisten einzelnen Aufgaben finden Sie die zehn Funktionen mit der meisten exklusiven Zeit. Sie können schnelle und deutliche Leistungszuwächse erreichen, indem Sie den Funktionscode optimieren oder die Aufrufhäufigkeit der Funktionen verringern.

Funktionsdetailansicht

Im Balkendiagramm Kostenverteilung werden die Beziehungen zwischen einer von Ihnen ausgewählten Funktion und den aufrufenden Funktionen dargestellt, die die ausgewählte Funktion ausgeführt haben. Zudem wird die Beziehung zwischen der ausgewählten Funktion und den von dieser aufgerufenen Funktionen angezeigt.

  • In der Leiste "Aufrufende Funktionen" werden die Funktionen angezeigt, die die ausgewählte Funktion aufgerufen haben. Die Größe eines Blocks der aufrufenden Funktion gibt den Prozentsatz der Gesamtausführungszeit der ausgewählten Funktion an, die von der aufrufenden Funktion verursacht wurde.

  • In der Leiste Ausgewählte Funktion wird die relative Menge der Gesamtausführungszeit angegeben, die von der ausgewählten Funktion beim Ausführen des eigenen Codes (der Funktionsrumpf-Block) benötigt wurde. Zudem wird die zum Ausführen der von der ausgewählten Funktion aufgerufenen Funktionen erforderliche Zeit angezeigt.

  • In der Leiste Aufgerufene Funktionen werden die Funktionen angezeigt, die von der ausgewählten Funktion aufgerufen wurden. Die Größe eines Blocks der aufgerufenen Funktion gibt den Prozentsatz der Gesamtausführungszeit für die aufgerufenen Funktion an, der von der aufgerufenen Funktion aufgewendet wurde.

Aufrufstrukturansicht

In der Aufrufstrukturansicht können Sie die Funktionsausführungspfade prüfen, die in Ihrer Anwendung durchlaufen wurden. Der Stamm der Struktur ist der Einstiegspunkt in die Anwendung. Unter den einzelnen Funktionsknoten werden alle Funktionen aufgeführt, die von dieser aufgerufen wurden. Zudem werden Leistungsdaten über diese Funktionsaufrufe angezeigt. Die Funktionswerte in der Aufrufstrukturansicht beziehen sich auf die Funktionsinstanzen, die von der übergeordneten Funktion in der Aufrufstruktur aufgerufen wurden. Bei den Prozentwerte handelt es sich um das Verhältnis der Zeit des Funktionsinstanzwerts zur Gesamtausführungszeit der Profilerstellung.

Um sich auf einen Knoten der Aufrufstrukturansicht zu konzentrieren, wählen Sie den Knoten und anschließend im Kontextmenü Stamm festlegen aus. Durch das Festlegen eines Stammknotens wird sichergestellt, dass in der Ansicht lediglich die Teilstruktur des ausgewählten Knotens angezeigt wird. Um den Stammknoten wieder auf den ursprünglichen Knoten zurückzusetzen, wählen Sie im Kontextmenü Stamm zurücksetzen aus.

Spalten der Aufrufstrukturansicht

Spaltenname

Beschreibung

Anzahl der Aufrufe

Die Anzahl der Aufrufe an die Funktion durch die übergeordnete Funktion in der Aufrufstruktur.

Verstrichene inklusive Zeit in %

Der Gesamtprozentsatz der für das Ausführen dieser Funktion aufgewendeten Ausführungszeit.

Verstrichene exklusive Zeit in %

Der Gesamtprozentsatz der für das Ausführen des Texts einer Funktion aufgewendeten Ausführungszeit. Dies umfasst nicht die Zeit für Funktionen, die von der Funktion aufgerufen wurden.

Durchschnittl. verstrichene inklusive Zeit

Die beim Ausführen der Funktion durchschnittlich verstrichene Zeit.

Durchschnittl. verstrichene exklusive Zeit

Die beim Ausführen der Funktion durchschnittlich verstrichene Zeit. Dies umfasst nicht die Zeit für Funktionen, die von der Funktion aufgerufen wurden.

Modulname

Für JavaScript-Funktionen der Name der Quelldatei, die die Funktion enthält. Andernfalls der Name des Moduls (DLL oder EXE), das die Funktion enthält.

Aufrufer-/Aufgerufener-Ansicht

Die Aufrufer-/Aufgerufener-Ansicht ist eine strukturierte Darstellung der Daten im Balkendiagramm der Zusammenfassungsansicht für die Funktionsdetail-Kostenaufteilung, die alle Details der zeitlichen Steuerung enthält. In der Aufrufer-/Aufgerufener-Ansicht können Sie die Beziehung zwischen einer ausgewählten Funktion und den Funktionen untersuchen, die diese aufgerufen haben oder von dieser aufgerufen wurden. Die Aufrufer-/Aufgerufener-Ansicht besteht aus drei Rastern.

Die im mittleren Raster angezeigte Aktuelle Funktion enthält Profilerstellungsinformationen für die ausgewählten Funktion. Die Werte enthalten alle Aufrufe an die Funktion. Die Funktionen, die die aktuelle Funktion aufgerufen haben werden im oberen und die Funktionen, die von der aktuellen Funktion aufgerufen wurden im unteren Raster angezeigt. Die Werte der aktuellen Funktion sind die Summe aller Aufrufe an die Funktion. Die Werte der aufrufenden und der aufgerufenen Funktionen umfassen nur die Zeit, die beim Aufrufen oder Aufgerufen Werden der ausgewählten Funktion verstrichen ist.

Um in den Aufrufstrukturen einer Funktion zu navigieren, doppelklicken Sie auf einen Aufruf oder eine aufgerufene Funktion. Die Funktion auf die Sie doppelklicken wird zur neuen ausgewählten Funktion. Die Aufrufer und aufgerufenen Funktionen werden nun angezeigt.

Spalten der Aufrufer-/Aufgerufener-Ansicht

Spaltenname

Beschreibung

Anzahl der Aufrufe

  • Für die ausgewählte Funktion die Gesamtzahl der Aufrufe an die Funktion bei der Profilerstellung.

  • Bei einer aufrufenden Funktion die Anzahl der Aufrufe an die ausgewählte Funktion durch die aufrufende Funktion.

  • Bei einer aufgerufenen Funktion die Anzahl der Aufrufe an die aufgerufene Funktion durch die ausgewählte Funktion.

Verstrichene inklusive Zeit in %

  • Für die ausgewählte Funktion der Prozentsatz der Gesamtausführungszeit bei der Profilerstellung, die von der ausgewählten Funktion benötigt wurde. Der Wert enthält die Zeit, die von den von der ausgewählten Funktion aufgerufenen Funktionen benötigt wurde.

  • Bei einer aufrufenden Funktion der Prozentsatz der Gesamtausführungszeit bei der Profilerstellung, die von Instanzen der aufrufenden Funktion benötigt wurde, die die ausgewählte Funktion aufgerufen haben.

  • Bei einer aufgerufenen Funktion der Prozentsatz der Gesamtausführungszeit bei der Profilerstellung, die von Instanzen der aufgerufenen Funktion benötigt wurde, die von der ausgewählten Funktion aufgerufen wurden.

Verstrichene exklusive Zeit in %

  • Für die ausgewählte Funktion der Prozentsatz der Gesamtausführungszeit bei der Profilerstellung, die von der ausgewählten Funktion benötigt wurde. Der Wert enthält nicht die Zeit, die von den von der ausgewählten Funktion aufgerufenen Funktionen benötigt wurde.

  • Bei einer aufrufenden Funktion der Prozentsatz der Gesamtausführungszeit bei der Profilerstellung, der von Instanzen der aufrufenden Funktion benötigt wurde, die die ausgewählte Funktion aufgerufen haben, einschließlich der Zeit, die von Funktionen aufgewendet wurde, die von der aufrufenden Funktion aufgerufen wurden.

  • Bei einer aufgerufenen Funktion der Prozentsatz der Gesamtausführungszeit bei der Profilerstellung, der von Instanzen der aufgerufenen Funktion benötigt wurde, die von der ausgewählten Funktion aufgerufen wurden, einschließlich der Zeit, die von Funktionen aufgewendet wurde, die von der aufgerufenen Funktion aufgerufen wurden.

Durchschnittl. verstrichene inklusive Zeit

  • Für die ausgewählte Funktion die durchschnittliche Zeit aller Instanzen der ausgewählten Funktion.

  • Bei einer aufrufenden Funktion die durchschnittliche Zeit aller Instanzen der aufrufenden Funktion, die die ausgewählte Funktion aufgerufen haben.

  • Bei einer aufgerufenen Funktion die durchschnittliche Zeit aller Instanzen der aufgerufenen Funktion, die von der ausgewählte Funktion aufgerufen wurden.

Durchschnittl. verstrichene exklusive Zeit

  • Für die ausgewählte Funktion die durchschnittliche Zeit aller Instanzen der ausgewählten Funktion. Dieser Wert enthält nicht die Zeit, die von den von der ausgewählten Funktion aufgerufenen Funktionen benötigt wurde.

  • Bei einer aufrufenden Funktion die durchschnittliche Zeit aller Instanzen der aufrufenden Funktion, die die ausgewählte Funktion aufgerufen haben, ausschließlich der für in Funktionen benötigten Zeit, die durch die aufrufende Funktion aufgerufen wurden.

  • Bei einer aufgerufenen Funktion die durchschnittliche Zeit aller Instanzen der aufgerufenen Funktion, die von der ausgewählten Funktion aufgerufen wurden, ausschließlich der für in Funktionen benötigten Zeit, die durch die aufgerufene Funktion aufgerufen wurden.

Modulname

Für JavaScript-Funktionen der Name der Quelldatei, die die Funktion enthält. Andernfalls der Name des Moduls (DLL oder EXE), das die Funktion enthält.

Modul- und Funktionsansichten

Die Modul- und Funktionsansichten enthalten die Details der Profilerstellungsdaten für die Funktionen im Profilerstellungsbericht. In der Modulansicht werden die JavaScript-Funktionen mithilfe der JS-Quelldatei organisiert, in der diese enthalten sind. Andere Funktionen werden für das Modul aufgeführt, z. B. eine DLL-Datei. In der Funktionsansicht werden alle Funktionen ohne Hierarchie aufgeführt. Es ist häufiger einfacher, eigenen Code in der Modulansicht zu finden, als in der Funktionsansicht. Da Vergleichen von Funktionen ist jedoch in der Funktionsansicht einfacher.

Spalten der Modul- und Funktionsansichten

Spaltenname

Beschreibung

Anzahl der Aufrufe

Die Anzahl von Aufrufen an die Funktion.

Verstrichene inklusive Zeit in %

Der Prozentsatz der gesamten Ausführungszeit bei der Profilerstellungsausführung, die von der Funktion benötigt wurde.

Verstrichene exklusive Zeit in %

Der Prozentsatz der gesamten Ausführungszeit, die für das Ausführen der Funktion benötigt wurde. Dieser Wert enthält nicht die Zeit, die von den von der Funktion aufgerufenen Funktionen benötigt wurde.

Durchschnittl. verstrichene inklusive Zeit

Die durchschnittliche Ausführungszeit der Funktion.

Durchschnittl. verstrichene exklusive Zeit

Die durchschnittliche Ausführungszeit der Funktion. Dieser Wert umfasst nicht die Zeit für Funktionen, die von der Funktion aufgerufen wurden.

Modulname

Für JavaScript-Funktionen der Name der Quelldatei, die die Funktion enthält. Andernfalls der Name des Moduls (DLL oder EXE), das die Funktion enthält.

Anpassen von Datenrasteransichten

Sie können Datenspalten hinzufügen oder entfernen und die Reihenfolge ändern, in der die Spalten angezeigt werden. Klicken Sie mit der rechten Maustaste auf eine Datenzeile, und wählen Sie Spalten hinzufügen/entfernen aus.

Hinweis

Wenn die Instrumentationsmethode für verwalteten und systemeigenen Code verwendet wird, werden zusätzliche Informationen über die Codeausführung erfasst und in den Zeitsteuerungsfeldern Inklusive Anwendungszeit und Exklusive Anwendungszeit angezeigt.Diese Informationen sind in JavaScript nicht verfügbar, sodass die Werte für Anwendung mit denen für Verstrichen identisch sind.Es empfiehlt sich nicht, diese Felder einer Ansicht hinzuzufügen.

Weitere Spalten mit Profilerstellungsdaten

Spaltenname

Beschreibung

Funktionsname

Der Name der Funktion.

Funktionsadresse

Die Adresse der Funktion.

Funktionszeilennummer

Die Zeilennummer des Anfangs dieser Funktion in der Quelldatei.

Anzahl der Aufrufe

Die Gesamtzahl der Aufrufe der Funktion.

Quelldatei

Die Quelldatei, die die Definition der Funktion enthält.

Modulname

Der Name des Moduls, das die Funktion enthält.

Modulpfad

Der Pfad des Moduls, das die Funktion enthält.

Prozess-ID

Die Prozess-ID (PID) der Profilerstellung.

Prozessname

Der Prozessname.

Exklusive Zeit der Restkapazität für Überprüfungen

Der von der Instrumentation verursachte zusätzliche Zeitaufwand für diese Funktion. Dieser umfasst jedoch nicht den zusätzlichen Zeitaufwand in Funktionen, die von dieser Funktion aufgerufen wurden. Der zusätzliche Testaufwand wurde von allen exklusiven Zeiten subtrahiert.

Inklusive Zeit der Restkapazität für Überprüfungen

Der von der Instrumentation verursachte zusätzliche Zeitaufwand für diese Funktion und ihre untergeordneten Funktionen. Dieser umfasst auch den zusätzlichen Zeitaufwand für Funktionen, die von dieser Funktion aufgerufen wurden. Der zusätzliche Testaufwand wurde von allen inklusiven Zeiten subtrahiert.

Verstrichene exklusive Zeit

Die insgesamt verstrichene exklusive Zeit aller Aufrufe dieser Funktion.

Maximal verstrichene exklusive Zeit

Die maximal verstrichene exklusive Zeit für einen Aufruf dieser Funktion.

Mindestens verstrichene exklusive Zeit

Die verstrichene exklusive Mindestzeit für einen Aufruf dieser Funktion.

Verstrichene inklusive Zeit

Die insgesamt verstrichene inklusive Zeit aller Aufrufe dieser Funktion.

Maximal verstrichene inklusive Zeit

Die maximal verstrichene inklusive Zeit für einen Aufruf dieser Funktion.

Mindestens verstrichene inklusive Zeit

Die verstrichene inklusive Mindestzeit für einen Aufruf dieser Funktion.