Prometheus 区别 jvm_gc_collection_seconds_sum 和 jvm_gc_pause_seconds
Posted
技术标签:
【中文标题】Prometheus 区别 jvm_gc_collection_seconds_sum 和 jvm_gc_pause_seconds【英文标题】:Prometheus Difference jvm_gc_collection_seconds_sum and jvm_gc_pause_seconds 【发布时间】:2021-05-15 01:29:43 【问题描述】:我发现这篇文章在 Prometheus/Grafana 中查询 GC Throughput 如下:
min by(job)(100 - (sum by (job, instance)(increase(jvm_gc_collection_seconds_sum[1m])) * 100 / sum by (job, instance) (increase(process_cpu_seconds_total[1m]))))
作者采用除其他jvm_gc_collection_seconds_sum
之外的指标来计算GC吞吐量。当我查看我的 Spring Boot Prometheus 端点时,我没有找到这个指标,而是找到了 jvm_gc_pause_seconds
。声明如下:
#HELP jvm_gc_pause_seconds Time spent in GC pause
这两个指标有区别吗?
非常感谢!
【问题讨论】:
【参考方案1】:jvm_gc_collection_seconds_sum
是 Prometheus 客户端指标。现在 Prometheus 客户端不再为 Spring Boot 2 开发。
jvm_gc_pause_seconds or jvm_gc_pause_seconds_sum
是在 Spring Boot 中使用的 Micrometer 客户端指标。
【讨论】:
但是指标的意思是一样的吗? 是的。名称只是在框架中硬编码,可能会有所不同,例如,jvm_memory_bytes_max 用于 prometheus,jvm_memory_max_bytes 用于 micrometer 等以上是关于Prometheus 区别 jvm_gc_collection_seconds_sum 和 jvm_gc_pause_seconds的主要内容,如果未能解决你的问题,请参考以下文章
Prometheus 区别 jvm_gc_collection_seconds_sum 和 jvm_gc_pause_seconds