日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

調用鏈采樣模式選擇(3.2.8及以上探針版本)

本文介紹ARMS支持的多種調用鏈采樣模式,幫助您根據自身場景選擇合適的調用鏈采樣模式,從而以較低成本獲取想要的調用鏈數據。

名詞介紹

  • Span:一次請求的一個具體操作,比如遠程調用入口或者內部方法調用。

  • RootSpan:一條Trace鏈路中的第一個Span。

  • LocalRootSpan:一條Trace鏈路在單個應用內的Trace片段的第一個Span。

  • SpanContext:一次請求追蹤的上下文,用于關聯該次請求下的具體操作。

  • 頭采樣:僅會在RootSpan處執行的采樣策略,一般情況下鏈路是完整的。

  • 非頭采樣:在頭采樣策略未命中的情況下。鏈路任意一個LocalRootSpan處均可能觸發執行的采樣策略,一般情況下無法保證鏈路完整。

采樣策略和采樣標記介紹

ARMS為了命中更多有價值的Trace數據,提供了多種采樣策略,其中包含兩個頭采樣策略和三個非頭采樣策略。

采樣標記

用于在使用EagleEye協議進行跨進程Trace上下文傳遞時記錄是否采樣,對應HeaderKeyEagleEye-Sampled,對應的Value取值如下:

  • s0:不采樣

  • s1:采樣

用于在執行采樣并命中采樣的LocalRootSpan處記錄采樣原因,會以Attribute的形式存儲在Span中,Keysample.reason,Value取值如下:

  • s2:小流量采樣

  • s3:自定義采樣

  • s4:固定比例采樣

  • s5:預留

  • s6:自適應采樣

  • s7:預留

  • s8:基礎版采樣

  • s9:錯采樣

  • s10:慢采樣

  • s11:異常采樣

頭采樣策略

ARMS目前支持兩種頭采樣策略,分別是固定比例采樣和自適應采樣。固定比例采樣是Tracing領域最常見的頭采樣策略,自適應采樣是ARMS自研的一種計費友好的頭采樣策略。

固定比例采樣

現有的默認采樣會在請求入口處根據用戶配置的百分比采樣鏈路。執行采樣策略并命中固定比例采樣的Span會攜帶一個Keysample.reason,Values4Attribute。image

設置固定比例采樣的操作步驟如下:

  1. 登錄ARMS控制臺,在左側導航欄選擇應用監控 > 應用列表

  2. 應用列表頁面頂部選擇目標地域,然后單擊目標應用名稱。

    說明

    語言列的圖標含義如下:

    Java圖標:接入應用監控的Java應用。

    image:接入應用監控的Golang應用。

    image:接入應用監控的Python應用。

    -:接入可觀測鏈路 OpenTelemetry 版的應用。

  3. 在上方導航欄選擇應用配置 > 自定義配置

  4. 采樣設置區域選擇采樣策略固定采樣率,在采樣率百分比區域輸入采樣率百分比的數字部分,例如輸入10代表采樣10%。

    說明

    修改即時生效,無需重啟應用。默認為10,調大采樣率會消耗額外的系統資源,建議保持默認值。

  5. 單擊保存

自適應采樣

由于實際場景下應用不同業務的流量可能差距很大,且讀接口流量往往遠大于寫接口流量。但是讀接口的Trace數據價值一般低于寫接口。為了避免固定比例采樣命中過多大流量低價值Trace數據,ARMS提供了自適應采樣策略。該策略會按照LFU的原則選取當前調用量Top 1000的接口,每個接口的采樣彼此隔離,每秒采樣10條,對于Top 1000以外的接口被統一看作一個Other接口,共享一秒10TraceQuota。執行采樣策略并命中采樣的Span會攜帶一個Keysample.reason,Values6Attribute。image

