全部產品
Search
文件中心

Application Real-Time Monitoring Service:調用鏈分析

更新時間:Jun 14, 2025

ARMS應用監控的調用鏈分析功能是基於已儲存的全量鏈路詳細資料,自由組合篩選條件與彙總維度進行即時分析,可以滿足不同情境的自訂診斷需求。

功能入口

  1. 登入ARMS控制台

  2. 在左側導覽列選擇應用監控 > 調用鏈分析,然後在頂部功能表列選擇目標地區。

  3. 調用鏈分析頁面右上方的時間選擇框設定需要查詢的時間段。

  4. 篩選鏈路。

    • 在左側快捷篩選地區,通過狀態、耗時、應用程式名稱、介面名稱和主機地址維度快速篩選鏈路。

      篩選條件將會顯示在頁面頂部文字框內。

    • 單擊頂部文字框,在下拉彈窗中修改篩選條件或設定其他維度篩選條件。

    • 在右側頂部文字框直接輸入查詢條件。查詢文法說明,請參見調用鏈分析查詢用法說明

      說明
      • 單擊文字框右側的儲存表徵圖可以儲存當前篩選條件。

      • 單擊文字框右側已儲存視圖可以查看已儲存的篩選條件,單擊目標的篩選條件可以快速查看對應篩選條件下的鏈路資訊。

      • 選擇彙總維度,可以將篩選後的資料按照指定維度彙總。

鏈路列表

篩選設定完成後,調用鏈分析頁面將會顯示篩選過濾後的鏈路查詢資訊,包括調用次數和HTTP錯誤數的柱狀圖,調用耗時的時序曲線,以及Span列表和Trace列表。

image

列表狀態列各表徵圖說明:

  • image:Span 狀態正常。取自Span的statusCode欄位,當statusCode=0或者1時顯示,0表示未設定狀態代碼,1表示Span狀態正常。

  • 2025-03-18_11-26-35:Span 狀態錯誤。取自Span的statusCode欄位,當statusCode=2時顯示,表示Span狀態錯誤。

  • 2025-03-18_11-26-35:Span 包含異常。取自Span的attributes.excep.ids欄位,當該欄位不為空白時,表示Span包含異常。

  • 2XX(綠色)、3XX(黃色)、4XX(橙色)、5XX(紅色):HTTP狀態代碼。取自Span的attributes.http.status_codeattributes.http.response.status_code欄位,當Span包含這兩個欄位時,優先展示HTTP狀態代碼,不展示正常或錯誤狀態。

TraceId左側顏色柱說明:

  • 60:表示Span的statusCode=0。

  • 61:表示Span的statusCode=1。

  • 59:表示Span的statusCode=2。

在Span列表和Trace列表地區,您可以執行以下操作:

  • 單擊目標調用鏈的TraceId或右側操作列的詳情,可以查看調用鏈詳情和拓撲視圖。更多資訊,請參見Trace詳情

  • 單擊目標調用鏈右側操作列的日誌,可以查看鏈路對應的日誌資訊。更多資訊,請參見日誌分析

  • Trace列表每個TraceId預設展示了Root Span,單擊image表徵圖可以展開查看該TraceId下的所有Span。

  • 單擊右上方的設定表徵圖可以增加或隱藏列表顯示的參數。

  • 將滑鼠懸浮於調用鏈參數上,單擊右側的過濾表徵圖,可以將當前參數值添加為篩選條件。2025-03-18_14-09-11

散佈圖

散佈圖頁面以時間為橫軸,耗時指標為縱軸,顯示調用鏈的耗時分布情況。將滑鼠懸浮於散點上,可以顯示散點對應的調用鏈的基本資料。單擊散點可以查看調用鏈對應的調用詳情。更多資訊,請參見Trace詳情

image.png

全鏈路彙總

調用鏈分析對查詢到的Span可以按照各個維度進行分析,但這些分析是針對單個Span,並未在鏈路層級深度分析。而全鏈路彙總功能支援通過指定條件查詢分布式調用鏈路的TraceId(最多5000個),然後基於這些TraceId查詢對應的Span,並彙總這些Span得出最終結果,整個過程保證彙總的鏈路完整性。

說明

由於全鏈路彙總是按照查詢條件後彙總計算相應資料的,當您選擇的條件比較多時,查詢計算存在一定延遲,請耐心等待。

image

參數

說明

spanName

Span名稱。

serviceName

