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

Profilage

Profileur de performances pour PowerShell Universal.

Le profilage fonctionne uniquement pour l'environnement intégré.

PowerShell Universal fournit un profileur de performances pour déboguer les problèmes où la plateforme peut présenter des réponses lentes. Cela est principalement utile lors de la création de tableaux de bord.

Activer le profilage

Le profilage augmente l'utilisation de la mémoire, car les données de profilage sont stockées en mémoire. Vous pouvez activer le profilage en configurant la propriété Profiling dans le fichier appsettings.json. Elle est définie à false par défaut. Vous devrez redémarrer PowerShell Universal après avoir activé ou désactivé le profilage.

"Profiling": true

Accéder aux données de profilage

Vous pouvez accéder aux données de profilage en naviguant vers /profiler/results-index. Vous devrez être connecté en tant qu'administrateur avant de pouvoir accéder à cette URL.

Vous verrez une liste des requêtes et leurs temps d'exécution.

Result Index

Cliquer sur la requête affiche une décomposition des temps d'exécution.

Timings

Profilage d'un point de terminaison API

Vous pouvez profiler un point de terminaison API en utilisant Measure-PSUBlock. L'API sera répertoriée par URL dans l'index des résultats.

Par exemple, supposons une API appelée /process.

Le résultat du profilage de cette API sera répertorié par URL.

L'affichage du profil de cette API listera le bloc que nous avons mesuré.

Profilage d'une application

Measure-UDBlock est un alias de Measure-PSUBlock

Vous pouvez utiliser le profileur intégré avec les applications. Par défaut, certains temps d'exécution d'actions internes sont enregistrés. Vous pouvez également utiliser la cmdlet Measure-PSUBlock pour mesurer des blocs spécifiques au sein de votre tableau de bord.

Par exemple, cette application utilise Measure-PSUBlock pour mesurer les performances de la cmdlet Start-Sleep. Le résultat est que le bloc prendra une seconde à s'exécuter.

Lors de l'examen des requêtes dans le profileur, vous devrez rechercher UDComponent\ElementPost et UDComponent\Element. Ce sont des requêtes pour les éléments au sein des applications.

Ci-dessous se trouve l'exemple de sortie de l'application présentée ci-dessus. Notez que l'URL inclut l'ID de l'élément MyElement. Vous remarquerez également que le bloc WithinDashboard prend environ 1 seconde.

Dashboard Timing

Tous les temps d'exécution ne seront pas affichés par défaut. Vous pouvez cliquer sur show trivial pour développer tous les temps d'exécution.

All Timings

Profilage d'une tâche

Vous pouvez profiler des tâches en utilisant Measure-PSUBlock dans votre script.

Par exemple, supposons que nous ayons un script qui appelle Get-Service.

L'exécution d'un profilage sur ce script répertoriera la tâche sous la forme JobProfiler/{id}. L'identifiant correspondra à l'ID de tâche affiché dans la console d'administration.

Le profil inclura le bloc qui a été mesuré.

Mis à jour

Ce contenu vous a-t-il été utile ?