MONO_COUNTER_INT

Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Values

ValueMeaning
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.

Meta