gprof: Callers
1
1 5.2.2 Lines for a Function's Callers
1 ------------------------------------
1
1 A function's entry has a line for each function it was called by. These
1 lines' fields correspond to the fields of the primary line, but their
1 meanings are different because of the difference in context.
1
1 For reference, we repeat two lines from the entry for the function
1 'report', the primary line and one caller-line preceding it, together
1 with the heading line that shows the names of the fields:
1
1 index % time self children called name
1 ...
1 0.00 0.05 1/1 main [2]
1 [3] 100.0 0.00 0.05 1 report [3]
1
1 Here are the meanings of the fields in the caller-line for 'report'
1 called from 'main':
1
1 'self'
1 An estimate of the amount of time spent in 'report' itself when it
1 was called from 'main'.
1
1 'children'
1 An estimate of the amount of time spent in subroutines of 'report'
1 when 'report' was called from 'main'.
1
1 The sum of the 'self' and 'children' fields is an estimate of the
1 amount of time spent within calls to 'report' from 'main'.
1
1 'called'
1 Two numbers: the number of times 'report' was called from 'main',
1 followed by the total number of non-recursive calls to 'report'
1 from all its callers.
1
1 'name and index number'
1 The name of the caller of 'report' to which this line applies,
1 followed by the caller's index number.
1
1 Not all functions have entries in the call graph; some options to
1 'gprof' request the omission of certain functions. When a caller
1 has no entry of its own, it still has caller-lines in the entries
1 of the functions it calls.
1
1 If the caller is part of a recursion cycle, the cycle number is
1 printed between the name and the index number.
1
1 If the identity of the callers of a function cannot be determined, a
1 dummy caller-line is printed which has '<spontaneous>' as the "caller's
1 name" and all other fields blank. This can happen for signal handlers.
1