Glassbox http://www.glassbox.com is Open source and can monitor JVM, catch slow java methods, SQL etc. Works best for J2EE applications, think it can be extended to work with standalone Java apps as well..
Yes, I've used it to monitor and troubleshoot one of our products (J2EE Tomcat/Apache). Helped alot to identify a performance bottleneck, which in our case was a couple of slow loading pages that generated huge numbers of SQL calls. Overall, it's been of great help. It's not a classic profiler tool, but rather provides just the info you need, and nothing else (allthough Glassbox can be configured to provide more detail). Works with JMX and JConsole too.
One problem I encountered was some performance overhead, especially in DB-intensive areas of our app, otherwise it's been great value for us.
Their live demo http://www.glassbox.com/glassbox/Demo.html Gives some examples of what kind of details you get