5 Stimmen

Was sind einige interessante, kostenlose, Open-Source-Dynamic-Analysis-Tools für Java?

Ich suche nach interessanten dynamischen Analysewerkzeugen, die ich für eine Universitätsaufgabe verwenden und darüber berichten kann. Die Werkzeuge sollten sein:

  • Open-Source (damit ich von ihnen lernen kann)
  • Kostenlos (sowohl im Sinne von Redefreiheit als auch im Sinne von Bier, weil ich die Ergebnisse teilen und geizig sein möchte, beziehungsweise)
  • Für Java gedacht (Quellcode oder Bytecode)

Dazu gehören, sind aber nicht beschränkt auf, Leistungsprofiler. Sie können jede Art von Analyse durchführen, solange sie dynamisch ist, zum Beispiel Codeabdeckung, Mehrfadenkorrektheit.

Die generierten Ergebnisse sollten auf irgendeine Weise nützlich sein, müssen aber nicht industrietauglich sein.

Ähnliche Frage:

Also, welche interessanten, kostenlosen Open-Source-Dynamikanalysetools gibt es für Java?

2voto

Brian Agnew Punkte 260470

Cobertura und Emma werden eine Code-Coverage-Analyse durchführen.

In Bezug auf die Korrektheit von Multi-Threaded, wird FindBugs etwas davon übernehmen. Allerdings führt es eine statische Analyse durch. d.h. nicht während das Programm läuft.

2voto

Pascal Thivent Punkte 548176

Schauen Sie sich Glassbox an, ein Troubleshooting-Agent für Java-Anwendungen, der automatisch häufige Probleme diagnostiziert. Glassbox wird als Kriegsdatei auf Ihrem App-Server bereitgestellt und verwendet dann AspektJ Load-Time-Weaving, um Anwendungsbestandteile und andere Artefakte zu überwachen, um Probleme wie übermäßige oder fehlgeschlagene Remote-Aufrufe, langsame Abfragen, zu viele Datenbankabfragen, Thread-Konflikte und sogar welche Anfrageparameter Fehler verursacht haben, zu identifizieren.

Glassbox überwacht Anwendungen nicht invasiv, indem Aspekte verwendet werden, um Komponenteninteraktionen zu verfolgen. Wir überwachen auch eingebaute JMX-Daten, insbesondere auf einer Java-5-VM, auf der wir Thread-Daten (standardmäßig alle 100 ms) erfassen. Während eine Anfrage verarbeitet wird, fassen wir bemerkenswerte Ereignisse zusammen, wie wo Zeit verbracht wurde und welche Parameter daran beteiligt waren, dass Dinge langsam wurden oder fehlschlugen. Wir erkennen auch höhere Operationen (wie Struts-Aktionen oder Spring-Controller), über die wir berichten. Unser AJAX-Web-Client bietet dann Zusammenfassungen des Status nach Betrieb auf den überwachten Maschinen, und wir generieren eine detailliertere Analyse bei Anfrage. Glassbox ermöglicht die Überwachung von Serverclustern: Die Web-App verwendet JMX Remote oder direktes RMI, um Daten von entfernten Servern abzurufen. Wir bieten auch JMX-Remotezugriff auf die zusammengefassten Statistiken auf niedrigerer Ebene.

0voto

Benj Punkte 30394

Ich finde Yourkit als Profiler für Java ziemlich erstaunlich. Es bietet eine wunderbare Hotspot-Analyse und Memory-Profiling-Funktion. Ich habe es verwendet, um viele Speicherlecks sowie zahlreiche Optimierungen zu finden.

Es hat auch ein schönes Eclipse-Integrations-Plugin (falls das dein Ding ist)

0voto

Grundlefleck Punkte 118989

Eines, das ich zuvor verwendet habe, ist ein Leistungsprofilierer namens JRat.

Es läuft als Java-Agent und berichtet Statistiken wie die Zeit, die in einer bestimmten Methode verbracht wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X