What is the meaning of Incl CPU Time, Excl CPU Time, Incl Real CPU Time, Excl Real CPU Time in traceview?

VISHAL VIRADIA picture VISHAL VIRADIA · Apr 2, 2013 · Viewed 9k times · Source

1) Exclusive time is the time spent in the method 2) Inclusive time is the time spent in the method plus the time spent in any called functions 3) We refer to calling methods as "parents" and called methods as "children." Reference Link : Click here

Question here is :

what are difference between

  • Incl CPU Time & Incl Real CPU Time ?
  • Excl CPU Time & Excl Real CPU Time ?

in my one example trace file for Method1() : Incl CPU Time = 242 msec & Incl Real CPU Time = 5012 msec

  • i can not identify reason behind 5012-242 = 4770 msec gap in above both times.

Please help me if you have any idea.

Answer

David picture David · Jul 27, 2013

Here's the DDMS documentation

Incl CPU time is the inclusive cpu time. It is the sum of the time spent in the function itself, as well as the sum of the times of all functions that it calls.

Excl CPU time is the exclusive cpu time. It is only the time spent in the function itself. You'll notice that it is always the same as the "incl time" of the "self" child.

The documentation doesn't clarify the difference between CPU time and real time, but I agree with Neetesh that CPU time is the time that the function is actually running (this would not include waiting on IO) and the real time is the wall clock time (which would include time spent doing IO).