JMeter PerfMon Metrics收集器插件与JMX一起使用

JMeter PerfMon Metrics收集器插件与JMX一起使用,jmeter,jmx,jmeter-plugins,Jmeter,Jmx,Jmeter Plugins,我无法让JMeter PerfMon Metrics Collector listener收集JMX数据。我已经启动了“服务器代理”。我使用以下参数启动了远程JBoss服务器,如插件主页中所述: 然后,我将JMeter Perf Mon侦听器配置为从端口“5444”收集数据,度量为收集“JMX”,度量参数为“gc time”。在配置中,我还将JMX连接参数定义为“localhost”和端口“4711” 当我启动JMeter测试时,“serverAgent”会出现以下错误: INFO 20

我无法让JMeter PerfMon Metrics Collector listener收集JMX数据。我已经启动了“服务器代理”。我使用以下参数启动了远程JBoss服务器,如插件主页中所述:

然后,我将JMeter Perf Mon侦听器配置为从端口“5444”收集数据,度量为收集“JMX”,度量参数为“gc time”。在配置中,我还将JMX连接参数定义为“localhost”和端口“4711”

当我启动JMeter测试时,“serverAgent”会出现以下错误:

 INFO    2013-03-22 16:16:06.682 [kg.apc.p] (): Starting measures: jmx:gc-time   cpu:
ERROR: java.lang.NoSuchMethodError: method java.lang.String.isEmpty with signature ()Z     was not found.
*** Problem's technical details go below ***

Exception in thread "main" java.lang.NoSuchMethodError: method java.lang.String.isEmpty     with signature ()Z was not found.
   at kg.apc.perfmon.metrics.JMXMetric.<init>(JMXMetric.java:35)
   at kg.apc.perfmon.metrics.AbstractPerfMonMetric.createMetric(AbstractPerfMonMetric.java:65)
   at kg.apc.perfmon.PerfMonMetricGetter.setUpMetrics(PerfMonMetricGetter.java:138)
   at kg.apc.perfmon.PerfMonMetricGetter.processCommand(PerfMonMetricGetter.java:63)
   at kg.apc.perfmon.PerfMonMetricGetter.processNextCommand(PerfMonMetricGetter.java:101)
   at kg.apc.perfmon.PerfMonWorker.read(PerfMonWorker.java:210)
   at kg.apc.perfmon.PerfMonWorker.processCommands(PerfMonWorker.java:97)
   at kg.apc.perfmon.AgentTool.processParams(AgentTool.java:72)
   at kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:63)
   at kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:23)
   at java.lang.reflect.Method.invoke(libgcj.so.7rh)
   at kg.apc.cmd.UniversalRunner.main(UniversalRunner.java:150)
INFO 2013-03-22 16:16:06.682[kg.apc.p]():启动措施:jmx:gc时间cpu:
错误:java.lang.NoSuchMethodError:找不到签名为()Z的方法java.lang.String.isEmpty。
***问题的技术细节如下***
线程“main”java.lang.NoSuchMethodError中出现异常:未找到签名为()Z的方法java.lang.String.isEmpty。
位于kg.apc.perfmon.metrics.JMXMetric.(JMXMetric.java:35)
位于kg.apc.perfmon.metrics.AbstractPerfMonMetric.createMetric(AbstractPerfMonMetric.java:65)
位于kg.apc.perfmon.PerfMonMetricGetter.setUpMetrics(PerfMonMetricGetter.java:138)
位于kg.apc.perfmon.PerfMonMetricGetter.processCommand(PerfMonMetricGetter.java:63)
位于kg.apc.perfmon.PerfMonMetricGetter.processNextCommand(PerfMonMetricGetter.java:101)
在kg.apc.perfmon.PerfMonWorker.read处(PerfMonWorker.java:210)
在kg.apc.perfmon.PerfMonWorker.processCommands处(PerfMonWorker.java:97)
位于kg.apc.perfmon.AgentTool.processParams(AgentTool.java:72)
位于kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:63)
位于kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:23)
位于java.lang.reflect.Method.invoke(libgcj.so.7rh)
位于kg.apc.cmd.UniversalRunner.main(UniversalRunner.java:150)

若我只收集CPU和内存,那个么JMeter会处理好一切。只有在收集JMX时,我才得到这个异常。有什么想法吗?谢谢

直到JDK1.6才添加isEmpty()方法。我猜您使用的是JDK1.5或更早版本。

现在jmeter插件中有一个独立的JMX度量收集器(从1.1.2版开始)

虽然这是一个非常新的版本(可能有很多bug,因为我写了:),也许你可以试试那个

 INFO    2013-03-22 16:16:06.682 [kg.apc.p] (): Starting measures: jmx:gc-time   cpu:
ERROR: java.lang.NoSuchMethodError: method java.lang.String.isEmpty with signature ()Z     was not found.
*** Problem's technical details go below ***

Exception in thread "main" java.lang.NoSuchMethodError: method java.lang.String.isEmpty     with signature ()Z was not found.
   at kg.apc.perfmon.metrics.JMXMetric.<init>(JMXMetric.java:35)
   at kg.apc.perfmon.metrics.AbstractPerfMonMetric.createMetric(AbstractPerfMonMetric.java:65)
   at kg.apc.perfmon.PerfMonMetricGetter.setUpMetrics(PerfMonMetricGetter.java:138)
   at kg.apc.perfmon.PerfMonMetricGetter.processCommand(PerfMonMetricGetter.java:63)
   at kg.apc.perfmon.PerfMonMetricGetter.processNextCommand(PerfMonMetricGetter.java:101)
   at kg.apc.perfmon.PerfMonWorker.read(PerfMonWorker.java:210)
   at kg.apc.perfmon.PerfMonWorker.processCommands(PerfMonWorker.java:97)
   at kg.apc.perfmon.AgentTool.processParams(AgentTool.java:72)
   at kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:63)
   at kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:23)
   at java.lang.reflect.Method.invoke(libgcj.so.7rh)
   at kg.apc.cmd.UniversalRunner.main(UniversalRunner.java:150)