亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring Boot Actuator - MAX 屬性

Spring Boot Actuator - MAX 屬性

慕桂英546537 2023-04-26 14:36:33
我正在使用 Spring Boot Actuator 依賴項來了解應用程序。為此,我使用了 Spring Boot Admin。客戶端-服務器的配置工作正常。我必須測量將要執行的端點的計數、總時間、最大值。uri:/user/asset/getAllAssetsTOTAL_TIME: 831msMAX: 0ms uri:/user/getEmployee/{employeeId}TOTAL_TIME: 98msMAX: 0ms為什么 MAX (time) 為 0 而 TOTAL_TIME: 為 Xms當我執行概括形式時localhost:8889/actuator/metrics/http.server.requests我得到MAX 為 3.00..我也看到了生產就緒的特性,但找不到任何關于 MAX 是如何計算的或者它代表什么的描述注:隨著request數量的增加,COUNT,TOTAL_TIME也在增加,但MAX有時會減少(詳見Request 1,Request 2)請求 1:http.server.requests{        "name": "http.server.requests",        "description": null,        "baseUnit": "seconds",        "measurements": [            {                "statistic": "COUNT",                "value": 597            },            {                "statistic": "TOTAL_TIME",                "value": 144.9057076            },            {                "statistic": "MAX",                "value": 3.0002913            }        ],        "availableTags": [            {                "tag": "exception",                "values": [                    "None"                ]            },            {                "tag": "method",                "values": [                    "GET"                ]            },            {                "tag": "uri",                "values": [                    "/actuator/metrics/{requiredMetricName}",                    "/**/favicon.ico",                    "/actuator",                    "/user/getEmployee/{employeeId}",                    "/user/asset/getAllAssets",                    "/actuator/health",                    "/actuator/info",                    "/actuator/env/{toMatch}",                    "/actuator/metrics",                    "/**"                ]            },            {                "tag": "outcome",                "values": [                    "CLIENT_ERROR",                    "SUCCESS"                ]            },
查看完整描述

2 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

指標MAX是滾動最大值。所以它代表滾動窗口中的最大測量值。


例如,如果您要每分鐘抓取一次指標:


          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 個請求,總共 100 毫秒,所以平均持續時間是 100 毫秒,最慢的(最大)是 100 毫秒


在第 2 分鐘,總數增加了 400(因為總數是累積的)并且計數增加了 100。因此平均值為 4 毫秒。然而,由于最大值為 90 毫秒,因此您知道雖然那一秒內的大部分請求都很快,但仍有一些請求較慢。


在第 3 分鐘,您又收到了 899 個請求(計數),總數增加了 4000 毫秒。(4000/899 = ~4.4ms) 所以你的平均測量值為 4.4ms,最大值為 10ms。


所以 MAX 的目的是測量最差的離群值,以便您了解代碼執行的一致性。


查看第 4 分鐘,總數和計數沒有增加,因為沒有請求。因為沒有請求,所以不可能有對 MAX 的“最慢”請求,這就是 MAX 為 0 的原因。


查看完整回答
反對 回復 2023-04-26
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

您可以使用?tag=url:{endpoint_tag}在根/actuator/metrics/http.server.requests調用的響應中定義的方式來查看各個指標。這些值的詳細信息measurements是;

  • COUNT:每秒呼叫速率。

  • TOTAL_TIME:記錄的總次數。以監控系統的基本時間單位上報

  • MAX:記錄的最大數量。當這表示時間時,它以監控系統的基本時間單位報告。

既然給在這里,也在這里。


您看到的差異是由于計時器的存在。這意味著在一段時間后,任何標記指標的當前定義MAX值都可以重置為0.?您可以添加一些新調用,/user/asset/getAllAssets然后立即調用以查看給定標簽的/actuator/metrics/http.server.requests非零值嗎?MAX

這是由于MAX為每個較小的周期獲取指標背后的想法。當您看到這些指標時,您將能夠MAX在很長一段時間內獲得一組值,而不是單個值。

您可以在 Micrometer 源代碼中看到這一點。有一種rotate()方法專注于重置MAX值以創建上述行為。

您可以看到每次調用都會調用它poll(),每隔一段時間就會觸發一次以收集指標。

MAX代表什么

MAX 表示執行端點所花費的最長時間。


分析為/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)??

  • 如果我們對特定端點的請求數量較少(或 1 個請求),MAX 是否會為 0?

沒有特定端點的請求數不影響MAX


  • 當 MAX 為 0 時

有一個定時器,它的值為 0。當端點沒有被調用或執行一段時間時,定時器將 MAX 設置為 0。這里的定時器值近似為 2.30 分鐘(150 秒)


  • 我如何確定定時器值?

為此,我采集了 6 個樣本(執行相同的端點 6 次)。為此,我確定了調用端點的時間與 MAX 設置回零的時間之間的時間差

DistributionStatisticConfig.expiry(Duration.ofMinutes(2)).bufferLength(3)?如果在到期時間或旋轉時間之間沒有請求,則將某些測量值設置為 0?。


MAX屬性屬于?Measurement使用的枚舉統計(在 Measurement 中我們得到 COUNT、TOTAL_TIME、MAX)

公共靜態最終統計MAX

記錄的最大金額。當這表示時間時,它以監控系統的基本時間單位報告。


注意:?這是來自特定端點(此處)的指標的情況/actuator/metrics/http.server.requests?tag=uri:/user/asset/getAllAssets。

對于廣義度量actuator/metrics/http.server.requests

正如您從請求 1 和請求 2(有問題)中看到的那樣,MAX 已減少(從 3.0002913 到 2.3612968),因此可能由于定時器,某些端點的 MAX 將被設置回 0。在我看來,MAX for/http.server.requests將與特定端點相同。(但可以肯定的是,對此進行調查)


查看完整回答
反對 回復 2023-04-26
  • 2 回答
  • 0 關注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號