Apache SkyWalking的UI介面主要分為以下幾個區域:
下面逐一介紹功能選擇區的各個功能。
文章持續更新,微信搜尋「萬貓學社」第一時間閱讀,關注後回覆「電子書」,免費獲取12本Java必讀技術書籍。
儀表盤又分為以下幾個功能:
相關概念解釋:
- 服務(Service):表示對請求提供相同行為的一組工作負載,比如:一個的 Web API系統。
- 服務範例(Instance):上述的一組工作負載中的每一個工作負載稱為一個範例,比如:一個的 Web API 系統叢集中的一個範例。
- 端點(Endpoint):對於特定服務所接收的請求路徑,如 HTTP 的 URI 路徑和 gRPC 服務的類名 + 方法簽名。
全域性(Global)展示的是所有服務的各項指標,包括:
p99
, p95
, p90
, p75
, p50
,單位為毫秒。相關概念解釋:
- Apdex:Application Performance Index,應用效能指數, Apdex = (滿意樣本數 + 可容忍樣本數 * 0.5) / 樣本總數,滿意樣本為響應時間小等於
Apdex閾值
,可容忍樣本為響應時間大於Apdex閾值
並小等於4倍的Apdex閾值
。目前Apdex閾值
為0.5秒。
服務(Service)是以服務的維度展示各項指標,包括:
p99
, p95
, p90
, p75
, p50
,單位為毫秒。服務範例(Instance)是以範例的維度展示各項指標,包括:
端點(Endpoint)是以端點的維度展示各項指標,包括:
p99
, p95
, p90
, p75
, p50
,單位為毫秒。文章持續更新,微信搜尋「萬貓學社」第一時間閱讀,關注後回覆「電子書」,免費獲取12本Java必讀技術書籍。
展示資料庫(Database)相關的各項指標,包括:
p99
, p95
, p90
, p75
, p50
,單位為毫秒。拓撲圖可以顯示服務之間的拓撲關係,如下圖:
點選某些服務的圖示,可檢視該服務的型別、Apdex、成功率、響應時間、吞吐量、百分位等資訊,如下圖:
點選服務之間的連線,可檢視兩個服務之間的響應時間、吞吐量、成功率、百分位等資訊,如下圖:
點選上圖中的展示範例依賴按鈕,可檢視各個範例之間的響應時間、吞吐量、成功率、百分位等資訊,如下圖:
追蹤頁面可以查詢到某個分散式鏈路的整體情況,如下圖:
相關概念解釋:
- 追蹤(Trace):一個追蹤(Trace)表示一個事務或者流程在分散式系統中的執行過程,是一條完整的分散式呼叫鏈。
- 跨度(Span):一個跨度(Span)表示系統中具有開始時間和執行時長的邏輯執行單元。跨度(Span)之間通過巢狀或者順序排列建立邏輯因果關係,最終形成一個追蹤(Trace)。
- 片段(Segment):一個片段(Segment)表示同一端點內的一組跨度(Span)的集合。
常見的錯誤可能是由程式碼異常或網路故障引起的,通過追蹤(Trace)檢視提供的跨度(Span)細節,可以快速找到錯誤發生在哪個環節。
效能剖析是利用方法棧快照,並對方法執行情況進行分析和彙總,對程式碼執行速度進行估算。
效能剖析啟用時,會對指定執行緒週期性的進行執行緒棧快照,並將所有的快照進行彙總分析,如果兩個連續的快照含有同樣的方法棧,則說明此棧中的方法大概率在這個時間間隔內都處於執行狀態。從而,通過這種連續快照的時間間隔累加成為估算的方法執行時間。
文章持續更新,微信搜尋「萬貓學社」第一時間閱讀,關注後回覆「電子書」,免費獲取12本Java必讀技術書籍。
想要進行效能刨析,我們必須建立一個任務,如下圖:
即使效能刨析對目標系統的效能影響非常有限,但它仍然是一個額外的負載,以上設定可以使效能影響可控。另外,在任何時刻,每個服務只能執行一個效能刨析任務。
等待效能刨析的任務完成後,對應的片段(Segment)就會在右側展示出來。點選某個片段(Segment),可以更詳細地看到各個片段(Segment)的耗時,如下圖:
從上圖可以看到最慢的片段(Segment)。點選分析按鈕,可以看到基於方法棧的分析結果,包括對應的類名、方法名、程式碼行數、耗時等資訊,最慢的方法棧被高亮顯示,如下圖:
在告警頁面可以檢視所有觸發的告警,如下圖:
過濾範圍的設定包括:服務、服務範例、端點、服務關係、服務範例關係、端點關係等。
微信公眾號:萬貓學社
微信掃描二維條碼
關注後回覆「電子書」
獲取12本Java必讀技術書籍