Skip to main content

Posts

Showing posts from 2010

Eclipse TPTP : Accélérer le "profiling"

Avant propos :
Le contenu de ce billet valable à partir de Java 5Pour pouvoir tester les exemples présentés dans ce billet vous devez avoir correctement installé l'"Agent Controller" du projet Eclipse TPTP comme cela est décrit ici. Si les notions d'"Agent" et d'"Agent Controller" ne vous disent rien vous pouvez vous rendre ici. Performances, données et outils
Une séance de "profiling" peut très vite se trouver ralentie. Ce phénomène a en règle générale deux origines :
La quantité de données collectées par l'outil, à plus forte raison si il s'agit d'une session distante ("Agent" sur une machine, client sur une autre).Les performances de l'outil qui va analyser et restituer ces données, si l'interface graphique fournie par Eclipse TPTP est très fournie il n'en reste pas moins que si la quantité de données à digérer est trop importante votre système pourrait ne plus répondre.Sérialiser les données de « p…

Eclipse TPTP on IBM AIX platform

It seems that the Eclipse TPTP project has stopped to provide Agent Controller and agent libraries for some Unix platforms like IBM AIX.

I have just tried to use the IBM Rational Agent Controller (available at http://www-01.ibm.com/support/docview.wss?rs=2042&uid=swg27013420) with Eclipse TPTP 4.7.1 as client. Surprisingly it seems to be perfectly compatible, i have successfully collected profiling data on an Eclipse Workbench under Windows from a IBM J9 32bits VM SR8 running on a 64bits IBM AIX PowerPC 6.

Some tips :

While i tried to profile with an Xmx value equals or greater than 2048mthe JVM crashed  with the following error as soon as i attached the Eclipse Workbench to the Agent Controller:Unhandled exception
Type=Illegal instruction vmState=0x00000000
J9Generic_Signal_Number=00000010 Signal_Number=00000004 Error_Value=00000000 Signal_Code=0000001e
…..
Target=2_40_20100401_055940 (AIX 5.3)
CPU=ppc (4 logical CPUs) (0x200000000 RAM)
----------- Stack Backtrace -----------
-----…

TPTP Architecture, l'Agent Controller and co

N.B. : Les informations présentées ici ne sont valables qu'à partir de la version 5.0 de Java

Suite à un premier billet sur le mise en place de l'Agent Controller du projet TPTP en voici un autre pour décrire un peu plus précisément son architecture. Au premier abord il n'est en effet pas évident de s'y retrouver entre les éléments mis en jeu.

Vue d'ensemble de l'architecture

L'architecture de TPTP est organisée autour de 3 éléments :
L'Agent : il s'agit d'un programme qui s’exécute dans le même processus que la JVM. Il est notifié des évènements internes au travers de la JVM Tool Interface (JVMTI). JVMTI est une interface qui permet de connaître l'état de la JVM et de contrôler de manière avancée l'exécution des applications Java qui y sont exécutées.L'Agent Controller : Il s'agit d'un programme qui doit résider sur la même machine que la JVM. Il gère tout le processus de démarrage et de communication avec l'agent. Il fait…

Eclipse TPTP : Installation de l'Agent Controller

C'est en général une fois l'application développée que les questions de performance surgissent : temps de traitement et de réponse en dessous des espérances ou encore consommation mémoire élevée avec un "garbage collector" qui peine à faire son travail sans trop pénaliser l'applicatif. La complexité des piles Java actuelles n'aidant pas forcément à y voir plus clair on peut se retrouver vite désarmé lorsqu'il s'agit d'expliquer une consommation inhabituelle des ressources ou des temps d'attente anormaux.

Ayant fait face à plusieurs reprises à ce genre de situations j'ai décidé d'écrire une série de billets sur la recherche  et la détection de ces "goulots" qui pénalisent les performances d'un application.

Avant de pouvoir profiter pleinement des possibilités offertes par TPTP ce billet a pour objectif de présenter comment installer de manière propre l'Agent Controller (appelé AC par la suite).
L'Agent Controller c…