Profiling de Code PowerBuilder avec Visual Expert

Après avoir analyser les performances de l'application avec Visual Expert ou suite à des retours utilisateurs, vous pouvez avoir besoin de profiler votre code PowerBuilder pour identifier les lignes qui doivent être refactorées pour améliorer le temps de réponse d'une fonctionnalité donnée.

Visual Expert vous permet de générer une trace de votre code PowerBuilder et de l'analyser pour identifier facilement les lignes de code qui consomment le plus de temps dans un processus donné.

Ce tutoriel décrit les résultats fournit par Visual Expert et comment activer le profiling pour identifier le code PowerBuilder qui doit être optimisé pour améliorer une fonctionnalité lente.

Résultats du Profiling du code PowerBuilder avec Visual Expert

Smart Profiling

Visual Expert fournit un résultat pertinent et lisible en n'affichant dans le treeview que les éléments qui consomment le plus de temps dans un pocessus.

Smart Profiling

Par défaut, seuls les éléments consommant plus de 20% du temps d'un processus sont affichés.
Vous pouvez modifier ce paramètre en cliquant sur la clé à molette à droite de la macro.

Smart Profiling Parameters

Sélectionnez un élément dans le treeview pour afficher son code.
Les lignes qui consomment le plus de temps sont surlignées en rouge dans la vue du code source.
A gauche, Visual Expert indique en pourcentage le temps d'exécution de la ligne en question.
Par exemple, si une méthode prend 10 minutes pour s'exécuter et qu'une ligne de code dans cette méthode prend 7 minutes pour s'exécuter, cette seule ligne représente 70 % du temps total nécessaire à l'exécution de la méthode.

Display Populated Data in Source Code

Lister les éléments hérités Lents

La macro "Get Children" permet d'obtenir une liste à plat des enfants directs dont le temps d'exécution est supérieur à une certaine durée.

Par défaut Visual Expert affiche les enfants dont le temps d'exécution est supérieur à 5ms.
Vous pouvez modifier ce paramètre en cliquant sur la clé à molette à droite de la macro.

Comment Activer le Profiling du Code PowerBuilder avec Visual Expert ?

  • Ouvrez votre application dans l'IDE PB.
  • Ajoutez le fichier veperfmanager.pbl. Il contient la fonctionnalité permettant d'extraire l'analyse des performances pour les fonctions ou les événements exécutés.

    Emplacement de veperfmanager.pbl
    C:\Program Files\Novalys\Visual Expert 2024\PowerBuilderPerformance

     
  • Une fois que la PBL VEPerfManager a été ajoutée à l'application, ajoutez le code suivant au démarrage de l'application pour enregistrer les données de performance.
          //Start Tracing 
          vepbtracemanager veperfmang
          veperfmang = create vepbtracemanager
          veperfmang.starttrace("VEPB.INI") 
    

    Par Exemple :
    Start Tracing PowerBuilder Code Performance

  • Ajoutez le code suivant lors de la fermeture de l'application pour stopper le traçage des données de performance. Le fichier *.vepbperf sera généré et contiendra les données de performance de cette session.
          //Stop Tracing 
          vepbtracemanager veperfmang 
          veperfmang = create vepbtracemanager
          veperfmang.endtrace("VEPB.INI") 
      

    Par Exemple :
    End Tracing PowerBuilder Code Performance

    Les méthodes StartTrace et EndTrace utilisent le fichier VEPB.INI.
    VEPB.INI file Input for Performance Analysis

    Ce fichier contient les paramètres par défaut nécessaires à la création du fichier de sortie ainsi que les paramètres à mesurer. (Voir ci-dessous)

    1. FunctionOrEventTime=
      Ce champ vous permet de décider si les fonctions et les événements doivent être intégrés dans l'analyse des performances par VE. La valeur du champ peut être 1 ou 0.
      Par exemple :
      FunctionTime=1 → indicates to include functions
      EventTime=1 → indicates to include events
      FunctionOrEventTime=1 → indicates to include both functions and events
      ActiveLog=1 → provides more information when a user faces difficulties using the PB Performance functionality
      ActiveLine=1 → provides timing information for each line of code
    2. OutputDirectory=
      Ce champ définit le chemin du répertoire de sortie pour le fichier de performance (*.vepbperf). Par défaut, il utilise le dossier qui contient la cible PB.
      Output Directory Path for PB Performance File
  • A la fermeture de l'application, le fichier .vepbperf est généré comme illustré ci-dessus.
  • Lancez maintenant Visual Expert et cliquez sur Ouvrir le fichier de performance PB [Open PB Performance File] dans l'onglet Performance
    Beta Features Tab Activated
  • Naviguez jusqu'à l'emplacement du fichier VEPBPERF généré et ouvrez-le.
    Open PowerBuilder Performance File
  • Visual Expert analyse le fichier de performance et alimente le TreeView avec les données de profiling.
    Process PowerBuilder Performance File

 

En savoir plus sur l'analyse des performances des applications PowerBuilder avec Visual Expert