Question

Je suis planing pour développer un profileur en utilisant l'API JVMTI fourni par Oracle. Pour une visualisation, je voudrais mettre en œuvre un (framework Qt) GUI au-dessus du code de l'agent. Mon premier agent JVMTI est en cours d'exécution et aready compilation et j'ai commencé à intégrer l'agent dans mon projet Qt.

Maintenant, je suis confronté au problème comment agent couple avec interface graphique. l'interface graphique doit être lancé à l'intérieur de l'agent? Par exemple, dans la fonction Agent_OnLoad?

A long terme serait de commencer le profilage de l'interface graphique, bien que je ne peux pas imaginer comment réaliser cela.

Était-ce utile?

La solution

Eh bien .. vous avez un certain nombre de choix le plus évident serait comms type socket. Vous devez supposer que la majorité des cas d'utilisation de profilage implique une machine virtuelle sans tête à distance sur un serveur. Dans mon profileur vous pouvez utiliser sans tête avec un petit démarrage / arrêt / utilitaire sur la même machine que l'agent, les données sont collectées sur le serveur et transféré au client pour la visualisation. Vous pouvez également lancer la télécommande (ou local) jvm avec l'agent et se connecter à l'agent d'écoute sur une prise de l'interface graphique complète .. la collecte sur cette socket au client.

Il y a aussi la nouvelle « machine virtuelle Java Attach API » qui vous permet de « insérer » un agent dans une machine virtuelle Java fonctionne déjà, par conséquent, si la machine cible est UNI * alors vous pouvez utiliser ssh / scp à partir de votre interface graphique et le scénario d'une scp le transfert de l'agent au serveur et SSH pour lancer l'ATTACHE.

... prises (IP et / ou domaine) et la réutilisation que le code de l'interface graphique pour un contrôle sans tête / client collection

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top