告別診斷煩惱 | 應用實時監控 ARMS 上線智能和實時診斷功能

爲何要作這個功能?
做爲一款應用性能監控產品,咱們一般會給用戶展現兩類數據:java

第一種是統計數據:用戶經過使用統計數據設置報警(好比應用響應時間大於2s),縮小問題範圍(好比報警時間範圍內,是哪個接口響應時間最長)。
第二種是明細數據:用戶經過統計值確認了特徵之後,能夠具體查看一個緩慢請求的執行過程,確認具體緩慢的方法或者慢SQL.
在用戶實際使用過程當中,咱們發現實際上用戶並不會按照咱們預想的狀況使用,經常是以下兩種狀況:服務器

因爲ARMS提供了至關豐富的指標和維度,且用戶對於產品不熟悉,當出現應用響應時長等性能問題時,用戶不知道如何繼續分析問題。
基於性能開銷的考慮,咱們的明細數據不是全量上報的(默認10%採樣,可調),有可能用戶最緩慢的請求咱們沒有上報。
爲了解決這兩個問題,咱們通過兩個月的迭代,隆重推出了 智能和實時診斷功能。性能

智能診斷:
經過以應用的響應時間突增做爲抓手,咱們會幫助用戶,依次作六項體檢:spa

致使的本次響應時間突增的服務器
應用 SQL 耗時分析。
檢測應用的 FullGC 的次數、耗時是否有突增。
是否存在內存泄露。
檢測異常日誌。
檢測下游應用的響應時間是否出現一樣的趨勢。
通過「三堂會審」,主動的把與此次性能問題相關的 全部檢查結果 呈現給您,讓您一分鐘內發現系統中發生了什麼事情。線程

舉個例子:
某應用發現RT突增到4s多
圖片描述日誌

經過主動診斷,準確的抓到了本次異常,主動診斷髮現java.util.concurrent.TimeoutException異常的統計指標和RT異常相似。
圖片描述blog

點擊異常,直接跳轉到異常診斷界面,發現異常在同一時刻突增,而且把異常棧和上下文給打印出來了。
圖片描述接口

實時診斷:
當您須要密切監控一小段時間內的應用性能時,例如發佈應用時,或者應用出現問題時,您可使用 ARMS 應用監控的實時診斷功能。開啓實時診斷後,ARMS 應用監控會持續監控應用 5 分鐘,並在此期間經過來一條上報一條的方式(延時在秒級),實時全量的上報調用鏈數據。接下來,您就能以出現性能問題的調用鏈路爲抓手,經過方法棧瀑布圖和線程剖析等功能定位問題緣由。圖片

圖片描述

接下來來咱們還會繼續補足智能分析的場景和數據源,但願當 響應時間/錯誤率 出現問題時,能讓用戶經過ARMS儘量的縮短定位和解決問題的時間,讓天下沒有難解的性能問題。內存

相關文章
相關標籤/搜索