| |||
| Home > Analyzing Trace with the Analysis Window > Viewing captured profiling information > Interpreting profiling data | |||
To help you to interpret the profiling data, you can choose one or more Data Interpretation options from the Profiling Data menu. These options are:
Instructs RealView Debugger to ignore holes in the trace data caused by discontinuities. Discontinuities might occur, for example, when the processor is in debug state, or when tracing is disabled. When this option is selected, holes are not included in the whole time used to calculate the values for Exec% and B=>E%.
When this option is selected, the length of the histogram bar is calculated using a logarithmic function of the Exec% or B=>E% value. When this option is disabled, a simple linear scale is used.
Enables you to specify the value that time percentages are calculated relative to. When this option is selected, the values shown for Exec% and B=>E% for parents and children are shown as a percentage of the whole time traced. This setting is the default.
See Viewing the Parent/Child %ages Relative to Whole Time for detailed information on how to interpret call-graph data when this option is selected.
Enables you to specify the value that time percentages are calculated relative to. When this option is selected, the values shown for Exec% and B=>E% for parents and children are shown relative to the total B=>E time of the function.
See Viewing the Parent/Child %ages Relative to Function B=>E for detailed information on how to interpret call-graph data when this option is selected.
Enables you to specify the value that time percentages are calculated relative to. When this option is selected, the values shown for Exec% and B=>E% for parents and children are shown relative to the B=>E time of the parents and children.
See Viewing the Parent/Child %ages Relative to Parent/Child B=>E for detailed information on how to interpret call-graph data when this option is selected.
B=>E refers to Beginning to End.
This is the default view. When this option is selected, the
values shown for Exec% and B=>E% for parents
and children are shown as a percentage of the whole time traced. Figure 9.22 gives an example
of call-graph data for a function with its parents and children.
In this example, when Parent/Child %ages Relative to Whole Time is selected:
The Exec% column
shows that:
2.36% of the total execution
time was spent in code of the function Proc_6 when called
from the parent Proc_1.
2.43% of the total execution time was spent in code
of the function Proc_6 when called from the parent Proc_2.
4.79% of the total execution time was spent in code
of the function Proc_6.
0.53% of the total execution time was spent in code
of the function Func_2 when called as a child
from Proc_6.
1.07% of the total execution time was spent in code
of the function Func_3 when called as a child
from Proc_6.
The B=>E% column shows that:
3.15% of the total execution time was spent in calls
to function Proc_6 and its children when called
from the parent Proc_1.
3.24% of the total execution time was spent in calls
to function Proc_6 and its children when called
from the parent Proc_2.
6.39% of the total execution time was spent in calls
to function Proc_6 and its children.
0.53% of the total execution time was spent in code
of the function Func_2 and its children when
called as a child from Proc_6.
1.07% of the total execution time was spent in code
of the function Func_3 and its children when
called as a child from Proc_6.
The Count column shows that:
There were 39 calls from the function Proc_1 to
the function Proc_6.
There were 110 calls from the function Proc_2 to
the function Proc_6
There were 149 calls to the function Proc_6.
There were 29 calls to the function Func_2 from
the function Proc_6.
There were 149 calls to the function Func_3 from
the function Proc_6.
When this option is selected, the values shown for Exec% and B=>E% for
parents and children are shown relative to the total B=>E time of
the function. Figure 9.23 gives
an example of call-graph data for a function with its parents and
children.
In this example, when Parent/Child %ages Relative to Function B=>E is selected:
The Exec% column
shows that:
36.93% of the total time
spent in Proc_6 and its children was spent in Proc_6 when called
from Proc_1.
38.03% of the total time spent in Proc_6 and
its children was spent in Proc_6 when called
from Proc_2.
8.29% of the total time spent in Proc_6 and
its children was spent in Func_2 when called
from Proc_6.
16.74% of the total time spent in Proc_6 and
its children was spent in Func_3 when called
from Proc_6.
These four figures add up to 100% because the total time spent
in Proc_6 and its children is divided between
the time spent in Proc_6 when called from its
parents, and the time spent in the children when called from Proc_6.
This is because, in this example, there are no grandchildren.
The B=>E% column shows that:
49.30% of the total time was spent in Proc_6 and
its children when Proc_6 was called from Proc_1.
50.70% of the total time was spent in Proc_6 and
its children when Proc_6 was called from Proc_2.
8.29% of the total time spent in Proc_6 and
its children was spent in Func_2 and its children
when called from Proc_6.
This figure is the same as that in the Exec% column only because there are no grandchildren.
16.74% of the total time spent in Proc_6 and
its children was spent in Func_3 and its children
when called from Proc_6.
This figure is the same as that in the Exec% column only because there are no grandchildren.
The value for the parents always totals 100%. The total time is split between the parents.
When this option is selected, the values shown for Exec% and B=>E% for
parents and children are shown relative to the B=>E time of the
parents and children. Figure 9.24 gives an example of call-graph data for
a function with its parents and children.
In this example, when Parent/Child %ages Relative to Parent/Child B=>E is selected:
The Exec% column shows that:
10.30% of the total time spent in Proc_1 and
its children was spent in Proc_6 when called
from Proc_1.
38.40% of the total time spent in Proc_2 and
its children was spent in Proc_6 when called
from Proc_2.
50.00% of the total time spent in Func_2 and
its children was spent in Func_2 when called
from Proc_6
16.74% of the total time spent in Func_3 and
its children was spent in Func_3 when called
from Proc_6.
The B=>E% column shows that:
13.74% of the total time spent in Proc_6 and
its children was spent in Proc_6 and its children
when called from Proc_1.
51.20% of the total time spent in Proc_6 and
its children was spent in Proc_6 and its children
when called from Proc_2.
50.00% of the total time spent in Proc_6 and
its children was spent in Func_2 and its children
when called from Proc_6.
This figure is the same as that in the Exec% column only because there are no grandchildren.
16.74% of the total time spent in Proc_6 and
its children was spent in Func_3 and its children
when called from Proc_6.
This figure is the same as that in the Exec% column only because there are no grandchildren.