2012-08-02 58 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中只能看到最後一秒。

嘗試增加此值並查看是否有幫助。