hello, it s a bit of a puzzle signification of caller breakdown.
In the screenshot below, we can see the Engine$2.run() method takes 46.09s, and if we have a look on caller breakdown we can see who is calling it.
We have also the breakdown of CPU (59%) and IO (41%).
But what does it means ?
I don't think it is just at this method level (I mean just within this method, excluding callee) than 27 s are spent in processing (59% of 46 s) and 19 s are spent in io (41 % of 46 s).
I guess it is the time spent from this method, including callees. But in this case why all those information are linked to this method and not for instance at the caller method just above ? In other world what is the business rule to detect those values and assign them to a method level.
Pierre
Answer by Andreas G. ·
Its because every time when we take our Auto Sensor Snapshots (looking at current stack trace) we always saw Engine$2.run as the current executing method and not OriginatorExecutionService.
You can drill from here to the PurePath - this will also show you that the time is booked on Engine2 becuase thats the method that was at the end of the Snapshot we took
Makes sense?
Answer by Pierre D. ·
Hi Andreas,
so it means Engine$2.run() took being executed 46.09s j, including the methods called inside this method.
But why Dynatrace count this time at Engine2$run() and not at OriginatorExecutorService$2.run() ?
Is it due to the stacktrace taken often by Dynatrace to count the time spent in method ? in this case most of stacktrace done concern the Engine$2.run ?
Answer by Andreas G. ·
Hi Pierre
It means that dynaTrace saw the Engine$2.run method being executed 46.09s in the selected time interval, e.g: the last 30 minutes
Whenever we see the method executed we capture in which state the method is, e.g: is it executing code (=CPU), is it waiting for someting (=Wait), is it waiting for a sync bloc (=Sync) or is it doing something else (=IO). In your case the run method itself was seen exeucting code in 59% of the time. The rest was I/O activity. It really means that this method spent that time in CPU & I/O. The caller breakdown shows you who actually called that method
JANUARY 15, 3:00 PM GMT / 10:00 AM ET