Table of Contents

Enum GaugeId

Namespace
Typhon.Profiler
Assembly
Typhon.Profiler.dll

Stable wire-contract identifier for a single gauge value carried inside a PerTickSnapshot record.

public enum GaugeId : ushort

Fields

GcHeapCommittedBytes = 277

Total bytes the GC has committed from the OS. Value kind: U64Bytes.

GcHeapGen0Bytes = 272

Gen0 size after last GC, in bytes. Value kind: U64Bytes.

GcHeapGen1Bytes = 273

Gen1 size after last GC, in bytes. Value kind: U64Bytes.

GcHeapGen2Bytes = 274

Gen2 size after last GC, in bytes. Value kind: U64Bytes.

GcHeapLohBytes = 275

Large-object-heap size after last GC, in bytes. Value kind: U64Bytes.

GcHeapPohBytes = 276

Pinned-object-heap size after last GC, in bytes. Value kind: U64Bytes.

MemoryFragmentationPctHundredths = 259

Allocator fragmentation ratio expressed as hundredths-of-percent (e.g. 5025 = 50.25%). Value kind: U32PercentHundredths.

MemoryPoolFreeBlocksStride1024 = 264

Free-block count for stride-1024 pool. Value kind: U32Count.

MemoryPoolFreeBlocksStride128 = 261

Free-block count for stride-128 pool. Value kind: U32Count.

MemoryPoolFreeBlocksStride2048 = 265

Free-block count for stride-2048 pool. Value kind: U32Count.

MemoryPoolFreeBlocksStride256 = 262

Free-block count for stride-256 pool. Value kind: U32Count.

MemoryPoolFreeBlocksStride4096 = 266

Free-block count for stride-4096 pool. Value kind: U32Count.

MemoryPoolFreeBlocksStride512 = 263

Free-block count for stride-512 pool. Value kind: U32Count.

MemoryPoolFreeBlocksStride64 = 260

Free-block count for stride-64 pool. Value kind: U32Count.

MemoryUnmanagedLiveBlocks = 258

Count of live (not-yet-disposed) PinnedMemoryBlock instances. Value kind: U32Count.

MemoryUnmanagedPeakBytes = 257

All-time peak of MemoryUnmanagedTotalBytes since process start. Value kind: U64Bytes.

MemoryUnmanagedTotalBytes = 256

Running total of unmanaged bytes currently allocated through MemoryAllocator.TrackAllocation. Value kind: U64Bytes.

None = 0

Sentinel — never emitted.

PageCacheCleanUsedPages = 514

Pages used, clean (no pending write). Mutually-exclusive with PageCacheDirtyUsedPages. Value kind: U32Count.

PageCacheDirtyUsedPages = 515

Pages used, dirty (have pending writes awaiting checkpoint). Mutually-exclusive with PageCacheCleanUsedPages. Value kind: U32Count.

PageCacheEpochProtectedPages = 517

Pages pinned by an active epoch guard (cannot be evicted). Value kind: U32Count.

PageCacheExclusivePages = 516

Pages held under exclusive lock by an in-flight writer. Value kind: U32Count.

PageCacheFileSizeBytes = 520

Total file size in bytes for the primary database's MemoryMappedFile. Value kind: U64Bytes.

PageCacheFreePages = 513

Pages currently free (empty slots). Value kind: U32Count.

PageCacheLRUAgeTicks = 519

Stopwatch-tick age of the oldest entry on the LRU list (snapshotted once per tick). Value kind: U64Bytes.

PageCachePendingIoReads = 518

Count of I/O reads currently in flight. Value kind: U32Count.

PageCacheTotalPages = 512

Total pages in the in-memory page cache. Fixed at init — emitted once in the first snapshot. Value kind: U32Count.

TransientStoreBytesUsed = 528

Bytes currently in use by the transient store. Value kind: U64Bytes.

TransientStoreMaxBytes = 529

Configured max bytes for the transient store. Fixed at init — emitted once. Value kind: U64Bytes.

TxChainActiveCount = 1024

Count of active (not-yet-committed) transaction-chain entries. Value kind: U32Count.

TxChainCommitTotal = 1040

Cumulative count of transactions committed since engine start. Value kind: U64Bytes.

TxChainCreatedTotal = 1044

Cumulative count of transactions created since engine start. Viewer subtracts consecutive snapshots for per-tick "transactions started" throughput. Value kind: U64Bytes.

TxChainPoolSize = 1025

Current size of the transaction-chain pool (active + pooled-idle). Value kind: U32Count.

TxChainRollbackTotal = 1041

Cumulative count of transactions rolled back since engine start. Value kind: U64Bytes.

UowRegistryActiveCount = 1026

Count of active entries in the UoW registry. Value kind: U32Count.

UowRegistryCommittedTotal = 1043

Cumulative count of UoW slots committed since engine start. Value kind: U64Bytes.

UowRegistryCreatedTotal = 1042

Cumulative count of UoW slots allocated since engine start. Value kind: U64Bytes.

UowRegistryVoidCount = 1027

Count of void (recovery-orphan) UoW registry entries. Typically zero outside of post-crash recovery. Value kind: U32Count.

WalCommitBufferCapacityBytes = 769

Configured WAL commit buffer capacity. Fixed at init — emitted once. Value kind: U64Bytes.

WalCommitBufferUsedBytes = 768

Bytes currently queued in the WAL commit buffer awaiting drain. Value kind: U64Bytes.

WalInflightFrames = 770

Count of WAL frames submitted but not yet durable on disk. Value kind: U32Count.

WalStagingPoolCapacity = 773

Configured staging pool capacity. Fixed at init — emitted once. Value kind: U32Count.

WalStagingPoolPeakRented = 772

Peak of WalStagingPoolRented since process start. Value kind: U32Count.

WalStagingPoolRented = 771

Count of staging buffers currently checked out from the pool. Value kind: U32Count.

WalStagingTotalRentsCumulative = 774

Cumulative total of staging-pool rents since process start (viewer derives rate as Δ/Δt). Value kind: U64Bytes.

Remarks

Values are 16-bit unsigned and partitioned into category ranges (0x0100 = unmanaged memory, 0x0110 = GC heap, 0x0200 = page cache, 0x0210 = transient store, 0x0300 = WAL, 0x0400 = transactions/UoW). Each category leaves headroom for additional gauges without renumbering. Numeric assignments are part of the .typhon-trace file format — never renumber an existing entry; only append new ones.

The valueKind byte preceding each value in the packed payload declares the on-wire representation (see GaugeValueKind). The expected value kind per gauge is documented in inline comments and must not change without bumping the wire format version.