Java開發者應該知道的五款錯誤跟蹤工具
隨著Java生態系統的發展,用戶性能需求的提高,一類新的開發工具應運而生。與傳統方法相比,它們既可以滿足在一個快節奏的環境中快速部署所需要的錯誤跟蹤需求,又能在一個更深的層面上觀察應用程序的行為。近日,軟件分析公司Takipi匯總介紹了五款這樣的工具。
Raygun是一款基于Web的錯誤管理系統,用于跟蹤應用程序異常。它支持多種桌面、移動和Web編程語言,包括Java、Scala、.NET、Python、PHP和JavaScript,其主要特點如下:
錯誤分組——同一Bug多次出現會顯示在同一個組中;全文搜索——錯誤組及所有收集到的數據都是可搜索的;查看應用活動——錯誤組上的每個動作都會展示給所有的團隊成員,如狀態更新、評論等;受影響的用戶——每個錯誤影響的用戶數;外部集成——Github、Bitbucket、Asana、JIRA、HipChat等。Sentry是一個基于Web的開源解決方案,用于實時地事件日志記錄和聚合,支持的語言包括Ruby、Python、JS、Java、Django、.NET等,其主要特點如下:
可以實時查看新部署的影響;在用戶訪問因錯誤而中斷時,可以利用Sentry日志向他提供支持,幫助他恢復訪問;檢測并防止欺騙——比如,如果購買、身份驗證次數超出正常范圍,Sentry就會發出通知;可以集成GitHub、HipChat、Heroku等。Takipi是一個軟件即服務(SaaS)模型,使用Java代理實時地進行代碼分析及跟蹤代碼變化。它的大部分分析工作都是在云上完成的,支持JVM語言,包括Java、Scala、Clojure、Groovy、JRuby、Jython等,其主要特點如下:
檢測——所有捕獲和未捕獲的異常、HTTP和日志錯誤;按優先級排序——錯誤在整個集群中的發生頻率、是否包含新的或修改過的代碼、頻率是否在增加;分析——查看具體代碼和變量狀態;易于安裝;系統資源開銷少于2%。Airbrake為用戶提供了一個基于Web的界面,上面有一個儀表板,記錄了錯誤的詳細信息以及特定應用程序的視圖,支持的語言包括Ruby、PHP、Java、.NET、Python、Swift等,其主要特點如下:
詳細的堆棧跟蹤信息,根據錯誤類型、用戶和環境變量分組;提高團隊生產力——從繁雜的信息中過濾出重要的錯誤;團隊協作——查看哪位成員導致了Bug以及哪位成員正在進行修復;外部集成——包括HipChat、 GitHub、JIRA、Pivotal等共30多種。StackHunter是一款自托管的Java異常跟蹤工具,目前還是測試版。它可以將異常通知給開發者,并幫助他們更快地解決問題,其主要特點如下:
可以在單個自托管的Web界面上查看所有異常;收集堆棧跟蹤數據和上下文信息,例如,異常、受影響的用戶、受影響的會話等;在異常發生時立即發送警告郵件;根據異常產生的根本原因將其分組。此外,還有一款值得一提的工具是來自Fedora 生態系統的ABRT。這是一款自動Bug檢測和報表工具。與上述五款工具的不同之處在于,其用戶既可以是應用程序開發者,也可以是應用程序的用戶。不過,它對Java異常的支持尚處于概念驗證階段。
相關文章: