2009-08-27 9 views
47

Niedawno zacząłem programować w Scali. Szukam darmowego programisty Scala. Czytanie z oficjalnej strony tego języka doprowadziło mnie do YourKit, ale program nie był darmowy.profiler Scala?

Googling "scala profiler" nie dał mi żadnego odpowiedniego wyniku.

Jak mogę profilować mój program napisany w Scali? Wolę graficzną wtyczkę dla Netbeans lub Eclipse. Ale jeśli nie ma czegoś takiego, to konsola będzie w porządku.

Dzięki :)

Odpowiedz

46

Zważywszy, że Scala działa na Java Virtual Machine (JVM), można użyć narzędzia JConsoleJVM i VisualVM do profilowania aplikacji. Alternatywnie dowolny profilera Java powinien działać (np YourKit, jak już wspomniano)

VisualVM został spakowany z JDK od 1.6.0_10 i jest ona oparta na NetBeans Profiler. Można uchwycić zużycie pamięci, hotspoty skuteczności kod etc:

C:> %JAVA_HOME%\bin\jvisualvm 
+0

Wielkie dzięki. Sprawdzę to, dziękuję – Phil

+0

Dziękuję. Pobrałem JVisualVM, a następnie skorzystałem z przewodnika tutaj https://visualvm.dev.java.net/gettingstarted.html i to działa. – Phil

+0

Kolejny problem: Program wyświetla się tylko w miejscu, w którym znajduje się hotspot. Jak sprawić, by był wyświetlany w trybie "hierarchicznym"? tj. która funkcja wywołuje, która. Czy JVisualVM może to zrobić? Dzięki :) – Phil

9

Próbowałem z jvisualvm (zarówno wewnątrz jak i na zewnątrz NetBeans), ale nie widzę żadnych wywołanie metody scala w raportach profilowania (tylko podstawowych bibliotek Java wywołań metod). Dla mnie wygląda jak błąd, ale być może przegapiłbym coś oczywistego. W każdym razie tutaj jest raport o problemie, który napisałem na netbeans.org ze szczegółami: 171388

Jeśli ktoś tutaj z powodzeniem użył JVisualVM do kodu Scala profilu CPU, proszę dać mi znać.

+0

Mam ten sam problem. Nie widzę żadnych metod Scala. –

+11

Mam ten sam problem, ale można go łatwo rozwiązać, klikając pole "Ustawienia" na stronie Profiler i poprawnie konfigurując klasy docelowe i ignorowane. W moim przypadku java. * Ignoruje regułę blokowania profilowania kodu Scala – Basilevs