2010-10-19 5 views
1

Je travaille sur un code qui fonctionne comme un service. Fondamentalement, il écoute les entrées et produit les résultats en conséquence. J'essaie de profiler un paquet en utilisant jrat. [Nous n'avons pas de licence pour Jprofiler et je ne pouvais pas configurer la version d'essai pour fonctionner correctement].Question sur le profilage jrat

J'ai suivi les instructions ici: http://transferer.blogspot.com/2009/12/how-to-use-jrat-in-eclipse.html et http://digiassn.blogspot.com/2008/01/java-using-jrat-under-eclipse.html

Je recevais les fichiers de sortie .jrat mais tout ce que je vois est le suivant:

001_JRat-LOG.jrat bureau% chat 001_JRat-LOG.jrat viewer = "org.shiftone.jrat.ui.viewer.SimpleTextOutputViewBuilder" JRat: INFO (Oct/18 17: 15: 32,769) (principal) RuntimeContextImpl - fichier journal créé JRat: INFO (Oct/18 17: 15: 32,769) (principal) RuntimeContextImpl - Exécution JRat version 1-alpha2 - construit le 31 juillet 2006 JRat: INFO (Oct/18 17: 15: 32,770) (principal) - Paramètres chaîne 'jrat.factory' = 'org.shiftone.jrat.provider.silent.SilentMethodHandler' JRat: INFO (Oct/18 17: 15: 32771) (principal) RootFactory - la création d'JRat gestionnaire de racine usine ... JRat: INFO (Oct/18 17: 15: 42,451) (JRat-JMX-Poller) WaitingJmxRegistry - enregistrement 6 mbean (s) JRat: INFO (Oct/18 17: 15: 42,451) (JRat-JMX-Poller) ServerJmxRegistry - registerMBean [email protected] shiftone.jrat: service = org.shiftone.jrat.core.jmx.info.JRatInfo JRat: INFO (Oct/18 17: 15: 42,453) (JRat-JMX-Poller) ServerJmxRegistry - registerMBean [email protected] shiftone.jrat: service = org.shiftone.jrat.util.log.LoggingManager JRat: INFO (octobre/18 17: 15: 42453) (JRat-JMX-Poller) ServerJmxRegistry - registerMBean [email protected] shiftone.jrat: service = org.shiftone.jrat.core .jmx.benchmark.Benchmark JRat: INFO (Oct/18 17: 15: 42,453) (JRat-JMX-Poller) ServerJmx Registre - registerMBean Transformateur [AsmInjectorStrategy (utilise http://asm.objectweb.org)] shiftone.jrat: service = org.shiftone.jrat.inject.bytecode.Transformer JRat: INFO (Oct/18 17: 15: 42454) (JRat-JMX-Poller) ServerJmxRegistry - registerMBean [email protected] shiftone.jrat: service = org.shiftone.jrat.core.shutdown.ShutdownRegistry JRat : INFO (Oct/18 17: 15: 42454) (JRat-JMX-Poller) ServerJmxRegistry - registerMBean FileOutputRegistry [PrintWriter [001_JRat-LOG.jrat]] shiftone.jrat: service = org.shiftone.jrat.core .outp ut.FileOutputRegistry JRat: INFO (Oct/18 17: 15: 48825) (JRat-arrêt) ShutdownRegistry - fermer vers le bas ... [Transformateur [AsmInjectorStrategy (utilise http://asm.objectweb.org)] , FileOutputRegistry [PrintWriter [001_JRat-LOG.jrat]]] JRat: INFO (Oct/18 17: 15: 48826) (JRat-arrêt) ShutdownRegistry - fermeture FileOutputRegistry [PrintWriter [001_JRat-LOG.jrat]] ... JRat: INFO (octobre/18 17: 15: 48826) (JRat-arrêt) FileOutputRegistry - closeFileOutputs [PrintWriter [001_JRat-LOG.jrat]] JRat: INFO (Oct/18 17: 15: 48826) (JRat-arrêt) FileOutputRegistry - fermeture : PrintWriter [001_JRat-LOG.jrat] JRat: INFO (Oct/18 17: 15: 48826) (JRat-arrêt) FileOutputPrintWriter - fermeture JRat: INFO (Oct/18 17: 15: 48826) (JRat-arrêt) FileOutputRegistry - supprimer PrintWriter [001_JRat-LOG.jrat]

Quelqu'un at-il utilisé avant sur linux. Je pense que je me présente cela comme un service .. après l'exécution de mon application, je clique sur le bouton d'arrêt pour mettre fin à ma demande [contrairement à d'autres applications qui pourraient se terminer après le travail se fait] .. cela ne probablement pas la sortie de l'application grâce jrat et ne produisent donc pas une décharge ?? Ceci est juste une supposition aveugle cependant.

Merci

PS: J'utilise la version Eclipse Java 1.6.0_13

Out: Couldnt obtenir ce travail, mais plutôt essayé VisualVM qui fonctionne bien. Cependant, la nécessité de profiler un appliaction à distance, [Comme je veux le profil d'une partie de mon service et facile de souligner qu'une partie du code et obtient son numéro est le serveur lui-même] pour se chercher quelque chose qui est facile à utiliser à distance.

+1

Avez-vous pensé à utiliser jvisualvm? Il est livré avec le JDK. –

+0

Thnx .. J'ai essayé jvisualvm qui a bien fonctionné. Cependant, il ne peut pas être utilisé avec des applications distantes. Ce document dit: « Vous ne pouvez pas le profil des applications en cours d'exécution sur un hôte distant. » https://visualvm.dev.java.net/gettingstarted.html?Java_VisualVM – codeObserver

Répondre

0

Vous pouvez essayer strace, qui installe comme un agent sur l'application que vous utilisez. strace peut être couplé avec un outil de visualisation pour permettre à distance en temps réel, ainsi que la cartographie historique des données recueillies.

S'il vous plaît se référer à la question suivante pour plus d'informations: High Execution time on java methods