<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the gprof profiler of the GNU system.

Copyright (C) 1988-2015 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled "GNU Free Documentation License".
 -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU gprof: Callers</title>

<meta name="description" content="GNU gprof: Callers">
<meta name="keywords" content="GNU gprof: Callers">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Call-Graph.html#Call-Graph" rel="up" title="Call Graph">
<link href="Subroutines.html#Subroutines" rel="next" title="Subroutines">
<link href="Primary.html#Primary" rel="prev" title="Primary">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Callers"></a>
<div class="header">
<p>
Next: <a href="Subroutines.html#Subroutines" accesskey="n" rel="next">Subroutines</a>, Previous: <a href="Primary.html#Primary" accesskey="p" rel="prev">Primary</a>, Up: <a href="Call-Graph.html#Call-Graph" accesskey="u" rel="up">Call Graph</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
<hr>
<a name="Lines-for-a-Function_0027s-Callers"></a>
<h4 class="subsection">5.2.2 Lines for a Function&rsquo;s Callers</h4>

<p>A function&rsquo;s entry has a line for each function it was called by.
These lines&rsquo; fields correspond to the fields of the primary line, but
their meanings are different because of the difference in context.
</p>
<p>For reference, we repeat two lines from the entry for the function
<code>report</code>, the primary line and one caller-line preceding it, together
with the heading line that shows the names of the fields:
</p>
<div class="smallexample">
<pre class="smallexample">index  % time    self  children called     name
&hellip;
                0.00    0.05       1/1           main [2]
[3]    100.0    0.00    0.05       1         report [3]
</pre></div>

<p>Here are the meanings of the fields in the caller-line for <code>report</code>
called from <code>main</code>:
</p>
<dl compact="compact">
<dt><code>self</code></dt>
<dd><p>An estimate of the amount of time spent in <code>report</code> itself when it was
called from <code>main</code>.
</p>
</dd>
<dt><code>children</code></dt>
<dd><p>An estimate of the amount of time spent in subroutines of <code>report</code>
when <code>report</code> was called from <code>main</code>.
</p>
<p>The sum of the <code>self</code> and <code>children</code> fields is an estimate
of the amount of time spent within calls to <code>report</code> from <code>main</code>.
</p>
</dd>
<dt><code>called</code></dt>
<dd><p>Two numbers: the number of times <code>report</code> was called from <code>main</code>,
followed by the total number of non-recursive calls to <code>report</code> from
all its callers.
</p>
</dd>
<dt><code>name and index number</code></dt>
<dd><p>The name of the caller of <code>report</code> to which this line applies,
followed by the caller&rsquo;s index number.
</p>
<p>Not all functions have entries in the call graph; some
options to <code>gprof</code> request the omission of certain functions.
When a caller has no entry of its own, it still has caller-lines
in the entries of the functions it calls.
</p>
<p>If the caller is part of a recursion cycle, the cycle number is
printed between the name and the index number.
</p></dd>
</dl>

<p>If the identity of the callers of a function cannot be determined, a
dummy caller-line is printed which has &lsquo;<samp>&lt;spontaneous&gt;</samp>&rsquo; as the
&ldquo;caller&rsquo;s name&rdquo; and all other fields blank.  This can happen for
signal handlers.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Subroutines.html#Subroutines" accesskey="n" rel="next">Subroutines</a>, Previous: <a href="Primary.html#Primary" accesskey="p" rel="prev">Primary</a>, Up: <a href="Call-Graph.html#Call-Graph" accesskey="u" rel="up">Call Graph</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>



</body>
</html>
