Tutoriel : Analyse des données de profilage à partir d'un processus Java

Objectifs

Analyser les données collectées à partir du profilage d'un processus Java, à l'aide des vues de profilage et de journalisation de la perspective Profilage et journalisation selon les procédures suivantes :

Temps requis

1 heure

Avant de commencer

Avant de commencer ce tutoriel, vous devez :

  1. Installer la plateforme Eclipse, compris les outils Hyades.
  2. Préparer les exemples de fichiers de profilage à des fins d'importation.Ces exemples doivent se trouver dans le répertoire suivant :
    répertoire d'installation\directory\eclipse\plugins\org.eclipse.hyades.collection.framework\src\org\eclipse\hyades\test\collection\framework

Description

Dans ce tutoriel, vous pouvez utiliser les différentes vues de profilage et de journalisation afin d'analyser l'exemple PerformanceExample.class. Ce dernier ouvre un cadre contenant deux boutons.

Vous devez exécuter les tâches suivantes :

  1. Ouverture de la perspective Profilage et journalisation dans le plan de travail
  2. Profilage de la classe PerformanceExample
  3. Analyse des informations de profilage

Pour mettre à jour les vues lors du contrôle de l'application, cliquez sur le bouton Régénérer les vues  bouton doté d'une icône stylisée .

Ouverture de la perspective Profilage et journalisation dans le plan de travail

Cliquez sur Ouvrir une perspective bouton doté d'une icône stylisée > Autre > Profilage et journalisation

Profilage de la classe PerformanceExample

Procédez comme suit :

  1. Cliquez sur Profil   bouton doté d'une icône stylisée. L'assistant de lancement du processus Java apparaît et affiche la page Classe.
  2. Choisissez Sélectionner une classe dans le système de fichiers
  3. Cliquez sur Parcourir, puis recherchez l'exemple de classe qui doit se trouver dans le répertoire suivant :
    répertoire d'installation\eclipse\plugins\org.eclipse.hyades.collection.framework\bin\org\eclipse\hyades\test\collection\framework
    Cliquez sur Suivant. La page Destination apparaît.
  4. ProfileProject et DefaultMonitor sont les ressources de profilage par défaut qui permettent de stocker des données à partir de cette session de profilage.Cliquez sur Suivant. La page Filtres de profilage s'affiche.
  5. Acceptez les filtres par défaut. Cliquez sur Suivant. La page Options de profilage s'affiche.
  6. La case Mon application utilise trop de mémoire est déjà cochée, ce qui signifie que des informations relatives à la mémoire sont incluses dans les données de profilage collectées à partir de l'application
  7. Pour recevoir des informations d'exécution, cochez la case Mon application est trop lente. Lorsque cette option est sélectionnée, vous pouvez utiliser les vues statistiques pour analyser les informations relatives au temps. Vous devez collecter des détails graphiques d'exécution pour pouvoir utiliser les vues Flux d'exécution et Appel de méthode. Dans la mesure où ce modèle a pour but de vous guider dans toutes les vues de profilage, y compris les vues Flux d'exécution et Appel de méthode, cliquez sur Afficher les détails, puis sélectionnez Afficher les détails graphiques de fluxCliquez sur Terminer.
  8. Les ressources de profilage requises sont créées et l'agent et le processus apparaissent dans la vue Moniteur de profilage. 
  9. Activez l'affichage des dossiers, moniteurs et hôtes pour visualiser le moniteur qui regroupe les données ainsi que la machine sur laquelle le plan de travail est en cours d'exécution.

    Moniteur de profilage présentant la hiérarchie des ressources et le menu déroulant permettant la vérification des ressources de sorte qu'elles s'affichent

     

Analyse des informations de profilage

Visualisation du comportement d'exécution sur une période de temps

  1. Ouvrez la vue Flux d'exécution : sélectionnez votre moniteur, cliquez à l'aide du bouton droit de la souris, puis cliquez sur Ouvrir avec > Flux d'exécution
  2. L'exécution de la totalité du programme est représentée dans cette vue.L'heure est affichée sur l'axe verticale à droite.
  3. Cliquez sur le nom d'une méthode (ou sur le caractère blanc sous la méthode) pour la sélectionner. Toutes les méthodes qu'elle appelle sont ensuite mises en évidence en jaune. La longueur verticale de la zone mise en évidence indique le temps de base de la méthode. La valeur exacte du temps de base s'affiche sur la ligne d'état.

    Vue Flux d'exécution contenant deux méthodes, celle de gauche ayant une légère nuance de jaune
     
  4. Utilisez l'outil Zoom avant   bouton doté d'une icône stylisée pour activer le curseur, puis pointez et cliquez pour agrandir une zone. 

    gros plan de la vue Flux d'exécution
     

Analyse du processus à l'aide de la vue Flux d'exécution

Ouverture de la vue Flux d'exécution

  1. Dans la vue Moniteur de profilage, sélectionnez le moniteur ou l'agent.
  2. Cliquez à l'aide du bouton droit de la souris, puis sélectionnez Ouvrir avec> Flux d'exécution. La vue Flux d'exécution s'affiche.

