Fully featured low overhead profiler for Java EE and Java SE platforms.
Ultimate profiling and monitoring solution for Gradle, Maven, Ant, JUnit and TestNG.
Easy to use performance and memory profiler for .NET framework.

Awful Slowdowns

Moderators: Vladimir Kondratyev, Anton Katilin

Postby Tobbe » Fri Feb 22, 2008 4:17 pm

Just read from help pages

Connect to locally running profiled application

The profiler will show all detected locally running profiled applications on the Welcome screen:

A "locally running profiled application" is an application running and being profiled on the same computer where you are now using the profiler UI.


Guess that answers my question...
Tobbe
 
Posts: 72
Joined: Thu Feb 21, 2008 11:08 am

Postby Anton Katilin » Fri Feb 22, 2008 4:22 pm

Please let me again describe the idea.

"Enable profiling" _does not_ mean "start profiling".

Instead this means only one: application with _enabled profiling_ is capable of being profiled. Such application just loads a profiler agent library which sleeps until you connect to it (if ever) from profiler.

This means that if you want you can monitor it, profile it etc. When you do so, there will be some overhead.

When you don't do CPU sampling or tracing, there is nothing special happening in the profiling enabled application.

So enabling profiling does not affect execution of profiling-enabled applications.

There is only one exception: enabling of CPU tracing. This special mode due to .NET framework profiling architecture implementation can add overhead even if no CPU profiling is being performed.

To solve this, there was special mode added: enable profiling without CPU tracing.

There is absolutely no drawbacks in enabling profiling in this mode in any application.


Please read more http://www.yourkit.com/docs/net30/help/ ... /index.jsp
http://www.yourkit.com/docs/net30/help/ ... erhead.jsp

If not, this is no good, we have alot of small .NET applikations that helps us in our daily work. I dont want to add/remove/add/remove/etc them from the exclusion list every time i want to profile a specific applikation.


You don't have to alter the list.

Instead, just do the following:
- set mode to "Enable without CPU tracing"

- if a need to profile with tracing arises, a) switch the level b) start that application c) switch the level back. This does not affect your multiple small applications.

Profiling every single .NET application on the system, trashing performance in the process, isn't acceptable.


Absolutely.

But enabling != profiling.

Used approach gives you much more freedom.

1. If you wish to profile certain application only, keep "Profiling disabled" setting. Switch it on only right before starting your application to profile. Then switch it off. All works similar to traditional scheme: you perform special actions to profile certain application.

2. Very often having an application running which eventually starts misbehaving, one thinks "I wished I could profile it". In traditional scheme, this means that: application should be restarted with a profiler. But often, re-starting it with a profiler, its very hard or even impossible to re-create problematic state.
YourKit approach allows to profile whenever a need arises. This is a huge benefit.
Anton Katilin
 
Posts: 5575
Joined: Wed Aug 11, 2004 8:37 am

Postby Tobbe » Mon Feb 25, 2008 8:14 am

2. Very often having an application running which eventually starts misbehaving, one thinks "I wished I could profile it". In traditional scheme, this means that: application should be restarted with a profiler. But often, re-starting it with a profiler, its very hard or even impossible to re-create problematic state.
YourKit approach allows to profile whenever a need arises. This is a huge benefit.


Totaly agree, thats one of the features i like with yourkit. However, it seems that even if i close yourkit it is still profiling in backgound (slowdows). I tried the following:
1. Started Yourkit, enabled profile with tracing. No apps running.
2. Closed Yourkit
3. Started my .NET app and the slowdonw is there.

1. Started Yourkit disabled profile. No apps running.
2. Closed Yourkit
3. Started my .NET app no slowdown.
Tobbe
 
Posts: 72
Joined: Thu Feb 21, 2008 11:08 am

Postby Anton Katilin » Tue Feb 26, 2008 2:05 pm

You're absolutely right.

Currently, whether profiling is enabled does not depend on whether the profiler UI is running or not.

Because there are people who find this confusing, we will change it so that enabling will only be effective if the profiler UI is running.
Anton Katilin
 
Posts: 5575
Joined: Wed Aug 11, 2004 8:37 am

Postby Vladimir Kondratyev » Thu Mar 06, 2008 6:36 pm

Please try version 3.0.5 http://www.yourkit.com/dotnet/
It should solve this issue.

Best regards,
Vladimir Kondratyev
YourKit, LLC
http://www.yourkit.com
"Don't get lost in data, get information!"
Vladimir Kondratyev
 
Posts: 1444
Joined: Tue Aug 10, 2004 7:52 pm
Location: Düsseldorf, Germany

Previous

Return to .NET Profiler

Who is online

Users browsing this forum: No registered users and 2 guests