ARMS應用監控的調用鏈分析功能是基於已儲存的全量鏈路詳細資料,自由組合篩選條件與彙總維度進行即時分析,可以滿足不同情境的自訂診斷需求。
功能入口
- 登入ARMS控制台。
在左側導覽列選擇 ,然後在頂部功能表列選擇目標地區。
首次進入調用鏈分析頁面需要授權ARMS操作SLS許可權,以便資料投遞到您名下的SLS進行二次開發,但不會產生額外費用。
授權完成後會自動進行資源準備,預計等待2分鐘即可完成。
說明開通調用鏈分析功能不會產生額外費用。
如果開通失敗,請單擊重試或聯絡我們。
在調用鏈分析頁面右上方的時間選擇框設定需要查詢的時間段。
篩選鏈路。
在左側快捷篩選地區,通過狀態、耗時、應用程式名稱、介面名稱和主機地址維度快速篩選鏈路。
篩選條件將會顯示在頁面頂部文字框內。
單擊頂部文字框,在下拉彈窗中修改篩選條件或設定其他維度篩選條件。
在右側頂部文字框直接輸入查詢條件。查詢文法說明,請參見調用鏈分析查詢用法說明。
說明單擊文字框右側的表徵圖可以儲存當前篩選條件。
單擊文字框右側已儲存視圖可以查看已儲存的篩選條件,單擊目標的篩選條件可以快速查看對應篩選條件下的鏈路資訊。
選擇彙總維度,可以將篩選後的資料按照指定維度彙總。
鏈路列表
篩選設定完成後,調用鏈分析頁面將會顯示篩選過濾後的鏈路查詢資訊,包括Span數和HTTP錯誤數的柱狀圖,耗時百分位的時序曲線,以及Span列表。
在Span列表地區,您可以執行以下操作:
散佈圖
散佈圖頁面以時間為橫軸,耗時指標為縱軸,顯示調用鏈的耗時分布情況。將滑鼠懸浮於散點上,可以顯示散點對應的調用鏈的基本資料。單擊散點可以查看調用鏈對應的調用詳情。更多資訊,請參見鏈路詳情。
全鏈路彙總
調用鏈分析對查詢到的Span可以按照各個維度進行分析,但這些分析是針對單個Span,並未在鏈路層級深度分析。而全鏈路彙總功能支援通過指定條件查詢分布式調用鏈路的TraceId(最多5000個),然後基於這些TraceId查詢對應的Span,並彙總這些Span得出最終結果,整個過程保證彙總的鏈路完整性。
由於全鏈路彙總是按照查詢條件後彙總計算相應資料的,當您選擇的條件比較多時,查詢計算存在一定延遲,請耐心等待。
參數 | 說明 |
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即可查看。
全鏈路拓撲
全鏈路拓撲頁簽顯示調用鏈彙總後的應用間拓撲。如下圖所示,表示兩個應用間存在調用關係,同時展示相應的請求數、錯誤數、回應時間等資料。
鏈路詳情
在鏈路詳情面板可以查看鏈路下的所有介面、鏈路開始時間、總耗時、介面是否異常、以及每個介面的調用耗時。
二次開發
鏈路資料儲存在您的SLS中,Project名稱為proj-xtrace-<encode>-<region-id>,logstore名稱為logstore-tracing。其中<region-id>是調用鏈分析對應的地區,例如cn-hangzhou。資料格式的含義,請參見調用鏈分析參數說明。您可以基於已儲存的全量鏈路詳細資料進行二次開發,自由組合篩選條件與彙總維度進行即時分析,可以滿足不同情境的自訂診斷需求。更多使用方法,請參見即時分析鏈路資料。