| Value | Meaning |
|---|---|
| MONO_COUNTER_INT | Counter type, bits 0-7. |
| MONO_COUNTER_UINT | 32 bit uint |
| MONO_COUNTER_WORD | pointer-sized int |
| MONO_COUNTER_LONG | 64 bit int |
| MONO_COUNTER_ULONG | 64 bit uint |
| MONO_COUNTER_DOUBLE | |
| MONO_COUNTER_STRING | char* |
| MONO_COUNTER_TIME_INTERVAL | 64 bits signed int holding usecs. |
| MONO_COUNTER_TYPE_MASK0xf | |
| MONO_COUNTER_CALLBACK128 | ORed with the other values |
| MONO_COUNTER_SECTION_MASK0x00ffff00 | |
| MONO_COUNTER_JIT1 << 8 | Sections, bits 8-23 (16 bits) |
| MONO_COUNTER_GC1 << 9 | |
| MONO_COUNTER_METADATA1 << 10 | |
| MONO_COUNTER_GENERICS1 << 11 | |
| MONO_COUNTER_SECURITY1 << 12 | |
| MONO_COUNTER_RUNTIME1 << 13 | |
| MONO_COUNTER_SYSTEM1 << 14 | |
| MONO_COUNTER_PERFCOUNTERS1 << 15 | |
| MONO_COUNTER_PROFILER1 << 16 | |
| MONO_COUNTER_LAST_SECTION | |
| MONO_COUNTER_UNIT_SHIFT24 | Unit, bits 24-27 (4 bits) |
| MONO_COUNTER_UNIT_MASK(0xFu << MONO_COUNTER_UNIT_SHIFT) | |
| MONO_COUNTER_RAW0 << 24 | Raw value |
| MONO_COUNTER_BYTES1 << 24 | Quantity of bytes. RSS, active heap, etc |
| MONO_COUNTER_TIME2 << 24 | Time interval in 100ns units. Minor pause, JIT compilation |
| MONO_COUNTER_COUNT3 << 24 | Number of things (threads, queued jobs) or Number of events triggered (Major collections, Compiled methods). |
| MONO_COUNTER_PERCENTAGE4 << 24 | [0-1] Fraction Percentage of something. Load average. |
| MONO_COUNTER_VARIANCE_SHIFT28 | Monotonicity, bits 28-31 (4 bits) |
| MONO_COUNTER_VARIANCE_MASK(0xFu << MONO_COUNTER_VARIANCE_SHIFT) | |
| MONO_COUNTER_MONOTONIC1 << 28 | This counter value always increase/decreases over time. Reported by --stat. |
| MONO_COUNTER_CONSTANT1 << 29 | Fixed value. Used by configuration data. |
| MONO_COUNTER_VARIABLE1 << 30 | This counter value can be anything on each sampling. Only interesting when sampling. |