https://github.com/riemann/riemann-jvm-profiler
I know some people like this kind of stuff and it’s always nice to know you’re options, so I saw this and thought I’d link it here.
I like the configurable options, especially the fact that you can tell it to only use up to a certain amount of CPU time for profiling.
Also, even if I don’t have a use for it, profiling a whole Hadoop cluster at once is pretty cool.
You can invoke it programatically or as a Java agent, but knowing some clojure is probably helpful.
Currently you have to build it from source, if I go and try it I’ll see if I can post jars.