Span對應的應用程式名稱。

請求數/請求比例

請求比例表示調用當前Span節點的請求比例數。

例如10%表示10%的請求會調用當前Span。

計算公式:請求比例=當前Span的請求數/總請求數*100%

span數/請求倍數

請求倍數表示平均每個請求調用當前Span的次數。

例如1.5表示每個請求會調用當前Span 1.5次 。

計算公式:請求倍數=Span數/Span的請求數

平均自身耗時/比例

平均自身耗時表示不包括子Span的耗時。

例如,對於Span A和其子Span B, 其中A耗時為10 ms, B耗時為8 ms,那麼A的自身耗時為2 ms。

計算公式:自身耗時=Span耗時-所有子Span耗時總和

重要

如果是非同步呼叫,自身耗時即Span耗時,無需減去子Span耗時。

平均耗時

該Span的平均耗時。

異常數/異常比例

異常比例表示出現異常的請求比例。

例如3%表示有3%的請求出現異常。

計算公式:異常比例=異常請求數/總請求數

重要

異常請求數不等於異常數(Span調用異常的次數),當請求倍數大於1時, 一個異常請求可能對應多個異常數。

樣本:如下表所示,Span A調用Span B和Span C,各參數含義如下。

spanName

serviceName

請求數/請求比例

span數/請求倍數

平均自身耗時/比例

平均耗時

異常數/異常比例

A

-

demo

10/100.00%

10/1.00

5.00ms/25.00%

20ms

2/20.00%

-

B

demo

4/40.00%

8/2.00

16.00ms/100.00%

16ms

2/50.00%

-

C

demo

1/10.00%

1/1.00

4.00ms/100.00%

4ms

1/100.00%

對於入口Span,A的請求數/請求比例表示A的請求總數為10次,比例為100%。B的請求數/請求比例為4/40.00%,表示只有4次請求調用了B,同理只有1次請求調用了C,對應的請求比例分別為40%和10%。其餘的請求可能因邏輯判斷或者異常而未調用B和C。這裡反映了請求的分布比例。

A的span數/請求倍數為10/1.00,表示每次請求只調用了一次A,但是對於B而言,4次請求有8個Span,每次請求調用了2次B。這裡反映了一次請求中Span的分布比例。

A的平均自身耗時/比例為5.00ms/25.00%,表示A除了B和C之外的平均耗時為5ms,只佔整體平均耗時的25%。而子Span B和C因為沒有子Span,所以自身耗時即整體耗時。這裡反映了耗時的分布比例。

A的異常數/異常比例為2/20.00%,表示A發生了2次異常,佔整體請求的20%。B的異常數/異常比例為2/50.00%,因為每次請求調用了2次B,總的請求數是4,異常比例是50%,那麼2次請求發生了異常。所以B的分布可能是:一共有4次請求,其中有2次請求調用的4個Span B都是正常的,剩下2次請求中,首次Span B的調用都發生異常,然後重新調用成功。

說明

如果需要查看具體的調用鏈詳情,可以將滑鼠懸浮於藍色的Span名稱上,在懸浮框中可以看到推薦的調用鏈ID,單擊TraceId即可查看。

全鏈路拓撲

全鏈路拓撲頁簽顯示調用鏈彙總後的應用間拓撲。如下圖所示,表示兩個應用間存在調用關係,同時展示相應的請求數、錯誤數、回應時間等資料。

全鏈路拓撲

錯/慢Trace分析

錯/慢Trace分析旨在協助使用者分析批量異常調用鏈的共有維度特徵,例如錯/慢調用都來自同一個主機、同一個介面,可以分別篩選對應的主機、介面下的Trace,或通過組合維度(例如serviceName="arms-demo" AND ip="192.168.1.1")篩選Trace,快速定位系統異常。錯/慢Trace分析也可以用於梳理慢介面,對系統進行定向最佳化等。

慢Trace分析

ARMS對1000條耗時最長的Trace進行分析,展示與慢Trace顯著相關的Top 5維度資訊。

image

慢Trace分析詳情

在慢Trace分析功能中,ARMS會在當前查詢條件下,以耗時大於耗時對比臨界值的Trace中耗時最高的1000條Trace作為樣本,與隨機抽樣的耗時小於耗時對比臨界值的1000條Trace進行對比,分析並識別出與慢調用顯著性相關的Top 3關鍵特徵。

說明

