System information

Using the Profiler to Troubleshoot Performance Problems
Page 150 Identity Manager 7.1 Update 1 Release Notes
Self Time Statistics
To compute a root node’s Self Time statistic, the Profiler subtracts the times of all children nodes
from the root node’s total time.
Consequently, an uninstrumented child nodes time is reflected in the root nodes self time. If a root
node has a significant self time, you should certainly investigate why. You might not have the
proper methods instrumented and so you are looking in the wrong place.
For example, assume method A calls method B.
Method A takes a total time of 10 seconds (where total time includes the call to B) and the call to B
takes a total time of 10 seconds.
If both A and B are instrumented, the call stack reflects that information. You will see that A has a
self-time of 0 seconds and that B has a self-time of 10 seconds (where 10 seconds was actually spent
in B). If, however, B is not instrumented, you only see that the call to A takes 10 seconds and that
A's self-time is 10 seconds. Consequently, you might assume the problem lies directly in A rather
than in B.
In particular, you might notice large self times on JSPs during their initial compile. If you reset the
collected results and then redisplay the page, the self time value will be much less.
Constructor Calls
Because there are limitations in the Java instrumentation strategy, initial calls to
this()
or
super()
will appear as a sibling to the constructor call, rather than as a child. See the following example: