Java開(kāi)發(fā)者應(yīng)該知道的五款錯(cuò)誤跟蹤工具
隨著Java生態(tài)系統(tǒng)的發(fā)展,用戶性能需求的提高,一類新的開(kāi)發(fā)工具應(yīng)運(yùn)而生。與傳統(tǒng)方法相比,它們既可以滿足在一個(gè)快節(jié)奏的環(huán)境中快速部署所需要的錯(cuò)誤跟蹤需求,又能在一個(gè)更深的層面上觀察應(yīng)用程序的行為。近日,軟件分析公司Takipi匯總介紹了五款這樣的工具。
Raygun是一款基于Web的錯(cuò)誤管理系統(tǒng),用于跟蹤應(yīng)用程序異常。它支持多種桌面、移動(dòng)和Web編程語(yǔ)言,包括Java、Scala、.NET、Python、PHP和JavaScript,其主要特點(diǎn)如下:
錯(cuò)誤分組——同一Bug多次出現(xiàn)會(huì)顯示在同一個(gè)組中;全文搜索——錯(cuò)誤組及所有收集到的數(shù)據(jù)都是可搜索的;查看應(yīng)用活動(dòng)——錯(cuò)誤組上的每個(gè)動(dòng)作都會(huì)展示給所有的團(tuán)隊(duì)成員,如狀態(tài)更新、評(píng)論等;受影響的用戶——每個(gè)錯(cuò)誤影響的用戶數(shù);外部集成——Github、Bitbucket、Asana、JIRA、HipChat等。Sentry是一個(gè)基于Web的開(kāi)源解決方案,用于實(shí)時(shí)地事件日志記錄和聚合,支持的語(yǔ)言包括Ruby、Python、JS、Java、Django、.NET等,其主要特點(diǎn)如下:
可以實(shí)時(shí)查看新部署的影響;在用戶訪問(wèn)因錯(cuò)誤而中斷時(shí),可以利用Sentry日志向他提供支持,幫助他恢復(fù)訪問(wèn);檢測(cè)并防止欺騙——比如,如果購(gòu)買、身份驗(yàn)證次數(shù)超出正常范圍,Sentry就會(huì)發(fā)出通知;可以集成GitHub、HipChat、Heroku等。Takipi是一個(gè)軟件即服務(wù)(SaaS)模型,使用Java代理實(shí)時(shí)地進(jìn)行代碼分析及跟蹤代碼變化。它的大部分分析工作都是在云上完成的,支持JVM語(yǔ)言,包括Java、Scala、Clojure、Groovy、JRuby、Jython等,其主要特點(diǎn)如下:
檢測(cè)——所有捕獲和未捕獲的異常、HTTP和日志錯(cuò)誤;按優(yōu)先級(jí)排序——錯(cuò)誤在整個(gè)集群中的發(fā)生頻率、是否包含新的或修改過(guò)的代碼、頻率是否在增加;分析——查看具體代碼和變量狀態(tài);易于安裝;系統(tǒng)資源開(kāi)銷少于2%。Airbrake為用戶提供了一個(gè)基于Web的界面,上面有一個(gè)儀表板,記錄了錯(cuò)誤的詳細(xì)信息以及特定應(yīng)用程序的視圖,支持的語(yǔ)言包括Ruby、PHP、Java、.NET、Python、Swift等,其主要特點(diǎn)如下:
詳細(xì)的堆棧跟蹤信息,根據(jù)錯(cuò)誤類型、用戶和環(huán)境變量分組;提高團(tuán)隊(duì)生產(chǎn)力——從繁雜的信息中過(guò)濾出重要的錯(cuò)誤;團(tuán)隊(duì)協(xié)作——查看哪位成員導(dǎo)致了Bug以及哪位成員正在進(jìn)行修復(fù);外部集成——包括HipChat、 GitHub、JIRA、Pivotal等共30多種。StackHunter是一款自托管的Java異常跟蹤工具,目前還是測(cè)試版。它可以將異常通知給開(kāi)發(fā)者,并幫助他們更快地解決問(wèn)題,其主要特點(diǎn)如下:
可以在單個(gè)自托管的Web界面上查看所有異常;收集堆棧跟蹤數(shù)據(jù)和上下文信息,例如,異常、受影響的用戶、受影響的會(huì)話等;在異常發(fā)生時(shí)立即發(fā)送警告郵件;根據(jù)異常產(chǎn)生的根本原因?qū)⑵浞纸M。此外,還有一款值得一提的工具是來(lái)自Fedora 生態(tài)系統(tǒng)的ABRT。這是一款自動(dòng)Bug檢測(cè)和報(bào)表工具。與上述五款工具的不同之處在于,其用戶既可以是應(yīng)用程序開(kāi)發(fā)者,也可以是應(yīng)用程序的用戶。不過(guò),它對(duì)Java異常的支持尚處于概念驗(yàn)證階段。
相關(guān)文章:
1. asp讀取xml文件和記數(shù)2. Xml簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理3. 阿里前端開(kāi)發(fā)中的規(guī)范要求4. XML入門的常見(jiàn)問(wèn)題(一)5. html小技巧之td,div標(biāo)簽里內(nèi)容不換行6. 告別AJAX實(shí)現(xiàn)無(wú)刷新提交表單7. IE6/IE7/IE8/IE9中tbody的innerHTML不能賦值的完美解決方案8. 讀寫xml文件的2個(gè)小函數(shù)9. webpack高級(jí)配置與優(yōu)化詳解10. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案
