2 回答

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
指標(biāo)MAX是滾動(dòng)最大值。所以它代表滾動(dòng)窗口中的最大測(cè)量值。
例如,如果您要每分鐘抓取一次指標(biāo):
Total Count Max
Minute 1 100 1 100
Minute 2 500 101 90
Minute 3 4500 1000 10
Minute 4 4500 1000 0
在第 1 分鐘你有 1 個(gè)請(qǐng)求,總共 100 毫秒,所以平均持續(xù)時(shí)間是 100 毫秒,最慢的(最大)是 100 毫秒
在第 2 分鐘,總數(shù)增加了 400(因?yàn)榭倲?shù)是累積的)并且計(jì)數(shù)增加了 100。因此平均值為 4 毫秒。然而,由于最大值為 90 毫秒,因此您知道雖然那一秒內(nèi)的大部分請(qǐng)求都很快,但仍有一些請(qǐng)求較慢。
在第 3 分鐘,您又收到了 899 個(gè)請(qǐng)求(計(jì)數(shù)),總數(shù)增加了 4000 毫秒。(4000/899 = ~4.4ms) 所以你的平均測(cè)量值為 4.4ms,最大值為 10ms。
所以 MAX 的目的是測(cè)量最差的離群值,以便您了解代碼執(zhí)行的一致性。
查看第 4 分鐘,總數(shù)和計(jì)數(shù)沒(méi)有增加,因?yàn)闆](méi)有請(qǐng)求。因?yàn)闆](méi)有請(qǐng)求,所以不可能有對(duì) MAX 的“最慢”請(qǐng)求,這就是 MAX 為 0 的原因。

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以使用?tag=url:{endpoint_tag}
在根/actuator/metrics/http.server.requests
調(diào)用的響應(yīng)中定義的方式來(lái)查看各個(gè)指標(biāo)。這些值的詳細(xì)信息measurements
是;
COUNT:每秒呼叫速率。
TOTAL_TIME:記錄的總次數(shù)。以監(jiān)控系統(tǒng)的基本時(shí)間單位上報(bào)
MAX:記錄的最大數(shù)量。當(dāng)這表示時(shí)間時(shí),它以監(jiān)控系統(tǒng)的基本時(shí)間單位報(bào)告。
既然給在這里,也在這里。
您看到的差異是由于計(jì)時(shí)器的存在。這意味著在一段時(shí)間后,任何標(biāo)記指標(biāo)的當(dāng)前定義MAX
值都可以重置為0
.?您可以添加一些新調(diào)用,/user/asset/getAllAssets
然后立即調(diào)用以查看給定標(biāo)簽的/actuator/metrics/http.server.requests
非零值嗎?MAX
這是由于MAX
為每個(gè)較小的周期獲取指標(biāo)背后的想法。當(dāng)您看到這些指標(biāo)時(shí),您將能夠MAX
在很長(zhǎng)一段時(shí)間內(nèi)獲得一組值,而不是單個(gè)值。
您可以在 Micrometer 源代碼中看到這一點(diǎn)。有一種rotate()
方法專(zhuān)注于重置MAX
值以創(chuàng)建上述行為。
您可以看到每次調(diào)用都會(huì)調(diào)用它poll()
,每隔一段時(shí)間就會(huì)觸發(fā)一次以收集指標(biāo)。
MAX代表什么
MAX 表示執(zhí)行端點(diǎn)所花費(fèi)的最長(zhǎng)時(shí)間。
分析為/user/asset/getAllAssets
COUNT? TOTAL_TIME? MAX
5? ? ? 115? ? ? ? ?17
6? ? ? 122? ? ? ? ?17? (Execution Time = 122 - 115 = 17)
7? ? ? 131? ? ? ? ?17? (Execution Time = 131 - 122 = 17)
8? ? ? 187? ? ? ? ?56? (Execution Time = 187 - 131 = 56)??
9? ? ? 204? ? ? ? ?56? From Now MAX will be 56 (Execution Time = 204 - 187 = 17)??
如果我們對(duì)特定端點(diǎn)的請(qǐng)求數(shù)量較少(或 1 個(gè)請(qǐng)求),MAX 是否會(huì)為 0?
沒(méi)有特定端點(diǎn)的請(qǐng)求數(shù)不影響MAX
當(dāng) MAX 為 0 時(shí)
有一個(gè)定時(shí)器,它的值為 0。當(dāng)端點(diǎn)沒(méi)有被調(diào)用或執(zhí)行一段時(shí)間時(shí),定時(shí)器將 MAX 設(shè)置為 0。這里的定時(shí)器值近似為 2.30 分鐘(150 秒)
我如何確定定時(shí)器值?
為此,我采集了 6 個(gè)樣本(執(zhí)行相同的端點(diǎn) 6 次)。為此,我確定了調(diào)用端點(diǎn)的時(shí)間與 MAX 設(shè)置回零的時(shí)間之間的時(shí)間差
DistributionStatisticConfig.expiry(Duration.ofMinutes(2)).bufferLength(3)
?如果在到期時(shí)間或旋轉(zhuǎn)時(shí)間之間沒(méi)有請(qǐng)求,則將某些測(cè)量值設(shè)置為 0?。
MAX屬性屬于?Measurement使用的枚舉統(tǒng)計(jì)(在 Measurement 中我們得到 COUNT、TOTAL_TIME、MAX)
公共靜態(tài)最終統(tǒng)計(jì)MAX
記錄的最大金額。當(dāng)這表示時(shí)間時(shí),它以監(jiān)控系統(tǒng)的基本時(shí)間單位報(bào)告。
注意:?這是來(lái)自特定端點(diǎn)(此處)的指標(biāo)的情況/actuator/metrics/http.server.requests?tag=uri:/user/asset/getAllAssets
。
對(duì)于廣義度量actuator/metrics/http.server.requests
正如您從請(qǐng)求 1 和請(qǐng)求 2(有問(wèn)題)中看到的那樣,MAX 已減少(從 3.0002913 到 2.3612968),因此可能由于定時(shí)器,某些端點(diǎn)的 MAX 將被設(shè)置回 0。在我看來(lái),MAX for/http.server.requests
將與特定端點(diǎn)相同。(但可以肯定的是,對(duì)此進(jìn)行調(diào)查)
添加回答
舉報(bào)