Question

Pour le profileur que j'implémente en utilisant Jvmti Je voudrais commencer à mesurer le temps d'exécution de toutes les méthodes Java. Le JVMTI propose les événements:

  • MethodEntry
  • MethodExit

Ce serait donc assez facile à mettre en œuvre, mais je suis tombé sur ce Remarque Dans l'API:

L'activation des événements d'entrée ou de sortie de la méthode dégradera considérablement les performances sur de nombreuses plates-formes et n'est donc pas conseillé pour l'utilisation critique des performances (comme le profilage). L'instrumentation ByteCode doit être utilisée dans ces cas.

Mais mon agent de profilage fonctionne sans tête, ce qui signifie que les données collectées sont sérialisées et envoyées via Socket à une application de serveur affichant les résultats. Comment devrais-je réaliser cela en utilisant l'instrumentation du code d'octets. Je suis un peu confus comment continuer à partir d'ici. Quelqu'un pourrait-il m'expliquer si je dois changer la stratégie ou comment puis-je aborder ce problème?

Pas de solution correcte

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