Perfilado
PowerShell Universal proporciona un perfilador de rendimiento para depurar problemas en los que la plataforma pueda mostrar respuestas lentas. Esto resulta útil principalmente al crear Dashboards.
Habilitar el perfilado
El perfilado aumentará el uso de memoria, ya que los datos de perfilado se almacenan en memoria. Puede habilitar el perfilado configurando la propiedad Profiling de appsettings.json. Su valor predeterminado es false. Deberá reiniciar PowerShell Universal después de habilitar o deshabilitar el perfilado.
"Profiling": trueAcceder a los datos de perfilado
Puede acceder a los datos de perfilado navegando a /profiler/results-index . Deberá haber iniciado sesión como administrador para poder acceder a esta URL.
Verá una lista de solicitudes y sus tiempos.

Al hacer clic en la solicitud se mostrará un desglose de los tiempos.

Perfilar un endpoint de API
Puede perfilar un endpoint de API mediante Measure-PSUBlock. La API aparecerá por URL en el índice de resultados.
Por ejemplo, supongamos una API llamada /process.
El resultado del perfilado de esta API aparecería por URL.

Al ver el perfil de esta API se mostraría el bloque que medimos.

Perfilar una aplicación
Puede utilizar el perfilador integrado con las Apps. De forma predeterminada, se registran ciertos tiempos de acciones internas. También puede utilizar el cmdlet Measure-PSUBlock para medir bloques específicos dentro de su dashboard.
Por ejemplo, esta aplicación utiliza Measure-PSUBlock para medir el rendimiento del cmdlet Start-Sleep. El resultado es que el bloque tardará un segundo en ejecutarse.
Al revisar las solicitudes dentro del perfilador, deberá buscar UDComponent\ElementPost y UDComponent\Element. Estas son solicitudes de elementos dentro de las Apps.
A continuación se muestra el resultado de ejemplo de la aplicación mostrada anteriormente. Observe que la URL incluye el ID del elemento MyElement. También notará que el bloque WithinDashboard tarda alrededor de 1 segundo.

No todos los tiempos se mostrarán de forma predeterminada. Puede hacer clic en show trivial para expandir todos los tiempos.

Perfilar un trabajo
Puede perfilar trabajos utilizando Measure-PSUBlock dentro de su script.
Por ejemplo, supongamos que tenemos un script que llama a Get-Service.
Al ejecutar un perfil en este script, el trabajo aparecerá como JobProfiler/{id}. El id coincidirá con el ID del trabajo mostrado en la consola de administración.

El perfil incluirá el bloque que se midió.

Última actualización
¿Te fue útil?