Article
· Août 14, 2023 2m de lecture

Profilage d'ObjectScript plus puissant

InterSystems IRIS propose plusieurs façons de profiler votre code. Dans la plupart des cas, il produit suffisamment d'informations pour trouver les endroits où l'on passe le plus de temps ou les ensembles les plus globaux. Mais il est parfois difficile de comprendre le flux d'exécution et comment il s'est terminé à ce point-là. Pour résoudre ce problème, j'ai décidé d'implémenter un moyen de construire un rapport d'une certaine manière, de sorte qu'il est possible de naviguer par pile vers le bas.

  ### Installation et utilisation

zpm "install zprofile"
#; run trace
Do ##class(caretdev.zprofile.main).Trace("Do ##class(Some.Class).Method()")")
Do ##class(caretdev.zprofile.main).Trace("Do Some^Routine")

_**Cette commande doit être appelée depuis le terminal, c'est la seule façon d'obtenir une localisation, en raison de la limitation de la commande ZBreak utilisée dans le projet**_ Accédez à http://localhost:52773/zprofile/index.html et sélectionnez l'exécution

* Il permet de se déplacer par une pile d'exécution, montrant les lignes exécutées et les lignes entre celles-ci.  * La ligne inférieure indique les valeurs totales pour chaque mesure. * Chaque cellule indique visuellement le pourcentage de la valeur par rapport au total, ce qui permet de repérer facilement les lignes qui ont pris plus de temps. * Il est possible de relancer la même commande en changeant du code, pour voir le résultat, il suffit de passer à une autre exécution, qui restera si possible au même niveau de la pile.

L'animation GIF qui montre comment cela fonctionne

Il est également possible de sélectionner les colonnes qui doivent être affichées

Discussion (0)2
Connectez-vous ou inscrivez-vous pour continuer