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

Profilazione

La profilazione funziona solo per l'ambiente integrato.

PowerShell Universal fornisce un profiler delle prestazioni per il debug di problemi in cui la piattaforma potrebbe presentare risposte lente. Ciò è utile principalmente durante la creazione di Dashboard.

Abilitare la profilazione

La profilazione aumenterà l'utilizzo della memoria poiché i dati di profilazione vengono archiviati in memoria. È possibile abilitare la profilazione configurando la proprietà Profiling di appsettings.json. Per impostazione predefinita è false. Sarà necessario riavviare PowerShell Universal dopo aver abilitato o disabilitato la profilazione.

"Profiling": true

Accedere ai dati di profilazione

È possibile accedere ai dati di profilazione navigando a /profiler/results-index . Sarà necessario aver effettuato l'accesso come amministratore prima di poter accedere a questo URL.

Verrà visualizzato un elenco di richieste e delle relative tempistiche.

Result Index

Facendo clic sulla richiesta verrà visualizzata una suddivisione delle tempistiche.

Timings

Profilazione di un endpoint API

È possibile profilare un endpoint API utilizzando Measure-PSUBlock. L'API sarà elencata per URL nell'indice dei risultati.

Ad esempio, si supponga un'API chiamata /process.

Il risultato della profilazione di questa API sarebbe elencato per URL.

La visualizzazione del profilo per questa API elencherebbe il blocco che abbiamo misurato.

Profilazione di un'app

Measure-UDBlock è un alias per Measure-PSUBlock

È possibile utilizzare il profiler integrato con le App. Per impostazione predefinita, vengono registrate determinate tempistiche di azioni interne. È inoltre possibile utilizzare il cmdlet Measure-PSUBlock per misurare blocchi specifici all'interno della dashboard.

Ad esempio, questa app utilizza Measure-PSUBlock per misurare le prestazioni del cmdlet Start-Sleep. Il risultato è che il blocco impiegherà un secondo per essere eseguito.

Quando si esaminano le richieste all'interno del profiler, si dovranno cercare UDComponent\ElementPost e UDComponent\Element. Queste sono richieste di elementi all'interno delle App.

Di seguito è riportato l'output di esempio dell'app mostrata sopra. Si noti che l'URL include l'ID dell'elemento MyElement. Si noterà inoltre che il blocco WithinDashboard impiega circa 1 secondo.

Dashboard Timing

Non tutte le tempistiche vengono visualizzate per impostazione predefinita. È possibile fare clic su show trivial per espandere tutte le tempistiche.

All Timings

Profilazione di un processo

È possibile profilare i processi utilizzando Measure-PSUBlock all'interno dello script.

Ad esempio, si supponga di avere uno script che chiama Get-Service.

L'esecuzione di un profilo su questo script elencherà il processo come JobProfiler/{id}. L'id corrisponderà all'ID del processo mostrato nella console di amministrazione.

Il profilo includerà il blocco che è stato misurato.

Ultimo aggiornamento

È stato utile?