Wie kann ich eine Verbindung zu einem Java-Kommandozeilen-tool mit dem YourKit Java Profiler?

Ich haben ein command-line-tool in Java, die würde ich jetzt gerne Profil mit YourKit. Ich starte die command-line tool, mit so etwas wie:

$ java -classpath .:foo.bar.jar com.foobar.tools.TheTool arg1 arg2 arg3

Läuft es bis zur Fertigstellung in weniger als 2 Sekunden.

Nach der Lektüre http://www.yourkit.com/docs/80/help/agent.jsp, ich habe versucht, die folgenden:

$ java -agentpath:/home/dspitzer/yjp-8.0.24/bin/linux-x86-32/libyjpagent.so -classpath .:foo.bar.jar com.foobar.tools.TheTool arg1 arg2 arg3

...und ich bekomme:

[YourKit Java Profiler 8.0.24] JVMTI version 3001016d; 14.3-b01; Sun Microsystems Inc.; mixed mode, sharing; Linux; 32-bit JVM
[YourKit Java Profiler 8.0.24] Profiler agent is listening on port 10001...
[YourKit Java Profiler 8.0.24] *** HINT ***: To get profiling results, connect to the application from the profiler UI
...

(Und dann das Werkzeug zum Abschluss ausgeführt und beendet wird.)

Ich denke (standardmäßig zumindest) YourKit ist entworfen, um nur mit der Laufenden Anwendung.

Wie sollte ich ändern, mein Befehl-Linie Werkzeug, so lassen Sie die Verbindung von YourKit?

  1. Ich konnte fügen Sie eine command-line-option
    wird es eine pause für die Eingabe,
    und ich werde mich nicht drücken Rücksendung
    weiter, bis ich angeschlossen habe, um es
    von YourKit.
  2. Gibt es eine YourKit-API, die könnte ich
    hinzufügen zu mein Werkzeug dazu führen würde, dass es
    zu blockieren, bis ich verbunden habe mit
    YourKit?
  3. Gibt es eine YourKit oder eine java-API
    command-line-option, die würde
    erstellen Sie ein profiling "Momentaufnahme", die ich
    laden konnte und später analysieren (nach
    das Kommandozeilen-tool (abgeschlossen)
    mit YourKit?
Schreibe einen Kommentar