如何使用设计的ID连接JProfiler会话?

时间:2014-05-12 09:22:13

标签: jprofiler

我已经使用args启动了一个Java应用程序:

"-agentpath:C:\Program Files\jprofiler7\bin\windows-x64\jprofilerti.dll=port=8849,id=134,nowait"
然后控制台显示:

JProfiler> Protocol version 37
JProfiler> Using JVMTI
JProfiler> JVMTI version 1.1 detected.
JProfiler> 64-bit library
JProfiler> Don't wait for frontend to connect.
JProfiler> Using config file C:\Users\user\.jprofiler7\config.xml (id: 134)
JProfiler> Listening on port: 8849.
JProfiler> Instrumenting native methods.
JProfiler> Can retransform classes.
JProfiler> Can retransform any class.
JProfiler> Native library initialized
JProfiler> VM initialized
JProfiler> Using dynamic instrumentation
JProfiler> Time measurement: elapsed time
JProfiler> CPU profiling enabled
JProfiler> Hotspot compiler enabled

然后我可以通过JProfiler GUI连接。

但我需要通过另一个Java应用程序与JProfiler API进行连接我该怎么连接?通过任何VM参数?

我只知道也许我必须首先创建一个连接,但我不知道如何选择会话ID。

Connection connection = ConnectionFactory.createRemoteConnection("localhost", 8849, 30);

如果我运行代理应用程序然后首先通过JProfiler GUi连接,我可以通过我的Java应用程序获取cpu信息,包括然后运行我的JProfiler API应用程序。

Profiling data :
Hot spots:
Top 5 hot spots:
Hot spot 1: ProfilerTest.main(java.lang.String[ ]): 34 ms (100 %)
Backtraces: 
ProfilerTest.main(java.lang.String[ ]): 34722 (0)
   ***: 34722 (0)
Cpu tree:
***: 34722 (0)
   ProfilerTest.main(java.lang.String[ ]): 34722 (0)
      java.util.Scanner.next(): 34722 (0)

但是如果我运行代理应用程序然后首先通过我的JProfiler API应用程序连接,我什么都得不到。

Profiling data :
Hot spots:
Top 5 hot spots:
Cpu tree:
***: 0 (0)

1 个答案:

答案 0 :(得分:0)

",nowait",添加",config = [配置文件的路径],id = nnn"其中" [配置文件的路径]"是%USERPROFILE%.jprofiler8 \ config.xml和" nnn"是会话设置对话框中应用程序设置选项卡右上角的会话ID。