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

爲何要作這個功能?

做爲一款應用性能監控產品,咱們一般會給用戶展現兩類數據:java

  • 第一種是統計數據:用戶經過使用統計數據設置報警(好比應用響應時間大於2s),縮小問題範圍(好比報警時間範圍內,是哪個接口響應時間最長)。
  • 第二種是明細數據:用戶經過統計值確認了特徵之後,能夠具體查看一個緩慢請求的執行過程,確認具體緩慢的方法或者慢SQL.

在用戶實際使用過程當中,咱們發現實際上用戶並不會按照咱們預想的狀況使用,經常是以下兩種狀況:服務器

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

爲了解決這兩個問題,咱們通過兩個月的迭代,隆重推出了 智能和實時診斷功能。性能

智能診斷:

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

  • 致使的本次響應時間突增的服務器
  • 應用 SQL 耗時分析。
  • 檢測應用的 FullGC 的次數、耗時是否有突增。
  • 是否存在內存泄露。
  • 檢測異常日誌。
  • 檢測下游應用的響應時間是否出現一樣的趨勢。

通過「三堂會審」,主動的把與此次性能問題相關的 全部檢查結果 呈現給您,讓您一分鐘內發現系統中發生了什麼事情。spa

舉個例子:
某應用發現RT突增到4s多線程

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

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

實時診斷:

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

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

產品連接:應用實時監控服務ARMS

 

本文做者:中間件小哥

原文連接

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索