Extraire des données d’un Heap Dump Java avec Eclipse Memory Analyzer en OQL

Comme vu précédemment dans l’article Réaliser un Heap Dump d’un process Java, vous avez pu récupérer un dump dans Eclipse Memory Analyzer.
Si vous trouvez une quantité suspecte d’objets, il n’est pas évident de récupérer les données pour les analyser.

Eclipse Memory Analyser

propose un langage de requêtes nommé « OQL » comme « Object Query Language ». Ce dernier permet de faire pas mal de choses et dans notre cas, nous souhaitons extraire les données pour les relancer depuis un test unitaire.

Dans mon cas, il s’agit d’objets « com.sun.mail.imap.protocol.IMAPAddress ». Cet objet comporte un champ nommé ‘address’ de type String, et c’est ce que je souhaite extraire.

Voici la requête à utiliser pour retrouver toutes mes adresses.

SELECT toString(imapaddress.address) FROM INSTANCEOF com.sun.mail.imap.protocol.IMAPAddress imapaddress

Une fois le résultat obtenu, il suffit de faire « Export to CSV » afin de récupérer les données dans un fichier et les incorporer dans mon test unitaire.

Note : la fonction « Export to TXT » ne traite que les quelques dizaines d’entrées visibles alors que « Export to CSV », même s’il peut être plus long, fini par tout exporter.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *