Exercice 1.2 : Collecte des données d'exécution

Avant de commencer, vous devez terminer l'Exercice 1.1 : Importation des ressources requises.

Scénario : le programme que vous voulez analyser fonctionne pendant quelques temps, puis il s'arrête brusquement. Cela se produit à chaque fois que vous exécutez ce programme. Ce comportement est caractéristique des blocages au niveau unité d'exécution ; vous devez donc étudier les interactions des unités d'exécution dans ce programme.

Pour localiser les éventuels blocages d'unité d'exécution, vous devez d'abord collecter des données d'exécution, puis les analyser dans la fenêtre Vue unité d'exécution de la perspective Profilage et Journalisation.

La collecte de données d'exécution va vous permettre d'identifier le blocage ou d'exclure les unités d'exécution comme cause de l'arrêt anormal de l'application.

Préparation de la collecte des données d'exécution

Pour collecter des données d'exécution, vous devez être dans la perspective Profilage et Journalisation. Pour ouvrir cette perspective :

  1. Dans la barre de menus Software Development Platform, sélectionnez Fenêtre > Ouvrir la perspective > Autre... La boîte de dialogue "Sélectionnez la perspective" s'ouvre.
  2. Dans la partie inférieure gauche de la boîte de dialogue, cliquez sur Show all. La case à cocher est alors sélectionnée.
  3. Dans la liste de perspectives, sélectionnez Profilage et Journalisation, puis cliquez sur OK.
  4. Si la boîte de dialogue "Confirm Enablement" s'ouvre, cliquez sur Always enable capabilities and don't ask me again, puis sur OK.
  5. La vue de Software Development Platform passe à la perspective Profilage et Journalisation.

Collecte de données d'exécution pour l'application philosopher

Pour collecter des données :

  1. Dans la barre de menus Software Development Platform, sélectionnez Fenêtre > Afficher la vue > Console pour ouvrir la vue Console et suivre l'évolution de l'exécution de l'application.
  2. Créez une configuration de profilage :
    1. Dans la barre de menus, sélectionnez Exécuter > Profil... La boîte de dialogue Profil s'ouvre.
    2. Dans la liste des configurations, cliquez deux fois sur Application Java. Une entrée Nouvelle_configuration apparaît.
    3. Dans la zone Nom, saisissez PhilosopherThreads.
    4. Dans l'onglet Principal, si philosopher n'est pas encore saisi dans la zone Projet, procédez comme suit :
      1. A côté de la zone Projet, cliquez sur Parcourir. La boîte de dialogue "Project Selection" s'ouvre.
      2. Sélectionnez philosopher, puis cliquez sur OK.
    5. A côté de la zone "Main class", cliquez sur Search.
    6. Dans la boîte de dialogue Choose Main Type, sélectionnez MaitreDHote, puis cliquez sur OK.
    7. Si vous utilisez la machine virtuelle Java (JVM) IBM, procédez comme suit :
      1. Dans la boîte de dialogue Profiler, cliquez sur l'onglet Arguments.
      2. Dans la section Arguments VM, saisissez -Xj9 pour indiquer la version JVM exacte.
    8. Dans la boîte de dialogue Profiler, cliquez sur l'onglet Profilage.
    9. Dans l'onglet secondaire Généralités, cochez la case correspondant au jeu de profilage Analyse d'unité d'exécution. (Un jeu de profilage définit le type de données de profilage à collecter pour l'exécution.)
  3. Cliquez sur Profil. L'application s'exécute et l'affichage change de la façon suivante :

A partir d'un certain point, le traitement de l'application est interrompu. Voici un exemple de résultat :

. . .
philo#3: waiting for right fork#3
philo#2: waiting for right fork#2
philo#1: waiting for right fork#1
philo#0: waiting for right fork#0
HeadWaiter: all philosophers are locked for 6 times.
exiting application.

C'est le moment où le programme s'arrête. Pendant cette exécution, toutefois, vous avez collecté des données d'exécution et vous pouvez maintenant analyser les raisons de l'arrêt du programme.

En cas d'échec de la collecte de données

Pour que vous puissiez collecter des données de profilage, le Contrôleur d'agent doit fonctionner. Si vous recevez un message indiquant que le Contrôleur d'agent n'est pas disponible, vérifiez que celui-ci a bien été installé, démarrez-le manuellement et recommencez l'opération de collecte. Pour plus d'informations, consultez le guide d'installation. Vous pouvez y accéder à l'aide du tableau de bord et il est également disponible sur le CD du produit dans disk1/install.html.

Maintenant que vous avez collecté les données nécessaires, vous pouvez passer à l'Exercice 1.3 : Identification d'un goulot d'étranglement d'unité d'exécution.

Conditions d'utilisation | Appréciations en retour
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.