博睿數據-企業應用性能管理服務商,賦能IT運營智能化
福建36选7

企業選擇后端應用性能監控產品關鍵之二:代碼診斷的能力2019/03/04

大家都知道,一款后端應用性能監控產品由兩大核心功能組成。首先,即是上一篇文章小睿講到的邏輯拓撲能力,用于幫助運營及運維人員透視其應用系統復雜的邏輯關系。而當拓撲清晰展現之后,還需要更細粒度問題定位分析,也就是第二個核心功能--代碼診斷。

今天,小睿就為大家解析一下后端APM產品的關鍵能力之二:代碼診斷的能力。

代碼診斷作為應用性能剖析最深的一環,需將在用戶層面或應用層面已經暴露或暫未暴露的問題逐層下鉆剖析,使故障的根因定位在代碼層,甚至細化到某個函數的調用。這樣才能最大程度的縮短排障的時間,提升問題解決的效率。

代碼診斷的具體技術方法分為兩種,即:熱點方法分析和全棧方法分析。

熱點方法分析

國內市場中絕大部分APM廠商普遍采用的是熱點方法分析。通過對特定的熱點方法進行預先打點插碼,而后該方法被調用時就會被記錄,最終通過method事件隊列的enter/leave事件便可生成帶有時間的方法調用樹,即調用堆棧。這一技術方法比較適用于程序結構較為簡單且自建函數較少的應用系統,而對于復雜程序來說,這種方法會因為插碼過多而占用過量的系統資源,對業務程序響應速度造成直接拖累。并且,插碼的方法需要用戶自行手動配置,易用性較差。

而現在絕大多數的用戶無法事先確定哪些方法應是熱點方法,所以無法進行事先打點插碼。在此情況下,需要一種無須用戶配置即能自動捕獲業務請求處理過程中代碼執行所有方法的技術方案--全棧方法分析。

全棧方法分析

目前國內僅博睿數據實現了全棧方法分析,通過自研的SuperTrace技術對目標線程定時掃描,獲取到該線程當前代碼堆棧信息并記錄時間戳,再通過算法對大量的時間戳進行分析比對,最終得出每一個方法的真實時間損耗,從而生成完整的代碼堆棧分析數據,這樣便無需事先告知熱點方法,可直接無腦匹配所有業務應用系統,并且對系統資源的影響完全可控,大大提升了易用性與便捷性。


此外,由業務調用鏈為分析入口進行代碼分析則更加符合當下越來越復雜的應用系統背景:首先博睿數據強大的拓撲能力能夠幫助用戶輕松梳理系統復雜的邏輯關系,將問題縮小到業務請求的范疇,進而代碼診斷則是對問題進一步的精確定位。這兩大核心功能相輔相成,全力幫助企業的IT運營團隊實現高效監控,直觀快速定位問題,讓問題排障更快速!

 

博睿數據-企業應用性能管理服務商,賦能IT運營智能化