DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté WEBDEV 28 !
  • Ce que vous allez apprendre dans cette leçon
  • Présentation
  • Lancer l'analyseur de performances
  • Analyse du résultat
Leçon 10.2. Optimiser un projet : Analyseur de performances
Ce que vous allez apprendre dans cette leçon
  • Présentation.
  • Lancer l'analyseur de performances.
  • Analyser le résultat.
Durée de la leçon

Durée estimée : 15 mn
Leçon précédenteSommaireLeçon suivante
Présentation
L'analyseur de performances (appelé également Profiler) est un outil permettant de vérifier et d'optimiser le temps d'exécution des traitements de votre site.
Son principe est simple :
  • Vous testez votre site.
  • Pendant ce test, l'analyseur de performances répertorie toutes les actions effectuées et sauvegarde les temps d'exécution de chacun des traitements exécutés.
A la fin du test, l'analyseur de performances vous présente :
  • les 10 manipulations qui ont pris le plus de temps,
  • la durée et le nombre d'appels de tous les traitements exécutés.
Le projet "WW_Optimisation" contient une page spécifique permettant de visualiser des exemples de résultats obtenus avec l'analyseur de performances.
Lancer l'analyseur de performances
L'analyseur de performances peut être lancé :
  • directement depuis l'éditeur de WEBDEV :
    Dans ce cas, le projet est alors automatiquement exécuté en mode test. Vous pouvez manipuler votre application et lancer les traitements de votre choix.
    Pour revenir sous l'éditeur WEBDEV, il suffit de quitter votre site.
    L'analyseur de performances affiche alors le résultat de l'analyse. Ce résultat est enregistré sous forme d'un fichier WPF.
  • depuis un de vos traitements en WLangage, grâce aux fonctions suivantes :
    AnalyseurDébutLance la "collecte d'informations" pour l'analyseur de performances.
    AnalyseurFinArrête la "collecte d'informations" pour l'analyseur de performances.

    Dans ce cas, seul le code présent entre les fonctions AnalyseurDébut et AnalyseurFin est analysé. Le résultat est enregistré sous forme d'un fichier WPF.
  • Dans notre exemple, nous allons utiliser la première méthode. Pour lancer l'analyseur de performances sur le projet "WW_Optimisation" :
    1. Dans le ruban, sous le volet "Projet", dans le groupe "Audit et performances", déroulez "Analyser les performances" et sélectionnez "Analyser les performances".

      Note

      L'analyseur de performances peut également être lancé depuis le tableau de bord du projet, via le widget "Performances". Il suffit de :
      • activer le Widget si nécessaire (cliquez sur le lien "Cliquez ici pour réactiver").
      • cliquer sur la flèche et de sélectionner "Analyser les performances".
        Widget 'Performances' (tableau de bord du projet)
    2. Le test du projet se lance.
    3. Cliquez sur le bouton "PAGE DE TEST DE L'ANALYSEUR DE PERFORMANCES".
    4. Cliquez sur le bouton "TRAITEMENT A ANALYSER".
    5. Validez la fenêtre d'information et arrêtez le test du projet en fermant le navigateur. La fenêtre du compte-rendu de l'analyseur de performances apparaît.
Analyse du résultat
  • Examinons la fenêtre du compte-rendu de l'analyseur de performances. Les résultats sont affichés dans plusieurs onglets :
    • l'onglet "Synthèse" présente les dix traitements qui ont pris le plus de temps.
    • l'onglet "Cartographie" présente une vision graphique des traitements les plus importants.
    • l'onglet "Détail" présente tous les traitements lancés lors du test de l'application (classés du plus long au plus rapide).
    • l'onglet "Appels" permet de visualiser le détail des opérations réalisées dans un traitement.
  • Détaillons ces différents onglets dans le cas de notre exemple.
    • L'onglet "Synthèse" présente les dix traitements les plus consommateurs de temps. Dans notre exemple, nous pouvons voir que la procédure locale "MetAJourStockProduits" prend plus de 3 secondes à s'exécuter (ce temps peut varier en fonction de la puissance de votre machine).
      Analyseur de performances - Onglet 'Synthèse'
    • L'onglet "Cartographie" permet d'identifier de manière visuelle ce qui a pris le plus de temps. Dans notre cas, c'est un appel à la fonction HTTPRequête :
      Analyseur de performances - Onglet 'Cartographie'
    • L'onglet "Détail" présente tous les traitements ou événements appelés du plus long au plus rapide.
      Analyseur de performances - Onglet 'Détail'
      Pour chaque traitement, les informations suivantes sont affichées :
      • Fonction : Fonction, événement ou procédure exécutée.
      • Temps Total : Temps d'exécution de la fonction.
      • Temps interne : Temps d'exécution dû au moteur.
      • Nb appels : Nombre d'appels effectués à la fonction (procédure ou événement).
      • Temps 1 appel : Temps d'exécution d'un appel à la fonction (procédure ou événement).
      • % Code : Pourcentage du temps passé dans le traitement de la fonction ou de la procédure (code du développeur pouvant être optimisé).
      • Parent : Elément qui contient le traitement ou l'événement.
  • Dans notre cas, l'onglet "Détail" permet de retrouver l'appel à la fonction HTTPRequête dans les éléments prenant le plus de temps.
    1. Sélectionnez cette ligne. Nous allons voir dans le code si un problème peut expliquer ce ralentissement.
    2. En cliquant sur le bouton "Appels", le détail des appels de la procédure MetAjourStockProduits apparaît.
      Appels effectuées par la procédure locale
    3. Sélectionnez la ligne "HTTPRequête" et cliquez sur le bouton "Code" : la ligne de code WLangage correspondante est affichée sous l'éditeur de code.
    4. Fermez l'analyseur de performances.
    5. La ligne de code WLangage exécutée est la suivante :
      HTTPRequête("adr-fournisseur")
      Le ralentissement vient du fait que l'adresse spécifiée pour la fonction HTTPRequête est inaccessible.

      Note

      L'éditeur de code indique qu'une erreur a été trouvée en exécution sur cette ligne de code en affichant une icône "Sens interdit". En survolant cette icône, le détail de l'erreur est affiché.
  • Testons rapidement le fonctionnement de l'application en optimisant ce code :
    1. Remplacez la ligne de code contenant la fonction HTTPRequête par la ligne de code suivante :
      // Vérifie l'accessibilité du serveur fournisseur
      HTTPRequête("www.google.fr")
    2. Enregistrez le code (Ctrl + S).
  • Nous allons maintenant relancer l'analyseur de performances :
    1. Sous le volet "Projet", dans le groupe "Audit et performances", déroulez "Analyser les performances" et sélectionnez "Analyser les performances".
    2. Le test du projet se lance.
    3. Cliquez sur le bouton "PAGE DE TEST DE L'ANALYSEUR DE PERFORMANCES".
    4. Cliquez sur le bouton "TRAITEMENT A ANALYSER".
    5. Validez la fenêtre d'information et arrêtez le test du projet. La fenêtre du compte-rendu de l'analyseur de performances apparaît.
    6. Sous l'onglet "Cartographie", la fonction HTTPRequête n'apparaît plus avec la même importance.
      Analyseur de performances - Onglet 'Cartographie'
  • Fermez la fenêtre de rapport de l'analyseur de performances.
Leçon précédenteSommaireLeçon suivante
Version minimum requise
  • Version 28
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire