Remote profiling blocks the JVM

Questions about YourKit Java Profiler
Post Reply
Aaron G
Posts: 33
Joined: Sat Dec 15, 2007 3:27 pm

Remote profiling blocks the JVM

Post by Aaron G »

When remote profiling is used the entire JVM is blocked until the profiling client received the live updates. If the network connection is slow then the VM can be blocked for half a minute and more, which makes it difficult to profile realtime behavior.

currently yourkit seems to be doing:

lock -> send data to profiling client -> unlock

i think the client should do this instead:

lock -> copy data -> release lock -> send copy to profiling client


I think the additional memory cost to copy the data is preferable over a network connection blocking the entire JVM.
Anton Katilin
Posts: 6172
Joined: Wed Aug 11, 2004 8:37 am

Re: Remote profiling blocks the JVM

Post by Anton Katilin »

Hello Aaron

Thank you for the suggestion. We'll consider it for the next version.

How slow is connection in your case? Usually, the size of transferred data is comparable with the size of the application's performance snapshot.

Best regards,
Anton
Aaron G
Posts: 33
Joined: Sat Dec 15, 2007 3:27 pm

Re: Remote profiling blocks the JVM

Post by Aaron G »

It's 1Mbit. It's fast enough to transfer the data, especially when i pause the yourkit client and only use refresh manually.

But the data grows over time (especially the thread view i think) and when i hit refresh after several minutes it pauses the VM for the time it takes to transfer the data (20 seconds and more).
Anton Katilin
Posts: 6172
Joined: Wed Aug 11, 2004 8:37 am

Re: Remote profiling blocks the JVM

Post by Anton Katilin »

Perhaps, you have very many threads.

Anyway, we've added a change request for next version to address the issue.
Anton Katilin
Posts: 6172
Joined: Wed Aug 11, 2004 8:37 am

Re: Remote profiling blocks the JVM

Post by Anton Katilin »

Fixed in build 14026:
http://www.yourkit.com/eap/
Post Reply