Counters is a Mono API for flexible statistics collection and is used to track different events inside the JIT.
You would typically register an address with the mono_counters_register 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.
If you need more complicated counter computation, a function can be provided instead of an address. In that case the MONO_COUNTER_CALLBACK flag must be ored in the type request.
The types that can be rendered are:
       MONO_COUNTER_INT
       MONO_COUNTER_UINT
       MONO_COUNTER_WORD
       MONO_COUNTER_LONG
       MONO_COUNTER_ULONG
       MONO_COUNTER_DOUBLE
       MONO_COUNTER_STRING
	
	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:
       MONO_COUNTER_JIT
       MONO_COUNTER_GC
       MONO_COUNTER_METADATA
       MONO_COUNTER_GENERICS
       MONO_COUNTER_SECURITY