標籤:
隨著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異常的支援尚處於概念驗證階段。
5款Java程式員必須瞭解的錯誤跟蹤工具