<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->

<book xml:id="book.xhprof" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 <?phpdoc extension-membership="pecl" ?>
 <title>Hierarchical Profiler</title>
 <titleabbrev>Xhprof</titleabbrev>

 <preface xml:id="intro.xhprof">
  &reftitle.intro;
  <para>
   XHProf is a light-weight hierarchical and instrumentation based profiler. 
   During the data collection phase, it keeps track of call counts and inclusive
   metrics for arcs in the dynamic callgraph of a program. It computes exclusive
   metrics in the reporting/post processing phase, such as wall (elapsed) time,
   CPU time and memory usage. A functions profile can be broken down by callers 
   or callees. XHProf handles recursive functions by detecting cycles in the
   callgraph at data collection time itself and avoiding the cycles by giving unique
   depth qualified names for the recursive invocations.
  </para>
  <para>
   XHProf includes a simple HTML based user interface (written in PHP). The browser based
   UI for viewing profiler results makes it easy to view results or to share results
   with peers. A callgraph image view is also supported.
  </para>
  <para>
   XHProf reports can often be helpful in understanding the structure of the code
   being executed. The hierarchical nature of the reports can be used to determine,
   for example, what chain of calls led to a particular function getting called.
  </para>
  <para>
   XHProf supports ability to compare two runs (a.k.a. "diff" reports) or aggregate
   data from multiple runs. Diff and aggregate reports, much like single run reports,
   offer "flat" as well as "hierarchical" views of the profile.
  </para>
  <para>
   Additional documentation can be found via the
   <link xlink:href="&url.xhprof.docs.facebook;">facebook xhprof</link> website.
  </para>
 </preface>

 &reference.xhprof.setup;
 &reference.xhprof.constants;
 &reference.xhprof.examples;
 &reference.xhprof.reference;

</book>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
