我尝试使用org.perf4j.logback.JmxAttributeStatisticsAppender附加器将perf4j生成的性能统计信息公开给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(<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>正如您会注意到的,我将AsyncCoalescingStatisticsAppender生成的性能统计信息添加到fileAppender和perf4jJmxAppender中。perfStats.log文件获取下一行...
Tag Avg(ms) Min Max Std Dev Count
Import 667.0 667 667 0.0 1...but jconsole针对ImportMean、ImportMax、ImportMin等显示了所有的0。
我做错了什么?
发布于 2013-01-29 16:22:44
在CoalescingStatistics中,JMX值被设置为1000 (1),因此在TimeSlice中,您只能看到最后一秒。
尝试增加此值,看看是否有帮助。
https://stackoverflow.com/questions/11779071
复制相似问题