接続する方法をJavaコマンドラインツールのYourKit Javaプロファイラ?
-
23-09-2019 - |
質問
私の構築のコマンドラインツールはJavaのようなプロファイルYourKit.私のコマンドラインツールのようなもの:
$ java -classpath .:foo.bar.jar com.foobar.tools.TheTool arg1 arg2 arg3
で完成までに以下の2秒です。
読み http://www.yourkit.com/docs/80/help/agent.jsp, また、以下の:
$ 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
っていくのではないかとのことで取得す:
[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
...
そのツールに実行され完成して終了します。)
I guess(デフォルトでは、少なくとも)YourKitめのみに接続します。
いつ、どのように変更私のコマンドラインツールの接続を許可するからYourKit?
- 私は追加のコマンドラインオプション いま一時停止のための入力 思いを押し返し まっつながっているんだ からYourKit.
- はありまYourKit APIを使っ に追加マイツールが不適切と判断するので るまでブロックっと接続 YourKit?
- はありまYourKit APIはjava コマンドラインオプションが 作成プロファイリングの"スナップショット"を用いて" この負荷を分析後(後 のコマンドラインツールは完成品) とYourKit?
解決
る方法はありません一時停止の為の応用までプロファイラ "つなぐ";するだけでな手続きが必要です。
指定されている資料は、以下の
On希望のプロファイリングモードから起動します。例えば、 必要なプロフィールCPU利用開始のいずれかのCPUサンプリングやCPUなどの追跡 対応するスタートアップオプション"サンプリング"または"追跡".見 http://www.yourkit.com/docs/80/help/additional_agent_options.jsp
場合は押出し用の短い走行をスナップショット撮影 口に"onexit=スナップショット"起動時のオプションです。後に開捕 スナップショットのプロファイラUI分析しています。
他のヒント
私は知らないのYourKitオプションにいるなと言うことではありませんが、あ は Javaリモート-デバッグオプションではないかと思います。
加えてみ以下のコマンドラインに加え、YourKit剤オプション:
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
これにより、VMを中断とすぐに開始まで待ち、デバッガの接続のポート8000.YourKitなデバッガがIDEのようにEclipseはNetbeanの仕事としての基本 jdb ョンをインストールして下さい。
なので次のコマンドを実行しますので、両方のオプション設定、接続YourKitを使用し、デバッガに接続するにはデバッグポート、トリガーのVMを継続実行を可能にYourKitにデータを取得します。
したほうが良いと思われますこのために当てるドキドキ感も楽しめるYourKitも知らない。
が発売した"全部入り版"EclipseをYourKitプラグインを起動するアプリ起動します。
YourKitのonexit=スナップショットオプションを保存しますスナップショットファイルを$HOME/スナップショットにJVMります。を読み込むことができるこのスナップショットのYourKit GUIた。見 このページ 当サイトです。
の答え#3であり、APIを使用できるってご応募をプロファイリング結果YourKitができる。
の APIドキュメント, とともに コマンドラインツールの制御プロファイリング
以下に例を示しますのAPIの使用(しんたこのコード):
Controller ykController = new Controller();
ykController.enableStackTelemetry();
ykController.enableExceptionTelemetry();
ykController.startCPUProfiling(ProfilingModes.CPU_TRACING,Controller.DEFAULT_FILTERS);
ykController.startAllocationRecording(false,0,false,0);
YourMainClass.main(args);
String snapshotLocation = ykController.captureMemorySnapshot();