2012-08-02 64 views
1

我试图揭露使用org.perf4j.logback.JmxAttributeStatisticsAppender附加器的Perf4到JMX生成的性能统计数据,但它不工作。暴露的Perf4性能统计JMX不起作用

以下是我logback.xml

<appender name="fileAppender" class="ch.qos.logback.core.FileAppender"> 
     <file>${catalina.base}/logs/perfStats.log</file> 
     <encoder> 
      <pattern>%msg%n</pattern> 
    </encoder> 
    </appender> 

    <appender name="perf4jJmxAppender" class="org.perf4j.logback.JmxAttributeStatisticsAppender"> 
     <param name="TagNamesToExpose" value="Import"/> 
     <param name="NotificationThresholds" value="ImportMax(&lt;10)"/> 
    </appender> 

<appender name="CoalescingStatistics" 
       class="org.perf4j.logback.AsyncCoalescingStatisticsAppender"> 
     <param name="TimeSlice" value="1000"/> 
    <appender-ref ref="fileAppender"/> 
     <appender-ref ref="perf4jJmxAppender"/> 
</appender> 

<logger name="org.perf4j.TimingLogger" additivity="false"> 
     <level value="INFO"/> 
     <appender-ref ref="fileAppender"/> 
     <appender-ref ref="CoalescingStatistics"/> 
    </logger> 

的作为,你会发现,我通过追加产生AsyncCoalescingStatisticsAppenderfileAppenderperf4jJmxAppender性能统计的相关部分。 perfStats.log文件得到follwing列...

Tag   Avg(ms)   Min   Max  Std Dev  Count 

Import  667.0   667   667   0.0   1 

...但JConsole的显示一切反对0 ImportMean,ImportMax,ImportMin等

我在做什么错?

回答

0

在CoalescingStatistics中,TimeSlice值设置为1000(1s),因此在JMX中只能看到最后一秒。

尝试增加此值并查看是否有帮助。