2013-04-12 5 views
66

Ich weiß, dass Netbeans etwas von einem "integrierten" Profiler hat, zum Beispiel können Sie Komponententests ausführen und sie verwenden, um zu analysieren und zu finden, was sie verlangsamt, wo Engpässe sind. Hat IntelliJ IDEA eine ähnliche Option? (vorzugsweise frei/Open Source).Wie profile ich Java-Quelle mit Intellij Idee Editor?

+0

Soweit ich weiß, gibt es nur eine freie Profiler-Integration: [VisualVM] (http://plugins.jetbrains.com/plugin/?idea&pluginId=7115). – CrazyCoder

+0

Anscheinend gibt es ein nicht-kostenloses JProfiler-Plugin, FWIW http://StackOverflow.com/a/21156875/32453 – rogerdpack

+0

Heute habe ich das Plugin VisualVM in INtellij IDEA installiert ... zunächst sah ich mir ein Problem an, aber als ich den Anweisungen folgte http://blog.idrsolutions.com/2013/05/setting-up-visualvm-in-under-5-minutes/ Ich könnte einfach VisualVM konfigurieren –

Antwort

45

Sie können die kostenlose VisualVM-Profiler-Integration über ausprobieren.

+0

Sieht aus, als ob Sie IntelliJ "ultimate" kaufen, es soll auch einen eingebauten YourKit Profiling Agent enthalten. Nicht frei, aber enthalten, also nehme ich Bezug auf meine ursprüngliche Frage :) – rogerdpack

+4

Nein, YourKit Agent ermöglicht es Ihnen, CPU/Memory Snapshot zu nehmen, wenn Sie Unterstützung mit Leistungsproblemen kontaktieren, es ist nicht der Profiler selbst, der Sie zusätzliche 500 $ kostet. – CrazyCoder

+0

erscheint, du bist richtig danke für die Klarstellung. YourKit dient offenbar nur dazu, die IDE selbst zu profilieren, nicht Ihre eigenen Apps. Ich schätze, ich werde mich erst jetzt an Netbeans wenden, wenn ich ein Profil erstellen muss, und den Rest meiner Programmierung in IntelliJ machen: – rogerdpack

20

Wie von Stephen Murby "das Problem, wo Ihre Tests enden, bevor VisualVM gestartet hat".

Ja, diese VisualVMLauncher plug-in setzt Ihren Testfall nicht in die Warteschleife, bis VisualVM gestartet wurde. Möglicherweise benötigen Sie auch Zeit, um die für den Test spezifischen Profilierungseinstellungen manuell zu ändern. Die Lösung ist einfach: Ihr Testfall muss anhalten und warten, bis Sie ihn manuell weitermachen. Es gibt einige Möglichkeiten, dies zu tun:

1) put System.in.read(); Als erste Zeile des Testfalls und als VisualVM bereit ist, drücken Sie Enter an der Konsole.

2) Wenn Test Runner Ihnen keine Konsole zur Verfügung stellt, warten Sie, bis eine magische Datei erstellt wurde.

3) Sie können immer einfach spielen mit Schlaf()

sleep(5 seconds); 

Diese Arbeit um ist nicht viel Komfort, sondern arbeitet für mich als Notwendigkeit gelegentlich zu profilieren. Die Ursache für das Problem liegt in der Plug-in-Architektur von IDEA und VisualVM, von denen nicht angenommen wird, dass sie kollaborativ sind. Siehe discussion with plug-in author Hoffe, dass hilft.