Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> We tried VisualVM but since Clojure memory consists mostly of primitives (Strings, Integers etc) it was very hard to understand which data of the application is being accumulated and why.

You should try deeper profiling tools like JFR+JMC (http://jdk.java.net/jmc/8/) and MAT (https://www.eclipse.org/mat/).



I was going to suggest this -- inside of VisualVM, you can right-click a process and then press "Start JFR"

Then wait a bit, right click it again, and select "Dump JFR"

What you get is a Flight Record dump that contains profiling information you can view that's more comprehensive than any language I've ever seen.

I used this for the first time the other day and felt like my life has been changed.

Specifically, if you want to see where the application is spending it's time and in what callstacks, you can use the CPU profiling and expand the threads -- they contain callstacks with timing

There's some screenshots in an issue I filed here showing this if anyone if curious what it looks like:

https://github.com/redhat-developer/vscode-java/issues/2049

Thanks Oracle.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: