2009-11-06 17 views
5

我正在尋找一些有趣的動態分析儀來使用和報告大學作業。這些工具應該是:什麼是一些有趣的,免費的,用於Java的開源動態分析工具?

  • 開源(所以我可以從他們身上學到)
  • 免費(如兩者在語音和啤酒,因爲我希望能夠分享成果,我很緊張-fisted,分別地)
  • 針對Java(源或字節碼)

這包括,但不限於,性能分析器。他們可以執行任何類型的分析,只要它是動態的,例如代碼覆蓋率,多線程正確性。

生成的結果應該以某種方式有用,但它們不一定是工業強度

類似的問題:

那麼,什麼是一些有趣的,免費的,開源的動態分析工具爲Java?

回答

2

CoberturaEmma將執行代碼覆蓋率分析。

在多線程的正確性方面,FindBugs會做一些這方面的工作。但它執行靜態分析。即在程序運行時而不是

0

我發現Yourkit是一個相當驚人的java分析器。它做了精彩的熱點分析和記憶分析。我用它來發現許多內存泄漏以及許多優化。

它也有一個很好的Eclipse集成插件(如果這是你的包)

+0

Yourkit不是免費的,或者是開源的。雖然它有一個評估期。 – Grundlefleck 2009-11-06 10:44:51

+0

是您的開源軟件嗎? – 2009-11-06 10:45:19

+0

啊,沒有發現這個問題。儘管如此,這是一個很棒的工具,無論如何都值得考慮。 – Benj 2009-11-06 11:29:52

2

退房GlassboxJava應用程序的故障排除劑自動診斷常見問題。 Glassbox作爲war文件部署到您的應用服務器,然後使用AspectJ加載時編織來監控應用程序組件和其他工件,以便識別遠程調用過多或失敗,查詢速度慢,數據庫查詢過多,線程爭用甚至是請求等問題參數導致失敗。

Glassbox通過使用方面來無創地監控應用程序以跟蹤組件交互。我們還監視內置的JMX數據,特別是在我們採樣線程數據的Java 5 VM上(默認情況下每100 ms)。在處理請求時,我們總結了一些值得注意的事件,比如花費了多少時間以及參數是什麼使事情變得緩慢或失敗。我們還檢測用於報告的更高級操作(例如Struts操作或Spring控制器)。然後,我們的AJAX Web客戶端通過對正在監控的機器進行操作來提供狀態摘要,並根據請求生成更詳細的分析。 Glassbox允許監視服務器集羣:Web應用程序使用JMX Remote或直接通過RMI訪問遠程服務器中的數據。我們還提供對較低級摘要統計信息的JMX遠程訪問。

+0

+1對於一個有趣的外觀工具。你碰巧知道它是否受限於Web應用程序? – Grundlefleck 2009-11-06 10:57:48

+0

Glassbox是一個WAR,因此它必須部署在應用程序服務器中,但它可以監視諸如JMS和EJB之類的資源。所以,不,它不受網絡應用程序的限制。 – 2009-11-06 11:14:13

+0

原因可能是一個愚蠢的問題,它可以分析任何給定的Java程序,如Swing應用程序嗎?它擁有大量的功能,但我不能告訴網站選擇不提基本的東西,或者如果它不能勝任。 – Grundlefleck 2009-11-06 11:30:51

0

我之前使用過的一個性能分析器名爲JRat

運行作爲像某些方法中花費的時間一個Java代理和報表統計。

相關問題