gpt4 book ai didi

java - 将 perf4j 性能统计数据公开给 JMX 不起作用

转载 作者:行者123 更新时间:2023-12-01 05:13:06 25 4
gpt4 key购买 nike

我尝试使用 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(&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>

您会注意到,我将 AsyncCoalescingStatisticsAppender 生成的性能统计信息附加到 fileAppenderperf4jJmxAppender 中。 perfStats.log 文件获取以下行...

Tag          Avg(ms)         Min         Max     Std Dev       Count

Import 667.0 667 667 0.0 1

...但是 jconsole 显示针对 ImportMean、ImportMax、ImportMin 等的所有内容均为 0。

我做错了什么?

最佳答案

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

尝试增加该值,看看是否有帮助。

关于java - 将 perf4j 性能统计数据公开给 JMX 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11779071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com