Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-updates > by-pkgid > 980454968a80b8b2e4d193130efcb355 > files > 49

mono-doc-2.10.9-4.1.mga3.noarch.rpm

<?xml version="1.0" encoding="us-ascii"?><span>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title>mono-api-counters.html</title>
   <style type="text/css">


   h3 { 
       font-size: 18px;
       padding-bottom: 4pt;
       border-bottom: 2px solid #dddddd;
   }
       
   .api {
     border: 1px solid;
     padding: 10pt;
     margin: 10pt;
   } 

   .api-entry { 
       border-bottom: none;
       font-size: 18px;
   }

   .prototype {
     border: 1px solid;
     background-color: #f2f2f2;
     padding: 5pt;
     margin-top: 5pt;
     margin-bottom: 5pt;  
   } 

   .header {
     border: 1px solid;
     padding: 0 0 5pt 5pt;
     margin: 10pt;
     white-space: pre;
       font-family: monospace;
   }
    
   .code {
     border: 1px solid;
     padding: 0 0 5pt 5pt;
     margin: 10pt;
     white-space: pre;
       font-family: monospace;
   }
   

</style>
</head>
<body>
<h2>Counters</h2>
	
	<p />Counters is a Mono API for flexible statistics collection
	and is used to track different events inside the JIT.

        <p />You would typically register an address with the
        <tt>mono_counters_register</tt> routine and increment the
        counters from your application as you go.   At the end of the
        program you would call mono_counters_dump which will display
        all the registered counters.

	<p />If you need more complicated counter computation, a
        function can be provided instead of an address.  In that case
        the <tt>MONO_COUNTER_CALLBACK</tt> flag must be ored in the
        type request. 

	<p />The types that can be rendered are:
		
<pre>
       MONO_COUNTER_INT
       MONO_COUNTER_UINT
       MONO_COUNTER_WORD
       MONO_COUNTER_LONG
       MONO_COUNTER_ULONG
       MONO_COUNTER_DOUBLE
       MONO_COUNTER_STRING
</pre>
	
	<p />To organize the output, you register also a section where
	the counter will be displayed, or one of the following values
	when you register your counter:

<pre>

       MONO_COUNTER_JIT
       MONO_COUNTER_GC
       MONO_COUNTER_METADATA
       MONO_COUNTER_GENERICS
       MONO_COUNTER_SECURITY
</pre>
	
 <a name="api:mono_counters_dump"></a>
 <div class="api">
    <div class="api-entry">mono_counters_dump</div>

    <div class="prototype">void
mono_counters_dump (int section_mask, FILE *outfile)

</div>
<p />
<b>Parameters</b>
<blockquote><dt><i>section_mask:</i></dt><dd> The sections to dump counters for</dd><dt><i>outfile:</i></dt><dd> a FILE to dump the results to</dd></blockquote>
<b>Remarks</b>
<p />	 
	 Displays the counts of all the enabled counters registered. 

</div> <a name="api:mono_counters_enable"></a>
 <div class="api">
    <div class="api-entry">mono_counters_enable</div>

    <div class="prototype">void
mono_counters_enable (int section_mask)

</div>
<p />
<b>Parameters</b>
<blockquote><dt><i>section_mask:</i></dt><dd> a mask listing the sections that will be displayed</dd></blockquote>
<b>Remarks</b>
<p />	 
	 This is used to track which counters will be displayed.

</div></body>
</html>
</span>