Summary 數據類型詳解
很多朋友在學習 Prometheus 的過程中對於 Summary 類型經常會有這樣的疑惑?
Prometheus 中 Summary 類型的一個度量下通常有多個 quantile 標籤值不同的指標,但同時也有以 和 結尾的度量指標,這個標籤不同可以理解是採集不同的對應數據,但這兩個 和 結尾的指標分別做什麼的?
大家都知道,在 Prometheus 中一共有四種類型的指標,分別為:Counter,Gauge,Histogram 和 Summary,其中 Histogram 和 Summary 會用到直方圖統計相關的知識,具體參考維基百科Histogram。
今天我們就來一起好好學習 Prometheus 中的 Summary 類型。
數據存儲
對於一個 Summary 類型的 metric, 通常除了有多個帶 的同名 metric 外還會多出兩個以 和 結尾的 metric,例如一個叫做 的 Summary 類型 metric 對應的存儲數據為:
PS: 數據來源 Prometheus Server GC 時長統計。
這些不同的 metric 其實並不是獨立存在的,它們共同表示了 的耗時分布情況。
數據解讀
對於一個 Summary 類型的數據,我們該如何解讀呢?例如上面例子中的 GC 時長。
首先將所有從小到大 GC 耗時排序,可以得出如下的統計信息:
注意: 和 在這裡相當於 Counter 類型。
數據應用
假如我們有上面的數據,如果我們想:
求最近 5 分鐘平均 GC 耗時,可以為:
求 GC 耗時的 95 值(95% GC 耗時小於某個值),可以為:
但是這樣求 95 值真的好嗎?因為 Summary 類型的統計邏輯是在客戶端完成的,所以如果想要計算某個特定的 (非提前計算),那麼需要做一定的近似計算來擬合。
通常在這方面有高要求的情況,更推薦使用 Histogram 類型,故這個例子可以改寫為:
TAG:第二範式 |