I have been able to successfully instrument my JBoss AS 7.1 installation using the JDK bundled JVisualVM.
Oracle JDK 1.6.0_26
64 bit Kubuntu 12.04.2 LTS
JBoss AS 7.1.1.Final
The only changes I made to the default configuration of JVisualVM, are Tools->Options->Profiling
Start Profiling from
Do not profile classes:
java.*, javax.*, sun.*, sunw.*, com.sun.*, org.jboss.*,java.*, javax.*, sun.*, sunw.*, com.sun.*, org.jboss.* org.hornetq.*
I can activate profiling, and can subsequently inspect detailed CPU Profiling information & take snapshots thereof, on the JBoss AS internal classes, but I cannot see any of my application classes under com.mypackages.** under CPU Profiling. I checked the logs, and I am not getting any errors (I only get some hornetq warnings about connection timeouts, but the application continues to work just fine).
I have definitely triggered activity that would have definitely caused code in my packages under com.mypackages.** to be executed. I have used JVisualVM with other containers, and with them it has worked fine for me (I don't recall having to do any more than what I have already done here with JBoss AS 7).
My application consists of a number of EAR and WAR non exploded files, all deployed in the one JBoss AS container. They are explicitly deployed using CLI commands - not merely copied into the deployments directory (in case that makes any difference).
Is there any other setting / configuration, classpath, etc I need to change for this environment, in order to see my application classes in the CPU Profiling view ?