question

Richard L. avatar image
Richard L. asked ·

What the exactly mean of "Estimated CPU-Overhead" measure?

Hi,

I found this measure "Estimated CPU-Overhead" in "dynaTrace Self-Monitoring" profile, but I'm not sure the exactly mean of it.

Can someone help me to understand it?

And, I also found this measure only provide data for Java agents, not for .Net agents.

Thanks in advance,

Richard

10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

Richard L. avatar image
Richard L. answered ·

Hi Andreas,

Thanks for your reply and explanation, the measure estimate the CPU overhead of the SUD cause by agent, am I correct?

Based on your suggestion, I created a 10 mins CPU sampling. May I measure the CPU overhead by this formula : 

0.185 / 8 * 100% = 2.3125 %
Thanks,
Richard

1 comment Share
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.

Thats correct. based on these numbers it seems you only had very little load on your system as you only had 8s on the CPU in a period of 10min. On a real environment I would definitely measure the overhead with a higher load

As for the next steps from here
a) click on the dynaTrace Instrumentation CPU overhead
b) sort the upcoming list by CPU Time (highest contributor on top)
c) drill into those trees until you end up at a method instrumented by a Sensor, e.g: doGet, doPost, executeStatement, ...
d) in case you need to bring overhead down it helps you to identify which sensors to first attack, e.g: capture fewer HTTP Paramters in your servlet sensor or exclude certain URLs. In case of the exception sensor showing up high CPU time I suggest excluding exceptions that are thrown very often but that dont give you a lot of value for diagnostics. I would also either turn off Stack Trace capturing for exceptions or at least lower the depth of the stacktrace setting

hope this helps

1 Like 1 · ·
Andreas G. avatar image
Andreas G. answered ·

Hi

As the measure description says. It is an "estimate" on the CPU Overhead we cause on the Agents. This measure is actually going away in dynaTrace 4.2 as it is really hard to get a good estimate on the actual CPU overhead without incuring additional overhead to measure it.

The best way to measure overhead is to use our CPU Sampling. when you look at a CPU Sampling Session you will see a link on the first tab that highlights the time spent in dynaTrace Introspection Code (thats the code we instrument into the application based on the placed Sensors). From there you can drill back up the sample trace and find out which sensors are involved in it.

Hope this helps

Share
10 |2000000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 50.0 MiB each and 250.0 MiB total.