<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Developer Information</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" content="C++, library, profile" /><meta name="keywords" content="ISO C++, library" /><meta name="keywords" content="ISO C++, runtime, library" /><link rel="home" href="../index.html" title="The GNU C++ Library" /><link rel="up" href="profile_mode.html" title="Chapter 19. Profile Mode" /><link rel="prev" href="profile_mode_impl.html" title="Implementation Issues" /><link rel="next" href="profile_mode_diagnostics.html" title="Diagnostics" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Developer Information</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="profile_mode_impl.html">Prev</a> </td><th width="60%" align="center">Chapter 19. Profile Mode</th><td width="20%" align="right"> <a accesskey="n" href="profile_mode_diagnostics.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.profile_mode.developer"></a>Developer Information</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.bigpic"></a>Big Picture</h3></div></div></div><p>The profile mode headers are included with
   <code class="code">-D_GLIBCXX_PROFILE</code> through preprocessor directives in
   <code class="code">include/std/*</code>.
  </p><p>Instrumented implementations are provided in
   <code class="code">include/profile/*</code>.  All instrumentation hooks are macros
   defined in <code class="code">include/profile/profiler.h</code>.
  </p><p>All the implementation of the instrumentation hooks is in
   <code class="code">include/profile/impl/*</code>.  Although all the code gets included,
   thus is publicly visible, only a small number of functions are called from
   outside this directory.  All calls to hook implementations must be
   done through macros defined in <code class="code">profiler.h</code>.  The macro
   must ensure (1) that the call is guarded against reentrance and
   (2) that the call can be turned off at compile time using a
   <code class="code">-D_GLIBCXX_PROFILE_...</code> compiler option.
  </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.profile_mode.developer.howto"></a>How To Add A Diagnostic</h3></div></div></div><p>Let's say the diagnostic name is "magic".
  </p><p>If you need to instrument a header not already under
   <code class="code">include/profile/*</code>, first edit the corresponding header
   under <code class="code">include/std/</code> and add a preprocessor directive such
   as the one in <code class="code">include/std/vector</code>:
</p><pre class="programlisting">
#ifdef _GLIBCXX_PROFILE
# include &lt;profile/vector&gt;
#endif
</pre><p>
  </p><p>If the file you need to instrument is not yet under
   <code class="code">include/profile/</code>, make a copy of the one in
   <code class="code">include/debug</code>, or the main implementation.
   You'll need to include the main implementation and inherit the classes
   you want to instrument.  Then define the methods you want to instrument,
   define the instrumentation hooks and add calls to them.
   Look at <code class="code">include/profile/vector</code> for an example.
  </p><p>Add macros for the instrumentation hooks in
   <code class="code">include/profile/impl/profiler.h</code>.
   Hook names must start with <code class="code">__profcxx_</code>.
   Make sure they transform
   in no code with <code class="code">-D_NO_GLIBCXX_PROFILE_MAGIC</code>.
   Make sure all calls to any method in namespace <code class="code">__gnu_profile</code>
   is protected against reentrance using macro
   <code class="code">_GLIBCXX_PROFILE_REENTRANCE_GUARD</code>.
   All names of methods in namespace <code class="code">__gnu_profile</code> called from
   <code class="code">profiler.h</code> must start with <code class="code">__trace_magic_</code>.
  </p><p>Add the implementation of the diagnostic.
   </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
      Create new file <code class="code">include/profile/impl/profiler_magic.h</code>.
     </p></li><li class="listitem"><p>
      Define class <code class="code">__magic_info: public __object_info_base</code>.
      This is the representation of a line in the object table.
      The <code class="code">__merge</code> method is used to aggregate information
      across all dynamic instances created at the same call context.
      The <code class="code">__magnitude</code> must return the estimation of the benefit
      as a number of small operations, e.g., number of words copied.
      The <code class="code">__write</code> method is used to produce the raw trace.
      The <code class="code">__advice</code> method is used to produce the advice string.
     </p></li><li class="listitem"><p>
      Define class <code class="code">__magic_stack_info: public __magic_info</code>.
      This defines the content of a line in the stack table.
     </p></li><li class="listitem"><p>
      Define class <code class="code">__trace_magic: public __trace_base&lt;__magic_info,
      __magic_stack_info&gt;</code>.
      It defines the content of the trace associated with this diagnostic.
     </p></li></ul></div><p>
  </p><p>Add initialization and reporting calls in
   <code class="code">include/profile/impl/profiler_trace.h</code>.  Use
   <code class="code">__trace_vector_to_list</code> as an example.
  </p><p>Add documentation in file <code class="code">doc/xml/manual/profile_mode.xml</code>.
  </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="profile_mode_impl.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="profile_mode_diagnostics.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Implementation Issues </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Diagnostics</td></tr></table></div></body></html>