您可以根據需求,自訂耗時對比臨界值。例如,如果您想分析耗時超過1分鐘的Trace的維度特徵,可以修改閾值為60000ms。

image

錯Trace分析

ARMS隨機播放1000條錯Trace進行分析,展示與錯Trace顯著相關的Top 5維度資訊。

image

錯Trace分析詳情

在錯Trace分析功能中,ARMS會隨機抽樣1000條錯Trace和1000條正常Trace,分析識別出與錯調用顯著性相關的Top 3關鍵特徵。

image

說明

錯/慢Trace分析更多使用案例,請參見通過錯/慢調用鏈排查應用產生異常的原因

Trace詳情

2024-09-20_13-22-40

組件標籤(圖示①)

  • 標籤中展示了調用類型以及調用鏈中該類型Span的數量。

  • 調用類型通過Span屬性中的component.name來區分(attributes.component.name)。

  • 單擊組件標籤,可以在調用鏈中隱藏對應類型的Span,方便您過濾不需要關注的Span。再次單擊即可恢複顯示。

調用鏈軌跡圖(圖示②)

Trace軌跡圖用於展示整個跟蹤鏈路及Span資料分布情況。

  • Trace軌跡圖中每個條形均代表一個Span(僅展示耗時佔總耗時比例大於1%的Span)。

  • 不同的應用通過不同的顏色進行區分。例如,在上文樣本圖中,藍色代表opentelemetry-demo-adservice應用。

  • 軌跡圖中的黑線長度代表Span自身耗時,即Span耗時減去Sum(子Span耗時)。例如Span A調用Span B,A耗時為10毫秒,B耗時為8毫秒,那麼A的自身耗時為2毫秒。

  • 時間軸表示整條Trace資料的時間跨度。

調用鏈聚焦與過濾(圖示③)

該地區中的每一行代表一條Span資料,並展示父級Span和子級Span之間的層級關係。Span資料前面的標號表示該父級Span所擁有的子級Span數量。在該地區,您可以執行如下操作:

  • 摺疊:單擊image表徵圖,摺疊或展開Span資料。

  • 聚焦:選中目標Span資料,單擊image表徵圖,系統將只顯示該Span以及該Span下遊的資料,實現Span資料聚焦。

  • 取消聚焦:單擊image表徵圖,取消Span資料聚焦。

  • 過濾:在搜尋方塊中輸入目標Span攜帶的資訊(可以是Span名稱、應用程式名稱、屬性等內容),即可過濾目標Span,展示從入口Span到目標Span的調用路徑。如果要取消過濾,刪除搜尋方塊中的內容並單擊搜尋即可。

  • 放大與縮小:單擊image表徵圖,將會放大調用鏈,隱藏Trace軌跡圖。單擊image表徵圖將恢複Trace軌跡圖展示。

Span詳情(圖示④)

Span詳情地區包含了當前Span的詳細資料,以及關聯的指標、日誌和異常資訊,並能管理自訂互動事件和觸發互動事件。

  • 附加資訊:附加資訊包含Span的屬性(Attributes)、資源(Resources)、詳情(Details)和事件(Events)四種資訊,並按照類型進行分組。關於Span詳情中的欄位說明,請參考調用鏈分析參數說明

  • 指標:展示與Span關聯的指標。對於ARMS Java應用的調用鏈,將展示JVM 和主機維度指標;對於開源探針上報的調用鏈,將展示RED黃金三指標。

    image

  • 日誌關聯:如您為應用關聯了Log Service日誌庫,可快速跳轉至日誌庫並查詢當前TraceId對應的業務日誌。

  • 異常:當Span記錄了異常資訊時,此頁面會展示具體的異常資訊。

  • 事件配置:您可以為調用鏈的一個或多個屬性設定互動事件,方便查詢更詳盡的調用鏈或查看與調用鏈關聯的日誌、指標等資訊。自訂互動事件相關的配置說明請參見為調用鏈配置自訂互動事件

二次開發

鏈路資料儲存在您的SLS中,Project名稱為proj-xtrace-<encode>-<region-id>,logstore名稱為logstore-tracing。其中<region-id>是調用鏈分析對應的地區,例如cn-hangzhou。資料格式的含義,請參見調用鏈分析參數說明。您可以基於已儲存的全量鏈路詳細資料進行二次開發,自由組合篩選條件與彙總維度進行即時分析,可以滿足不同情境的自訂診斷需求。更多使用方法,請參見即時分析鏈路資料

相關文檔