Configuration du profilage à l'aide de la plateforme d'outils de test et de performance Eclipse (TPTP)

Aperçu

  • Le profilage est un aspect important pour les programmeurs car c'est le processus où le programmeur peut découvrir une utilisation élevée de la mémoire, une utilisation élevée du processeur, des problèmes de contention réseau, etc.
  • Il existe différents profileurs disponibles sur le marché et la plupart d'entre eux sont des versions commerciales.
  • La communauté Eclipse a un projet nommé TPTP (Testing and Performance Tools Platform) pour résoudre ce problème. Ici, seul l'aspect profilage de TPTP est discuté, mais la capacité de TPTP est bien plus.
  • TPTP

  • Cette fonction peut être utilisée pour profiler des applications Java locales ou des applications complexes s'exécutant sur plusieurs hôtes et différentes plates-formes.
  • Ceci est intégré à Eclipse, permettant le profilage des applications exécutées à partir d'Eclipse.
  • TPTP peut être installé via Eclipse Provisioning Manager ou télécharger manuellement les packages requis de TPTP et les placer dans le répertoire des plugins.
  • Contrôleur d'agent - Ce processus permet aux applications clientes de lancer d'autres applications localement ou à distance et d'interagir avec les processus d'agent pour collecter des données de profilage. Si TPTP doit être utilisé localement sur l'application Java, ce contrôleur d'agent autonome n'est pas requis car TPTP est fourni avec Agent Controller.
  • Les trois opérations de profilage implémentées.
    1. CGProf: cette option de profilage est utilisée pour identifier les goulots d'étranglement des performances, en décomposant le temps d'exécution au niveau par méthode.
    2. HeapProf: cette option vous permet d'identifier le contenu du tas en suivant l'allocation et la désallocation d'objets pendant toute la durée de vie du programme.
    3. ThreadProf: cette option de profilage vous permet de suivre l'utilisation des threads pendant toute la durée de vie du programme.
  • TPTP woks dans la perspective de profilage et de journalisation d'Eclipse.
  • Analyse du temps d'exécution

  • Cet aspect de TPTP donne le temps d'exécution des packages, des classes et des méthodes d'analyse
  • Ceci est utile pour trouver les points d'exécution qui prennent plus de temps que prévu, qui sont des goulots d'étranglement potentiels pour les performances.
  • Terminologies

  • Base Time: le temps d'exécution du contenu de la méthode elle-même, à l'exclusion des appels à d'autres méthodes. (Dans le graphique, le champ Base Time a additionné tous les appels de cette méthode)
  • Temps de base moyen: temps moyen nécessaire à une méthode particulière pour se terminer, à l'exclusion du temps d'appels de méthode à d'autres méthodes. (Dans le graphique, il s'agit du temps de base divisé par le nombre d'appels)
  • Temps cumulatif: le temps d'exécution du contenu de la méthode elle-même, y compris les appels à d'autres méthodes.
  • Pas:

  • Choisissez le projet et sélectionnez le chemin mentionné ci-dessus.
  • Sélectionnez la configuration de profil à effectuer - Junit, Applet, Application ou Server Project.
  • Choisissez l'onglet Moniteur et sélectionnez «Analyse du temps d'exécution».
  • Cliquez sur les options d'édition et sélectionnez «Collecter les informations sur le temps CPU de la méthode».
  • Analyse de la mémoire

  • Cet aspect de TPTP donne l'utilisation de la mémoire des packages, des classes et des méthodes d'analyse.
  • Cela est utile pour trouver les points d'exécution qui consomment plus de mémoire que prévu, qui sont des cas potentiels de fuites de mémoire.
  • Terminologies

  • Instances en direct: le nombre d'instances de la classe particulière qui sont toujours actives en mémoire (qui n'ont pas fait l'objet d'un nettoyage de la mémoire).
  • Taille active: nombre total d'octets dans le segment de mémoire que toutes les instances actives consomment actuellement.
  • Nombre total d'instances: nombre total d'instances de cette classe qui ont été créées pendant la durée de vie de la machine virtuelle Java (y compris les objets récupérés de la mémoire).
  • Taille totale: taille totale de toutes les instances de cette classe qui ont été créées pendant la durée de vie de la machine virtuelle Java (y compris les objets récupérés de la mémoire).
  • Âge moyen: âge moyen d'un objet avant qu'il ne soit ramassé.
  • Pas:

  • Choisissez le projet et sélectionnez le chemin mentionné ci-dessus.
  • Sélectionnez la configuration de profil à effectuer - Junit, Applet, Application ou Server Project.
  • Choisissez l'onglet Moniteur et sélectionnez «Analyse de la mémoire».
  • Cliquez sur les options d'édition et sélectionnez «Suivre les sites d'allocation d'objets».
  • Analyse des fils

  • Cet aspect de TPTP donne la contention de thread des packages, des classes et des méthodes d'analyse.
  • Ceci est utile pour trouver les points d'exécution où le thread attend des ressources même après la fin de l'opération.
  • Pas:

  • Choisissez le projet et sélectionnez le chemin mentionné ci-dessus.
  • Sélectionnez la configuration de profil à effectuer - Junit, Applet, Application ou Server Project.
  • Choisissez l'onglet Monitor et sélectionnez «Thread Analysis».
  • Cliquez sur les options d'édition et sélectionnez «Analyse des conflits».
  • Points clés

  • Des kits de sondes personnalisées peuvent également être insérés pour profiler l'application.
  • L'analyse de la mémoire donne des pointeurs vers une utilisation inhabituelle élevée de la mémoire qui pourrait être des candidats potentiels à une fuite de mémoire.
  • Les temps d'exécution élevés des classes ou des méthodes sont des pointeurs vers des problèmes de performances qui peuvent être affinés.
  • Cette histoire, «Configuration du profilage à l'aide de la plateforme d'outils de test et de performance Eclipse (TPTP)» a été publiée à l'origine par JavaWorld.