了解 Prometheus JVM 指标

问题描述 投票:0回答:1

我有兴趣跟踪 JVM 中的两个指标 - 每分钟 GC 次数和每分钟 GC 花费的时间。我在仪表板上有指标

jvm_gc_collection_seconds.count
jvm_gc_collection_seconds.sum
,但我对它们的含义有点困惑。

第一个指标
jvm_gc_collection_seconds.count
似乎与测量时间有关,但仔细阅读它,我相信它是从时间开始(应用程序启动时)调用 GC 的次数。

  1. 这样对吗?
  2. 如果是这样,为什么指标名称中有“秒”一词?
  3. jvm_gc_collection_seconds.count/1 minute
    能给我每分钟GC调用的次数吗?

第二个指标

jvm_gc_collection_seconds.sum
我相信是从开始时间开始执行GC活动所花费的总时间(以秒为单位)。

  1. 是吗?
  2. jvm_gc_collection_seconds.sum/1 minute
    能否给出在 1 分钟时间窗口内执行 GC 活动所花费的时间(以秒为单位)?
jvm prometheus metrics jmx datadog
1个回答
0
投票

jvm_gc_collection_seconds
是一个摘要指标

基本指标名称为

<basename>
的摘要在抓取过程中公开多个时间序列:

  • 流式传输观察到的事件的 φ-分位数 (0 ≤ φ ≤ 1),公开为
    <basename>{quantile="<φ>"}
  • 所有观测值的总和,显示为
    <basename>_sum
  • 已观察到的事件计数,显示为
    <basename>_count

因此

jvm_gc_collection_seconds_count
具有自应用程序启动以来发生的 GC 事件的总数。
jvm_gc_collection_seconds_count
- 所有这些事件所花费的总秒数。

要获取每分钟 GC 调用的数量,您可以使用

increase(jvm_gc_collection_seconds_count [1m])
。花费的时间也类似:
increase(jvm_gc_collection_seconds_sum [1m])

© www.soinside.com 2019 - 2024. All rights reserved.