What are popular tools used for, profiling Java applications,for identifying threading related issues, performance load testingrunning on a VM or running on top of a J2EE stack, especially on SMP/multi-core platforms? I am looking at tools, both commercial and open source.
I am looking into anyone who has strong opinion (+ve or -ve) on the tools they have tried.
First thing first, the VTune analyzer can always help you pinpoint multi-threading issues at micro-architecture level (contention, false-sharing, utilization of cores, etc) and application level metrics (locking, synchronization calls to the OS, etc). VTune can also show how threads are scheduled by the OS and how much time they spend on different cores. this information is useful to find out if cpu affinity should be considered or not.
I would also recommend you to take a look at TPTP project: http://www.eclipse.org/tptp/
There are many tools out there to consider. JProfiler, NetBeans Profiler, are few to look at if not already.