For the complete documentation index, see llms.txt. This page is also available as Markdown.

Profiling

Profiling funktioniert nur für die integrierte Umgebung.

PowerShell Universal stellt einen Performance-Profiler zum Debuggen von Problemen bereit, bei denen die Plattform möglicherweise langsam reagiert. Dies ist vor allem beim Erstellen von Dashboards nützlich.

Profiling aktivieren

Profiling erhöht den Speicherverbrauch, da Profiling-Daten im Speicher abgelegt werden. Sie können Profiling aktivieren, indem Sie die appsettings.json-Eigenschaft Profiling konfigurieren. Standardmäßig ist sie false. Nach dem Aktivieren oder Deaktivieren von Profiling müssen Sie PowerShell Universal neu starten.

"Profiling": true

Auf Profiling-Daten zugreifen

Sie können auf Profiling-Daten zugreifen, indem Sie zu /profiler/results-index navigieren. Sie müssen als Administrator angemeldet sein, um auf diese URL zugreifen zu können.

Sie sehen eine Liste von Anfragen und deren Zeitmessungen.

Result Index

Ein Klick auf die Anfrage zeigt eine Aufschlüsselung der Zeitmessungen an.

Timings

Einen API-Endpunkt profilieren

Sie können einen API-Endpunkt mit Measure-PSUBlock profilieren. Die API wird im Ergebnisindex nach URL aufgeführt.

Nehmen wir zum Beispiel eine API namens /process an.

Das Ergebnis des Profilings dieser API würde nach URL aufgeführt werden.

Beim Anzeigen des Profils für diese API würde der von uns gemessene Block aufgeführt werden.

Eine App profilieren

Measure-UDBlock ist ein Alias für Measure-PSUBlock

Sie können den integrierten Profiler mit Apps verwenden. Standardmäßig werden bestimmte interne Aktionszeiten aufgezeichnet. Sie können außerdem das Cmdlet Measure-PSUBlock verwenden, um bestimmte Blöcke innerhalb Ihres Dashboards zu messen.

Diese App verwendet zum Beispiel Measure-PSUBlock, um die Performance des Cmdlets Start-Sleep zu messen. Das Ergebnis ist, dass die Ausführung des Blocks eine Sekunde dauert.

Wenn Sie Anfragen im Profiler überprüfen, sollten Sie nach UDComponent\ElementPost und UDComponent\Element suchen. Dies sind Anfragen für Elemente innerhalb von Apps.

Unten sehen Sie die Beispielausgabe der oben gezeigten App. Beachten Sie, dass die URL die ID des Elements MyElement enthält. Sie werden außerdem feststellen, dass der Block WithinDashboard etwa 1 Sekunde dauert.

Dashboard Timing

Nicht alle Zeitmessungen werden standardmäßig angezeigt. Sie können auf show trivial klicken, um alle Zeitmessungen auszuklappen.

All Timings

Einen Job profilieren

Sie können Jobs profilieren, indem Sie Measure-PSUBlock innerhalb Ihres Skripts verwenden.

Nehmen wir zum Beispiel an, wir haben ein Skript, das Get-Service aufruft.

Beim Ausführen eines Profils für dieses Skript wird der Job als JobProfiler/{id} aufgeführt. Die ID entspricht der in der Admin-Konsole angezeigten Job-ID.

Das Profil enthält den Block, der gemessen wurde.

Zuletzt aktualisiert

War das hilfreich?