You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询Tomcat(Java)中含STW垃圾回收时间的请求时间JMX指标

关于Catalina JMX中包含GC时间的请求时间指标的解答
  • Catalina(Tomcat)的原生JMX指标里,没有直接提供已计入GC停顿时间的端到端请求时间指标。
  • 现有的Tomcat请求处理时间指标(比如Catalina:type=GlobalRequestProcessor,name="http-nio-8080"下的requestProcessingTime),仅记录Tomcat线程实际处理请求的CPU时间,不会包含JVM GC停顿期间的等待时间——因为GC触发时,Tomcat的请求线程会被暂停,计时器不会累加这段停顿时间。
  • 如果需要获取包含GC时间的JVM内部端到端请求时间,有两种可行方式:
    1. 组合现有指标计算:结合JVM GC的累计停顿时间(java.lang:type=GarbageCollector,name=*下的CollectionTime)和Tomcat的请求处理总时长、请求数,估算单请求平均包含的GC时间,但这种方式不够精准,只能做宏观趋势分析。
    2. 自定义指标实现:在应用层面通过Filter或Servlet拦截请求,用System.nanoTime()记录请求进入JVM到完全响应结束的时间差,这段时间会自动包含GC停顿、线程阻塞等所有JVM内部耗时,再将这个自定义时间指标暴露到JMX中。

内容的提问来源于stack exchange,提问作者netmon80

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 06:50:30