Améliorer les performances d'une fonctionnalité spécifique de l'application

Lorsqu'un utilisateur signale qu'une fonctionnalité est trop lente, la cause peut être difficile à trouver si cette fonctionnalité dépend d'une longue chaîne d'appels de fonctions et d'objets.

Visual Expert permet d'améliorer l'expérience utilisateur en générant un graphe d'appels, avec les temps d'exécution de chaque nœud, pour aider à identifier les morceaux de code qui ralentissent la fonctionnalité.

Utiliser le graphe d'appels des temps d'exécition pour analyser les performances

Supposons qu'un utilisateur se soit plaint du temps de réponse de l'événement de clic de ce bouton :
Check Button Click Event

  • Allez sur Analyse des performances dans la barre de navigation.
    Cliquez sur Temps d'exécution (Graphe d'appels).
    Call Graph Execution Time Macro
  • Visual Expert affichera la chaîne des appels exécutés après l'événement clic de ce bouton, et pour chaque étape du process, le temps de réponse moyen.
    Call Graph Execution Time Result

L'exemple ci-dessus repose sur une très courte chaîne d'appels, et peut être étudié simplement en regardant les quelques morceaux de code concernés.

Prenons un cas plus complexe avec l'exemple ci-dessous :
Chain of calls for complex click event

Ce graphe montre des méthodes PowerBuilder s'appelant les unes les autres, avec une chaîne de plusieurs centaines d'appels différents. Il serait difficile pour un développeur de produire ce graphe, et encore plus de déterminer où le temps est perdu.

Cette fonctionnalité de Visual Expert permet aux développeurs de PB d'identifier visuellement la méthode présentant le temps de réponse le plus élevé (barre jaune), de l'optimiser et d'améliorer une fonctionnalité particulière de l'application.

Utiliser la macro "SQL les plus lents" pour l'analyse des performances

Imaginez qu'un DBA trouve un SQL particulier qui ralentit la base de données. Il peut le signaler à l'équipe de développement, mais celle-ci aura du mal à trouver d'où vient ce SQL.

Visual Expert permet d'identifier quel objet / méthode a généré ce SQL.

Pour cela :

  • Sélectionnez la table concernée - par exemple la table [CUSTOMER].
    Select a Table to find slowest SQL
  • Dans la barre de navigation, allez sur Analyse des performances. Cliquez sur [SQLs les plus lents accédant à cette table].
    Visual Expert affichera les SQLs les plus lents triés par Temps d'Exécution Moyen.
    Slowest SQLs using a Table
  • Pour savoir d'où vient un SQL particulier : Sélectionnez-le et cliquez sur Documentation du code > Localiser. VE affichera les conteneurs de cet élément dans une hiérarchie. Dans l'exemple ci-dessous, une instruction d'insertion lente provient de la procédure stockée "InsertCustomer", contenue dans le schéma nommé "DATA".
    Locate Slowest SQL in a Table
  • Remarque : Visual Expert peut afficher la hiérarchie des conteneurs pour plusieurs SQL à la fois.
    Locate Multiple Slowest SQLs

Optimisation des performances pour PowerBuilder | Regarder la démo

Tutoriel vidéo de la conférence Elevate 2022 démontrant les cas pratiques ci-dessus :

 

PowerBuilder, Code Performance, Improve Application User Experience, Upgrade PB App Feature UX