Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Drilling down in VisualVM

Tags:

java

visualvm

I just installed Java 1.6_07 so I could try profiling with VisualVM. It tells me that my app is spending 60% of its time in sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run

How do I find out what it was doing during that time? How much of the time was it waiting for something to call it, or doing something else? What was calling it and what was it calling? I just can't seem to find any way to drill down to deeper levels like there is in Quantify or the Perl profiler.

like image 727
Paul Tomblin Avatar asked Sep 12 '08 12:09

Paul Tomblin


2 Answers

I don't have experience with VisualVM -- but JRockit's profiler does provide this information; you may consider using it instead.

Update: a question with a list of java profilers can be found here, for users with sufficient rep to view deleted questions.

like image 196
Charles Duffy Avatar answered Oct 11 '22 12:10

Charles Duffy


Does your App use RMI over TCP? If not, is it possible that this is a heisenbug, caused by instrumenting the VM? I assume VisualVM must use RMI calls to figure out what's going on in the JVM....

like image 31
Tim Howland Avatar answered Oct 11 '22 12:10

Tim Howland