Remarque : Pour mettre à jour les vues lors du contrôle de l'application, cliquez sur le bouton Régénérer les vues  bouton doté d'une icône stylisée .

Identification des unités d'exécution actives

Dans la vue Flux d'exécution, chaque unité d'exécution contient des périodes d'activité identifiées par une profusion d'appels de méthode. Dans la représentation symbolique, la première méthode appelée est un segment et les méthodes qu'elle appelle ultérieurement apparaissent sous forme d'autres segments à droite. La séquence des appels de méthode se déroule de gauche à droite ; les parties actives de l'unité d'exécution sont identifiées par cette progression de gauche à droite.

Lors de la sélection de la totalité de la section qui encadre la séquence des appels de méthode, le temps de base passé pour l'exécution de cette séquence s'affiche sur la ligne d'état. Pour consulter le temps de base pendant lequel l'unité d'exécution est active, recherchez la différence entre les temps suivants :

  1. Pointez sur la ligne horizontale supérieure de la zone jaune sélectionnée pour afficher le temps de base correspondant sur la ligne d'état.
  2. De même, pointez sur l'angle inférieur de la zone jaune sélectionnée (qui couvre la période d'exécution lorsque la séquence de méthode est active), puis visualisez le temps de base à cet emplacement.

Conseils

Identification des méthodes fréquemment appelées

Pour identifier les méthodes fréquemment appelées, procédez comme suit :

  1. Utilisez l'outil Zoom bouton doté d'une icône stylisée pour agrandir une séquence d'appels de méthode.
  2. Recherchez les segments de la même couleur dans la zone sélectionnée. Ces segments identifient les méthodes de la même instance de classe qui ont été appelées plusieurs fois.
  3. Vérifiez la longueur des segments de couleur différente (chacun représentant une méthode). Plus le segment est long, plus le temps d'exécution de cette méthode est long. 

    Image de la vue Appel de méthode

Evaluation de la récupération de place

En général, il est impossible de déterminer si la récupération de place a eu lieu pour un objet en inspectant les segments dans une unité d'exécution utilisateur de cette vue.

Procédez comme suit :

  1. Vérifiez la colonne située à l'extrémité gauche de cette vue. Cette colonne est réservée à l'unité d'exécution de récupération de place et est appelée colonne d'unité d'exécution RP.
  2. Vérifiez si la colonne d'unité d'exécution RP contient un rectangle fin unique. Ce dernier se trouve probablement à l'extrémité inférieure des appels de méthode de l'objet. Ce rectangle apparaît dans la colonne d'unité d'exécution RP chaque fois qu'une récupération de place a lieu pour un objet.

Identification des phases d'exécution de programme

Identification de la phase d'initialisation

  1. Utilisez l'outil Zoom avant bouton doté d'une icône stylisée pour agrandir la séquence des appels de méthode dans la partie supérieure de l'unité d'exécution principale.
  2. Notez les méthodes qui sont identifiées par -init-
  3. Cliquez pour sélectionner une méthode de ce type. La barre d'état est mise à jour pour indiquer que la méthode contribue à l'initialisation (affectation de valeurs aux variables utilisées dans l'application).

Analyse des méthodes à l'aide de la vue Appel de méthode

  1. Dans la vue Moniteur de profilage, sélectionnez un moniteur ou un agent. Cliquez à l'aide du bouton droit de la souris, puis sélectionnez Ouvrir avec> Flux d'exécution.La vue Flux d'exécution s'affiche.
  2. Sélectionnez la méthode à examiner, cliquez à l'aide du bouton droit de la souris, puis sélectionnez Afficher l'appel de méthode.
  3. Utilisez l'outil Zoom avant bouton doté d'une icône stylisée pour agrandir une section de l'écran.Les segments comportent un code couleur par classe et sont connectés par des lignes horizontales représentant des appels de méthode.
  4. Sélectionnez une méthode en cliquant sur le nom de celle-ci. 
  5. Cliquez sur le bouton Régénérer les vues  bouton doté d'une icône stylisée pour vous assurer que les informations affichées sont à jour.
  6. Notez la ligne suivante :
    ligne d'état affichant le nom de méthode et les nombres 1/1

    Cette ligne affiche le nom de la méthode, suivi de n/m, où n représente l'appel affiché parmi un total de m appels associés. 
  7. Cliquez sur Précédent  et sur Suivant  pour parcourir tous les appels de la méthode sélectionnée (ou chaque message de l'objet sélectionné). La fraction située sur la barre d'outils se transforme pour indiquer l'appel affiché.

Recherche de l'appelant d'une méthode

Pour rechercher l'appelant d'une méthode, suivez les étapes ci-dessous dans la vue Appel de méthode :

  1. Pour afficher l'appelant de la méthode, cliquez sur le bouton Afficher l'appelant  . La méthode apparaît et l'appelant associé s'affiche à gauche. 
  2. Pour afficher plus de détails sur l'appelant de la méthode pour chaque nouvel appel visualisé, positionnez le curseur sur le segment représentant l'appelant dans la vue. La ligne d'état affiche les informations relatives à l'appelant.
  3. Pour consulter la méthode appelée par une méthode sélectionnée, cliquez sur le bouton Afficher la méthode appelée