簡體   English   中英

具有范圍的 Prometheus 直方圖桶

[英]Prometheus histogram buckets with ranges

我有一個基本的直方圖,可以測量一些虛擬持續時間:

    Histogram histogram = Histogram.build().name(name).help((String) metricData.get(HELP)).register(registry);

    Histogram.Timer timer = histogram.startTimer();
    logger.info("Sleeps for 1 milli");
    Thread.sleep(1);
    histogram.observe(timer.observeDuration());

我的 Prometheus 直方圖如下所示:

HELP myJob_histogram_no_buckets_test histogram with some info about something
TYPE myJob_histogram_no_buckets_test histogram
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="0.005"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="0.01"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="0.025"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="0.05"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="0.075"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="0.1"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="0.25"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="0.5"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="0.75"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="1"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="2.5"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="5"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="7.5"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="10"} 2
myJob_histogram_no_buckets_test_bucket{instance="",job="myJob",le="+Inf"} 2
myJob_histogram_no_buckets_test_sum{instance="",job="latrodectus"} 0.006341000000000001
myJob_histogram_no_buckets_test_count{instance="",job="latrodectus"} 2

我明白為什么我所有的桶值都增加了,但我不明白兩件事:

  1. 我希望值是 1,我在源代碼中做錯了什么? 為什么所有值都是 2?
  2. 如何將存儲桶設置為使用范圍,而不是 <=?

我看到了這個答案,但我不明白解決方案

提前致謝!

我希望值是 1,我在源代碼中做錯了什么? 為什么所有值都是 2?

你觀察了兩次。 如果您使用的是observeDuration ,則您也不需要observe

如何將存儲桶設置為使用范圍,而不是 <=?

你不能,這就是histogram_quantile期望桶的樣子。

我認為您可以實現這一目標的一種方法是通過正則表達式。 例如,

le=~"([1-9]+)\\..*"

會給你所有大於 0.9999 的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM