Observer une JVM sous toutes ses coutures

J'ai déjà écrit quelques articles sur les différents moyens de monitorer une JVM, notamment avec la JConsole, mais il existe bien d'autres outils permettant d'observer le déroulement d'une application dont VisualVM, qui est sûrement le plus complet et le plus agréable à utiliser.

Comme il existe déjà de nombreux blogs décrivant son fonctionnement, je ne vais pas les paraphraser et je vous laisse les découvrir via les liens plus bas.

Je vais ici plutôt m'attarder sur la description du plugin Eclipse qui permet d'ajouter un lanceur d'application basé sur VisualVM afin d'accéder directement au profilage dès le démarrage.

Après avoir téléchargé et installé le plugin sur le site officiel, direction les préférences du workspace :

Il s'agit ici de simplement configurer :

  • Dans la section "VisualVM configuration", le chemin d'exécution de VisualVM et du JDK.
  • Dans la section "Default launchers", le nouveau lanceur à utiliser (qui n'est finalement qu'un hook avant le démarrage de l'application)

Ainsi, à la prochaine exécution dans l'IDE, VisualVM sera lancé en parallèle et automatiquement câblé dessus :

Il ne reste plus qu'à profiter de toutes les fonctionnalités de l'outil, toutes plus indispensables les unes que les autres... Enjoy!

Sources :


Fichier(s) joint(s) :



Eclipse : régler les problèmes de master password

Une fois n'est pas coutume, cet article est un simple mémo pour conserver à portée de main deux liens utiles pour résoudre les problèmes de "secure storage" d'Eclipse (corrompu, manquant, non sauvegardé...) :

Si vous avez rencontré d'autres problèmes (et trouvé des solutions!), n'hésitez pas à compléter...

Voilà tout!


Fichier(s) joint(s) :



Nouveau jargon informatique

A l'heure de la pause, il est toujours bon de se cultiver un peu.

Voici donc un lien vers le génial site CodingHorror qui nous présente une liste des nouveaux termes liés aux plus ou moins bonnes pratiques en informatique. Enjoy!

http://www.codinghorror.com/blog/2012/07/new-programming-jargon.html


Fichier(s) joint(s) :

Maitrisez vos plugins RCP : traces et fuites SWT

Dans cet article je vais simplement partager, pour ne pas paraphraser, quelques liens intéressants pour permettre de debugger avec précisions tous les niveaux d'une application RCP.

Fuites de mémoires SWT

Il arrive assez vite d'être confronté à des problèmes de mémoire importants lors de la création d'interfaces graphiques en SWT. Afin de vérifier la bonne utilisation des composants et surtout leur nettoyage (via la méthode dispose), l'outil Sleak permet de comparer à deux instants donnés le nombre d'éléments graphiques présents dans la mémoire de l'application. Très utile pour localiser les électrons libres!. Pour en savoir plus :

Activer les traces dans les plugins

De la même manière, il peut être utile d'activer un mode verbeux de l'activité des plugins. Voici deux méthodes pour activer ces traces :

Avec tout ceci, plus rien ne vous échappera!


Fichier(s) joint(s) :

Créer un splash-screen dynamique

Le but de cet article est d'illustrer de manière concise la mise en place d'un écran de démarrage (splash screen) personnalisé pour une application Eclipse RCP.

Pour commencer, il faut indiquer, dans l'onglet "Splash" de la définition du produit, le plugin contenant la configuration de l'écran d'accueil (point d'extension) :

Ensuite, dans le fichier plugin.xml du plugin en question, ajouter le point d'extension org.eclipse.ui.splashHandlers associé d'une part au produit et d'autre part à la classe gérant la composition de l'écran :

Il ne reste plus, dans la classe mentionnée, qu'à composer l'interface du splash screen, à l'aide de composants SWT classiques (progressbar, text...), comme démontré dans ce thread : http://stackoverflow.com/questions/8345927/eclipse-rcp-application-custom-splash-screen

HTH!


Fichier(s) joint(s) :