設置自適應采樣的操作步驟如下:

  1. 登錄ARMS控制臺,在左側導航欄選擇應用監控 > 應用列表

  2. 應用列表頁面頂部選擇目標地域,然后單擊目標應用名稱。

    說明

    語言列的圖標含義如下:

    Java圖標:接入應用監控的Java應用。

    image:接入應用監控的Golang應用。

    image:接入應用監控的Python應用。

    -:接入可觀測鏈路 OpenTelemetry 版的應用。

  3. 在上方導航欄選擇應用配置 > 自定義配置

  4. 采樣設置區域選擇采樣策略自適應采樣

    說明

    修改即時生效,無需重啟應用。

  5. 單擊保存

非頭采樣策略

依靠頭采樣策略難以保證一些符合指定特征的Span數據的采樣,而這種數據往往是用戶關心的。例如有錯慢異常的Span,某些調用量極低的Span,以及用戶自定義的Span等。但是這些策略命中的采樣因為可能發生在鏈路任何位置,無法保證鏈路完整。

小流量采樣

無需用戶配置,自動保證每一個接口每一分鐘至少有一條Trace被采樣。執行采樣策略并命中采樣的Span會攜帶一個Keysample.reason,Values2Attribute。

image

錯慢異常采樣

重要

使用錯慢異常采樣需確認自定義配置頁面的調用鏈壓縮功能已開啟,該功能默認開啟。

當一次接口的調用滿足下述條件時,該次調用對應的Trace會被采樣。

  • 接口報錯:HTTP類接口響應碼非200,其他接口被埋點的方法拋出異常。

  • 接口內部執行拋出異常:接口內部執行過程中出現異常,但是該異常未拋出到框架的入口埋點。

  • 接口調用耗時高: 接口調用耗時超過自定義配置頁面配置的接口慢調用閾值。

    說明

    如果同時開啟了分位數統計,則當接口調用耗時大于該接口P99分位數時也會被識別為慢調用。

執行采樣策略并命中采樣的Span會攜帶一個Keysample.reason,Values9s11s10Attribute。具體取值分別對應上面的三個條件。

image.png

自定義采樣

當上述采樣策略均無法保證用戶需要的Trace被采樣時,用戶可自定義需要被100%采樣的接口名、接口前綴、接口后綴等。執行采樣策略并命中采樣的Span會攜帶一個Keysample.reason,Values3Attribute。

image.png

設置自定義采樣的操作步驟如下:

  1. 登錄ARMS控制臺,在左側導航欄選擇應用監控 > 應用列表

  2. 應用列表頁面頂部選擇目標地域,然后單擊目標應用名稱。

    說明

    語言列的圖標含義如下:

    Java圖標:接入應用監控的Java應用。

    image:接入應用監控的Golang應用。

    image:接入應用監控的Python應用。

    -:接入可觀測鏈路 OpenTelemetry 版的應用。

  3. 在上方導航欄選擇應用配置 > 自定義配置

  4. 采樣設置區域自定義需要全采樣的接口、接口前綴、接口后綴。

    說明

    修改即時生效,無需重啟應用。

  5. 單擊保存。

采樣策略工作原理

A>B>C鏈路為例,一次實際的業務調用生成的Span最后是否上報是由上述的采樣策略共同決定的,具體的決策流程如下圖所示,該決策流程會在請求到達A、B、C處均執行一次,但是根據當前是LocalRootSpan還是RootSpan,某些節點會跳過執行。

image

流程圖中不同顏色的含義如下:

  • 紫色:標準的頭采樣,只會在鏈路的rootSpan處觸發。該策略只會在A處觸發。

  • 藍色:只要頭采樣未命中,可以在鏈路的任何節點觸發。例如A通過采樣策略決定不采樣,請求到B之后,B會根據自己的自定義采樣和小流量采樣策略重新計算一次是否采樣,如果采樣,會將采樣標傳遞給C。該策略會在A、B、C處觸發。

  • 綠色:只要當前的采樣結果不采樣,可以在鏈路的任何節點觸發,但是不影響之后鏈路,例如A通過采樣策略決定不采樣,請求到B之后,B會根據錯慢采樣策略決定是否采樣,如果采樣,不會把采樣標傳遞給C。該策略會在A、B、C處觸發。

相關文檔

調用鏈采集完成后,您可以基于已存儲的全量鏈路明細數據,自由組合篩選條件與聚合維度進行實時分析。更多信息,請參見調用鏈分析