> For the complete documentation index, see [llms.txt](https://docs.rumi.systems/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rumi.systems/rumi-core/reference/heartbeats.md).

# Heartbeats

Complete reference of all fields in a container heartbeat message.

For configuring heartbeat emission, see [Container Heartbeats (Configuring)](/rumi-core/guides/developing-applications/configuring-the-runtime/monitoring/xvm-heartbeats.md). For understanding heartbeat output, see [Container Heartbeats (Operating)](/rumi-core/guides/operating-applications/monitoring/container-heartbeats.md).

## Heartbeat Message (`SrvMonHeartbeatMessage`)

The top-level heartbeat message emitted by a container at regular intervals.

| Field                   | Type                                                                             | Description                                                                                    |
| ----------------------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| xvmHeader               | [SrvMonXvmHeader](#container-header-srvmonxvmheader)                             | Header information about the source container.                                                 |
| collectionStartWallTime | Long                                                                             | The collection start time in milliseconds since the Epoch (e.g. `System.currentTimeMillis()`). |
| collectionStartTime     | Long                                                                             | The collection start time in nanoseconds (e.g. `System.nanoTime()`).                           |
| collectionEndTime       | Long                                                                             | The collection end time in nanoseconds (e.g. `System.nanoTime()`).                             |
| serverName              | String                                                                           | The name of the container.                                                                     |
| serverHostName          | String                                                                           | The container's hostname.                                                                      |
| serverPid               | String                                                                           | The container process ID.                                                                      |
| loadedTime              | Date                                                                             | The time at which the container loaded.                                                        |
| systemName              | String                                                                           | The name of the system to which the container belongs.                                         |
| systemVersion           | String                                                                           | The version of the system to which the container belongs.                                      |
| sysStats                | [SrvMonSysStats](#system-stats-srvmonsysstats)                                   | System-level stats such as CPU, disk, and memory usage.                                        |
| poolStats               | [SrvMonPoolStats\[\]](#pool-stats-srvmonpoolstats)                               | Process-wide object pooling stats.                                                             |
| appsInfo                | [SrvMonAppInfo\[\]](#service-info-srvmonappinfo)                                 | Information about the services configured for this container.                                  |
| appsStats               | [SrvMonAppStats\[\]](#service-stats-srvmonappstats)                              | Platform and user stats for loaded services.                                                   |
| adminClientStats        | [SrvMonAdminClientStats\[\]](#admin-client-stats-srvmonadminclientstats)         | Stats related to admin client connections.                                                     |
| heartbeatLoggerStats    | [SrvMonAppMessageLoggerStats](#message-logger-stats-srvmonappmessageloggerstats) | Logger stats for the container's binary heartbeat log (if enabled).                            |

### Container Header (`SrvMonXvmHeader`)

Header information supplied on monitoring events originating from a container.

| Field               | Type    | Description                                      |
| ------------------- | ------- | ------------------------------------------------ |
| systemName          | String  | The name of the system.                          |
| systemVersion       | String  | The version of the system.                       |
| xvmHeartbeatVersion | Integer | The heartbeat protocol version of the container. |
| xvmName             | String  | The name of the container.                       |

### System Stats (`SrvMonSysStats`)

System-level stats related to the JVM and host on which the container is running.

| Field               | Type                                                       | Description                                         |
| ------------------- | ---------------------------------------------------------- | --------------------------------------------------- |
| availableProcessors | Integer                                                    | The number of processors available to the JVM.      |
| systemLoadAverage   | Double                                                     | The system load average for the last minute.        |
| processCpuLoad      | Double                                                     | Recent CPU usage by the process (0.0 to 1.0 scale). |
| systemCpuLoad       | Double                                                     | Recent CPU usage by the system (0.0 to 1.0 scale).  |
| memoryStats         | [SrvMonSysMemoryStats](#memory-stats-srvmonsysmemorystats) | Memory-related stats.                               |
| gcStats             | [SrvMonSysGCStats](#gc-stats-srvmonsysgcstats)             | GC-related stats.                                   |
| jitStats            | [SrvMonSysJITStats](#jit-stats-srvmonsysjitstats)          | JIT compiler stats.                                 |
| threadStats         | [SrvMonSysThreadStats](#thread-stats-srvmonsysthreadstats) | Thread-related stats.                               |
| diskStats           | [SrvMonSysDiskStats\[\]](#disk-stats-srvmonsysdiskstats)   | Disk-related stats.                                 |

#### Memory Stats (`SrvMonSysMemoryStats`)

Memory statistics. See [Memory Stats](/rumi-core/guides/operating-applications/monitoring/memory-statistics.md) for interpretation guidance.

| Field                        | Type                                                                                             | Description                                                                                                                                                           |
| ---------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| processRssBytes              | Long                                                                                             | The process RSS (Resident Set Size) in bytes. The amount of physical memory currently occupied by the process including code, stack, heap, and memory-mapped regions. |
| committedVirtualMemorySize   | Long                                                                                             | Virtual memory guaranteed to be available to the process (bytes).                                                                                                     |
| freePhysicalMemorySize       | Long                                                                                             | Available physical memory (bytes). On Linux reports MemAvailable from `/proc/meminfo` (includes reclaimable cache/buffers).                                           |
| freeSwapSpaceSize            | Long                                                                                             | Free swap space (bytes).                                                                                                                                              |
| totalPhysicalMemorySize      | Long                                                                                             | Total physical memory (bytes).                                                                                                                                        |
| totalSwapSpaceSize           | Long                                                                                             | Total swap space (bytes).                                                                                                                                             |
| heapUsage                    | [SrvMonSysMemoryUsage](#memory-usage-srvmonsysmemoryusage)                                       | Heap memory usage.                                                                                                                                                    |
| nonHeapUsage                 | [SrvMonSysMemoryUsage](#memory-usage-srvmonsysmemoryusage)                                       | Non-heap memory usage.                                                                                                                                                |
| offHeapUsage                 | [SrvMonSysMemoryOffHeapUsage](#off-heap-usage-srvmonsysmemoryoffheapusage)                       | Off-heap memory usage.                                                                                                                                                |
| nativeCounters               | [SrvMonSysMemoryNativeCounters](#native-memory-counters-srvmonsysmemorynativecounters)           | Native memory counters.                                                                                                                                               |
| iobufCounters                | [SrvMonSysMemoryIOBufCounters](#iobuffer-counters-srvmonsysmemoryiobufcounters)                  | IOBuffer counters.                                                                                                                                                    |
| embeddedEntityCounters       | [SrvMonSysMemoryEntityTypeCounters](#entity-type-counters-srvmonsysmemoryentitytypecounters)     | Aggregate embedded entity counters.                                                                                                                                   |
| embeddedEntityCountersByType | [SrvMonSysMemoryEntityTypeCounters\[\]](#entity-type-counters-srvmonsysmemoryentitytypecounters) | Per-type embedded entity counters.                                                                                                                                    |
| entityCounters               | [SrvMonSysMemoryEntityTypeCounters](#entity-type-counters-srvmonsysmemoryentitytypecounters)     | Aggregate state entity counters.                                                                                                                                      |
| entityCountersByType         | [SrvMonSysMemoryEntityTypeCounters\[\]](#entity-type-counters-srvmonsysmemoryentitytypecounters) | Per-type state entity counters.                                                                                                                                       |
| messageCounters              | [SrvMonSysMemoryEntityTypeCounters](#entity-type-counters-srvmonsysmemoryentitytypecounters)     | Aggregate message counters.                                                                                                                                           |
| messageCountersByType        | [SrvMonSysMemoryEntityTypeCounters\[\]](#entity-type-counters-srvmonsysmemoryentitytypecounters) | Per-type message counters.                                                                                                                                            |
| collectionCounters           | [SrvMonSysMemoryEntityTypeCounters](#entity-type-counters-srvmonsysmemoryentitytypecounters)     | Aggregate collection counters.                                                                                                                                        |
| collectionCountersByType     | [SrvMonSysMemoryEntityTypeCounters\[\]](#entity-type-counters-srvmonsysmemoryentitytypecounters) | Per-type collection counters.                                                                                                                                         |

**Memory Usage (`SrvMonSysMemoryUsage`)**

Stats for a JVM memory region.

| Field     | Type | Description                                                      |
| --------- | ---- | ---------------------------------------------------------------- |
| init      | Long | Memory initially requested from the OS (bytes). -1 if undefined. |
| used      | Long | Amount of used memory (bytes).                                   |
| committed | Long | Memory committed for JVM use (bytes).                            |
| max       | Long | Maximum memory (bytes).                                          |

**Off-Heap Usage (`SrvMonSysMemoryOffHeapUsage`)**

Summary stats for off-heap memory managed by applications.

| Field      | Type | Description                                          |
| ---------- | ---- | ---------------------------------------------------- |
| usedLive   | Long | Off-heap memory in live use by applications (bytes). |
| usedPooled | Long | Off-heap memory held in pools for reuse (bytes).     |

**Native Memory Counters (`SrvMonSysMemoryNativeCounters`)**

Counters for native memory operations via JNI.

| Field        | Type | Description                             |
| ------------ | ---- | --------------------------------------- |
| allocCount   | Long | Cumulative native memory allocations.   |
| allocBytes   | Long | Cumulative bytes allocated.             |
| reallocCount | Long | Cumulative native memory reallocations. |
| reallocBytes | Long | Cumulative bytes reallocated.           |
| freeCount    | Long | Cumulative native memory frees.         |
| freeBytes    | Long | Cumulative bytes freed.                 |

**IOBuffer Counters (`SrvMonSysMemoryIOBufCounters`)**

Counters for IOBuffer lifecycle management.

| Field                  | Type | Description                                                            |
| ---------------------- | ---- | ---------------------------------------------------------------------- |
| bufferAllocCount       | Long | IOBuffer creations (new allocations, not from pool).                   |
| bufferAllocBytes       | Long | Cumulative bytes from IOBuffer creations.                              |
| bufferPoolAllocCount   | Long | IOBuffers obtained from the pool (reused).                             |
| bufferPoolAllocBytes   | Long | Cumulative bytes from pool allocations.                                |
| bufferReallocCount     | Long | IOBuffers reallocated due to size change.                              |
| bufferReallocBytes     | Long | Cumulative bytes reallocated.                                          |
| bufferForkCount        | Long | IOBuffers forked (copy-on-write).                                      |
| bufferForkBytes        | Long | Cumulative bytes forked.                                               |
| bufferGCDisposeCount   | Long | IOBuffers disposed directly to the garbage collector.                  |
| bufferGCDisposeBytes   | Long | Cumulative bytes disposed to the garbage collector.                    |
| bufferPoolDisposeCount | Long | IOBuffers returned to the pool for reuse.                              |
| bufferPoolDisposeBytes | Long | Cumulative bytes returned to the pool.                                 |
| bufferPoolLeakCount    | Long | IOBuffers evicted from the pool and disposed to the garbage collector. |
| bufferPoolLeakBytes    | Long | Cumulative bytes evicted from the pool.                                |

**Entity Type Counters (`SrvMonSysMemoryEntityTypeCounters`)**

Counters for entity, message, and collection object lifecycle. Used for embedded entities, state entities, messages, and collections.

| Field                        | Type   | Description                                            |
| ---------------------------- | ------ | ------------------------------------------------------ |
| entityName                   | String | The class name of the entity.                          |
| entityShortName              | String | The short name of the entity.                          |
| liveCount                    | Long   | Entities currently allocated and in use.               |
| pooledCount                  | Long   | Entities allocated but held in pool.                   |
| createAllocCount             | Long   | Entities created via new allocation (not from pool).   |
| poolAllocCount               | Long   | Entities obtained from the entity pool.                |
| GCDisposeCount               | Long   | Entities disposed directly to the garbage collector.   |
| poolDisposeCount             | Long   | Entities returned to the pool.                         |
| poolLeakCount                | Long   | Entities evicted from the pool.                        |
| pojoLiveCount                | Long   | Live POJO backing objects.                             |
| pojoPooledCount              | Long   | Pooled POJO backing objects.                           |
| pojoCreateAllocCount         | Long   | POJOs created via new allocation.                      |
| pojoPoolAllocCount           | Long   | POJOs obtained from pool.                              |
| pojoGCDisposeCount           | Long   | POJOs disposed to the garbage collector.               |
| pojoPoolDisposeCount         | Long   | POJOs returned to pool.                                |
| pojoPoolLeakCount            | Long   | POJOs evicted from pool.                               |
| serializerLiveCount          | Long   | Live serializers.                                      |
| serializerPooledCount        | Long   | Pooled serializers.                                    |
| serializerCreateAllocCount   | Long   | Serializers created via new allocation.                |
| serializerPoolAllocCount     | Long   | Serializers obtained from pool.                        |
| serializerGCDisposeCount     | Long   | Serializers disposed to the garbage collector.         |
| serializerPoolDisposeCount   | Long   | Serializers returned to pool.                          |
| serializerPoolLeakCount      | Long   | Serializers evicted from pool.                         |
| deserializerLiveCount        | Long   | Live deserializers.                                    |
| deserializerPooledCount      | Long   | Pooled deserializers.                                  |
| deserializerCreateAllocCount | Long   | Deserializers created via new allocation.              |
| deserializerPoolAllocCount   | Long   | Deserializers obtained from pool.                      |
| deserializerGCDisposeCount   | Long   | Deserializers disposed to the garbage collector.       |
| deserializerPoolDisposeCount | Long   | Deserializers returned to pool.                        |
| deserializerPoolLeakCount    | Long   | Deserializers evicted from pool.                       |
| metadataLiveCount            | Long   | Live metadata objects.                                 |
| metadataLiveBytes            | Long   | Bytes in live metadata objects.                        |
| metadataAllocCount           | Long   | Metadata objects created.                              |
| metadataAllocBytes           | Long   | Cumulative metadata bytes allocated.                   |
| metadataGCDisposeCount       | Long   | Metadata objects disposed to the garbage collector.    |
| metadataGCDisposeBytes       | Long   | Metadata bytes disposed to the garbage collector.      |
| metadataPoolDisposeCount     | Long   | Metadata objects returned to pool.                     |
| metadataPoolDisposeBytes     | Long   | Metadata bytes returned to pool.                       |
| dataLiveCount                | Long   | Live data buffer objects.                              |
| dataLiveBytes                | Long   | Bytes in live data buffers.                            |
| dataAllocCount               | Long   | Data buffer objects created.                           |
| dataAllocBytes               | Long   | Cumulative data buffer bytes allocated.                |
| dataGCDisposeCount           | Long   | Data buffer objects disposed to the garbage collector. |
| dataGCDisposeBytes           | Long   | Data buffer bytes disposed to the garbage collector.   |
| dataPoolDisposeCount         | Long   | Data buffer objects returned to pool.                  |
| dataPoolDisposeBytes         | Long   | Data buffer bytes returned to pool.                    |

#### GC Stats (`SrvMonSysGCStats`)

Garbage collection statistics.

| Field           | Type                                                                           | Description                                                                                                       |
| --------------- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------- |
| collectorsStats | [SrvMonSysGCCollectorStats\[\]](#gc-collector-stats-srvmonsysgccollectorstats) | List of garbage collections. May include collections from previous intervals; use collectionCount to deduplicate. |

**GC Collector Stats (`SrvMonSysGCCollectorStats`)**

Stats for a single garbage collector.

| Field           | Type   | Description                                                                      |
| --------------- | ------ | -------------------------------------------------------------------------------- |
| collectorName   | String | The name of the collector.                                                       |
| collectionCount | Long   | Total collections that have occurred. -1 if undefined.                           |
| collectionTime  | Long   | Approximate accumulated collection elapsed time (milliseconds). -1 if undefined. |

#### JIT Stats (`SrvMonSysJITStats`)

JIT compiler statistics.

| Field                | Type   | Description                                              |
| -------------------- | ------ | -------------------------------------------------------- |
| name                 | String | The name of the JIT compiler in use.                     |
| totalCompilationTime | Long   | Cumulative time spent in JIT compilation (milliseconds). |

#### Thread Stats (`SrvMonSysThreadStats`)

Thread statistics.

| Field                 | Type                                                                                          | Description                      |
| --------------------- | --------------------------------------------------------------------------------------------- | -------------------------------- |
| threadCount           | Integer                                                                                       | Number of active threads.        |
| daemonThreadCount     | Integer                                                                                       | Number of active daemon threads. |
| peakThreadCount       | Integer                                                                                       | Peak number of threads observed. |
| individualThreadStats | [SrvMonSysIndividualThreadStats\[\]](#individual-thread-stats-srvmonsysindividualthreadstats) | Per-thread stats (if enabled).   |

**Individual Thread Stats (`SrvMonSysIndividualThreadStats`)**

Stats for an individual thread.

| Field       | Type   | Description                                                                                                                                                                                                                     |
| ----------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id          | Long   | The thread's ID.                                                                                                                                                                                                                |
| name        | String | The thread's name (may be cached).                                                                                                                                                                                              |
| state       | String | The thread's state at the time of the heartbeat.                                                                                                                                                                                |
| cpuTime     | Long   | CPU time used by the thread (nanoseconds).                                                                                                                                                                                      |
| usrTime     | Long   | User time used by the thread (nanoseconds).                                                                                                                                                                                     |
| collectTime | Long   | Time just after CPU times were collected (nanoseconds). Use to calculate elapsed time between samples.                                                                                                                          |
| affinity    | String | Affinitization details (if affinitized).                                                                                                                                                                                        |
| waitTime    | Long   | Time spent waiting for events such as I/O spin loops or disruptor waits (nanoseconds). For busy-spinning threads, use to distinguish idle time from CPU time. Only reflects time upon exiting a wait — not while still waiting. |
| waitCount   | Long   | Number of times the thread entered a waiting state.                                                                                                                                                                             |

#### Disk Stats (`SrvMonSysDiskStats`)

Disk statistics.

| Field       | Type   | Description                                          |
| ----------- | ------ | ---------------------------------------------------- |
| rootPath    | String | The file system root path for the disk or partition. |
| totalSpace  | Long   | Size of the partition (bytes). 0 if not a partition. |
| usableSpace | Long   | Bytes available to the container.                    |
| freeSpace   | Long   | Unallocated bytes in the disk or partition.          |

### Pool Stats (`SrvMonPoolStats`)

Object pool statistics. Stats for a pool are only included in a heartbeat if there have been pool misses in the last collection interval.

| Field          | Type    | Description                                                                                                                 |
| -------------- | ------- | --------------------------------------------------------------------------------------------------------------------------- |
| key            | String  | The name of the pool.                                                                                                       |
| size           | Integer | Elements currently available in the pool. A value of 0 doesn't necessarily indicate an issue — elements may be checked out. |
| capacity       | Integer | Current number of slots to hold unused elements.                                                                            |
| preallocated   | Integer | Elements initially preallocated.                                                                                            |
| maxCapacity    | Integer | Maximum size of the pool.                                                                                                   |
| gets           | Long    | Times an element has been requested.                                                                                        |
| hits           | Long    | Times a request was satisfied without allocating.                                                                           |
| misses         | Long    | Times a request required a new allocation.                                                                                  |
| puts           | Long    | Times an element has been returned.                                                                                         |
| growths        | Long    | Times the pool capacity was increased.                                                                                      |
| evicts         | Long    | Elements evicted because the pool lacked capacity.                                                                          |
| detachedWashes | Long    | Elements initialized by the detached pool washer thread.                                                                    |

### Service Info (`SrvMonAppInfo`)

Information about a service configured in the container.

| Field            | Type                                                                     | Description                                                             |
| ---------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------- |
| name             | String                                                                   | The service's name.                                                     |
| version          | Integer                                                                  | The service version (if specified/known). Typically from `@AppVersion`. |
| jarVersionString | String                                                                   | The jar version of the service (if specified/known).                    |
| state            | [SrvMonAppState](#service-state)                                         | The service's current state.                                            |
| role             | [SrvMonAppRole](#service-ha-role)                                        | The service's current HA role.                                          |
| HAPolicy         | [SrvMonAppHAPolicy](#service-ha-policy)                                  | The service's HA policy.                                                |
| loadedTime       | Date                                                                     | The time at which the service was last loaded.                          |
| clientsInfo      | SrvMonAppClientInfo\[]                                                   | Connected client info. Each entry has a name (String) field.            |
| busBindingsInfo  | [SrvMonAppBusBindingInfo\[\]](#bus-binding-info-srvmonappbusbindinginfo) | Message bus binding info.                                               |
| flowsInfo        | SrvMonAppFlowInfo\[]                                                     | Active message flow info. Each entry has an id (Integer) field.         |

#### Bus Binding Info (`SrvMonAppBusBindingInfo`)

Information about a message bus binding.

| Field        | Type                                           | Description                                                      |
| ------------ | ---------------------------------------------- | ---------------------------------------------------------------- |
| name         | String                                         | The bus name.                                                    |
| state        | [SrvMonAppBusBindingState](#bus-binding-state) | The current bus state.                                           |
| channelsInfo | SrvMonAppBusChannelInfo\[]                     | Channel info. Each entry has name (String) and joined (Boolean). |

### Service Stats (`SrvMonAppStats`)

Groups together stats for a service.

| Field                 | Type                                                                                      | Description                                                  |
| --------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| appName               | String                                                                                    | The service name.                                            |
| engineStats           | [SrvMonAppEngineStats](#engine-stats-srvmonappenginestats)                                | The service's AEP engine stats.                              |
| eventMultiplexerStats | [SrvMonAppEventMultiplexerStats](#event-multiplexer-stats-srvmonappeventmultiplexerstats) | The service's input event multiplexer stats.                 |
| storeBindingStats     | [SrvMonAppStoreBindingStats](#store-binding-stats-srvmonappstoreBindingstats)             | The service's replication and persistent disk storage stats. |
| busBindingStats       | [SrvMonAppBusBindingStats\[\]](#bus-binding-stats-srvmonappbusbindingstats)               | Messaging stats for each configured bus.                     |
| userStats             | [SrvMonUserStats](#user-stats-srvmonuserstats)                                            | The service's user-defined stats.                            |

#### Engine Stats (`SrvMonAppEngineStats`)

AEP engine statistics. See [AEP Engine Stats](/rumi-core/guides/operating-applications/monitoring/engine-statistics.md) for interpretation guidance.

| Field                          | Type                                                                             | Description                                                                                                                                               |
| ------------------------------ | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| numFlows                       | Integer                                                                          | Number of active flows.                                                                                                                                   |
| numMsgsRcvdBestEffort          | Long                                                                             | Best-effort messages received.                                                                                                                            |
| numMsgsRcvdGuaranteed          | Long                                                                             | Guaranteed messages received.                                                                                                                             |
| numDupMsgsRcvd                 | Long                                                                             | Duplicate messages received.                                                                                                                              |
| numMsgsSentBestEffort          | Long                                                                             | Best-effort messages sent.                                                                                                                                |
| numMsgsSentGuaranteed          | Long                                                                             | Guaranteed messages sent.                                                                                                                                 |
| numMsgsResent                  | Long                                                                             | Messages retransmitted.                                                                                                                                   |
| numMsgsSourced                 | Long                                                                             | Messages sourced (replicated, recovered from log, or injected). Total messages received = numMsgsRcvdBestEffort + numMsgsRcvdGuaranteed + numMsgsSourced. |
| numMsgsFiltered                | Long                                                                             | Messages filtered.                                                                                                                                        |
| numEventsRcvd                  | Long                                                                             | Events received by the engine.                                                                                                                            |
| numEventsProcessed             | Long                                                                             | Events processed by the engine.                                                                                                                           |
| numFlowEventsRcvd              | Long                                                                             | Flow-related events processed.                                                                                                                            |
| numFlowEventsProcSuccess       | Long                                                                             | Flow events successfully processed.                                                                                                                       |
| numFlowEventsProcFail          | Long                                                                             | Flow events unsuccessfully processed.                                                                                                                     |
| numFlowEventsProcComplete      | Long                                                                             | Flow events completely processed.                                                                                                                         |
| numTransactions                | Long                                                                             | Transactions created.                                                                                                                                     |
| numCommitsStarted              | Long                                                                             | Transaction commits started.                                                                                                                              |
| numCommitsCompleted            | Long                                                                             | Transaction commits completed.                                                                                                                            |
| numSendCommitsStarted          | Long                                                                             | Send (message bus) commits started.                                                                                                                       |
| numSendCommitsCompleted        | Long                                                                             | Send commits completed.                                                                                                                                   |
| sendCommitCompletionQueueSize  | Integer                                                                          | Send commits pending completion.                                                                                                                          |
| numStoreCommitsStarted         | Long                                                                             | Store commits started.                                                                                                                                    |
| numStoreCommitsCompleted       | Long                                                                             | Store commits completed.                                                                                                                                  |
| storeCommitCompletionQueueSize | Integer                                                                          | Store commits pending completion.                                                                                                                         |
| numRollbacks                   | Long                                                                             | Transactions rolled back.                                                                                                                                 |
| numPartialRollbacks            | Long                                                                             | Partial (savepoint) transaction rollbacks.                                                                                                                |
| outboundSno                    | Long                                                                             | Current outbound sequence number for doubt resolution and duplicate detection.                                                                            |
| outboundStableSno              | Long                                                                             | Stable outbound sequence number — messages acknowledged downstream that need not be retransmitted.                                                        |
| backupOutboundQueueSize        | Long                                                                             | Messages in the backup outbound queue (not yet stabilized, pending retransmission on failover).                                                           |
| backupOutboundLogQueueSize     | Long                                                                             | Messages in the backup outbound log queue (pending write to an outbound message logger).                                                                  |
| msgPreProcLatencies            | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `mpproc` — time spent by the engine dispatching the message to a service.                                                                                 |
| msgProcessingLatencies         | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `mproc` — time in the service's EventHandler.                                                                                                             |
| msgFilteringLatencies          | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `mfilt` — time in message filter processing.                                                                                                              |
| msgSendLatencies               | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `msend` — time spent in AepEngine.sendMessage().                                                                                                          |
| msgSendCoreLatencies           | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `msendc` — time spent in AepEngine.sendMessageCore().                                                                                                     |
| commitStartLatencies           | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `cstart` — time from first message receipt to transaction commit.                                                                                         |
| commitPrologueLatencies        | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `cprolo` — time from commit start to first send or store commit.                                                                                          |
| commitSendLatencies            | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `csend` — time for send commits to complete (includes ack wait).                                                                                          |
| commitStoreLatencies           | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `cstore` — time for store commit to complete.                                                                                                             |
| commitTransitionLatencies      | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `ctrans` — time from first commit completion to start of next stage.                                                                                      |
| commitEpilogueLatencies        | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `cepilo` — time from last commit completion to commit finalization.                                                                                       |
| commitFullLatencies            | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `cfull` — time from first message receipt to full commit completion.                                                                                      |
| inOutLatencies                 | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `inout` — time from message receipt to transmission of last outbound message.                                                                             |
| inAckLatencies                 | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `inack` — time from message receipt to stabilization (and upstream ack for Guaranteed).                                                                   |
| transactionLeg1ProcessingTimes | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `tleg1` — first transaction processing leg: receipt to send/store commit submission.                                                                      |
| transactionLeg2ProcessingTimes | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `tleg2` — second leg: first commit completion to second commit submission.                                                                                |
| transactionLeg3ProcessingTimes | [SrvMonIntSeries](#int-series-srvmonintseries)                                   | `tleg3` — third leg: second commit completion to transaction finalization.                                                                                |
| inboundMessageLoggerStats      | [SrvMonAppMessageLoggerStats](#message-logger-stats-srvmonappmessageloggerstats) | Inbound message logger stats (when enabled).                                                                                                              |
| outboundMessageLoggerStats     | [SrvMonAppMessageLoggerStats](#message-logger-stats-srvmonappmessageloggerstats) | Outbound message logger stats (when enabled).                                                                                                             |
| perTransactionStatsLoggerStats | [SrvMonAppMessageLoggerStats](#message-logger-stats-srvmonappmessageloggerstats) | Per-transaction stats logger stats (when enabled).                                                                                                        |
| msgTypeStats                   | [SrvMonMsgTypeStats\[\]](#message-type-stats-srvmonmsgtypestats)                 | Per-message-type stats (when enabled and included in heartbeats). Only present for message types with activity in the collection interval.                |

{% hint style="info" %}
Transaction legs represent the portions of commit processing done on the AEP engine's thread. Their sum determines the maximum transactions per second the service can sustain. Latencies are reported in nanoseconds.
{% endhint %}

**Message Type Stats (`SrvMonMsgTypeStats`)**

Per-message-type statistics, included when `captureMessageTypeStats` and `includeMessageTypeStats` are enabled.

| Field                     | Type                                           | Description                                         |
| ------------------------- | ---------------------------------------------- | --------------------------------------------------- |
| messageTypeName           | String                                         | The fully qualified name of the message type.       |
| messageFactoryId          | Short                                          | The factory ID for the message type.                |
| messageTypeId             | Short                                          | The message type ID within its factory.             |
| numMsgsRcvdBestEffort     | Long                                           | Best-effort messages received for this type.        |
| numMsgsRcvdGuaranteed     | Long                                           | Guaranteed messages received for this type.         |
| numDupMsgsRcvd            | Long                                           | Duplicate messages received for this type.          |
| numMsgsSentBestEffort     | Long                                           | Best-effort messages sent for this type.            |
| numMsgsSentGuaranteed     | Long                                           | Guaranteed messages sent for this type.             |
| numMsgsResent             | Long                                           | Messages retransmitted for this type.               |
| numMsgsSourced            | Long                                           | Messages sourced for this type.                     |
| numMsgsFiltered           | Long                                           | Messages filtered for this type.                    |
| msgProcessingLatencies    | [SrvMonIntSeries](#int-series-srvmonintseries) | `mproc` — handler processing latencies.             |
| msgFilteringLatencies     | [SrvMonIntSeries](#int-series-srvmonintseries) | `mfilt` — filter processing latencies.              |
| msgPreProcessingLatencies | [SrvMonIntSeries](#int-series-srvmonintseries) | `mpproc` — engine pre-processing latencies.         |
| msgCreateToOfferLatencies | [SrvMonIntSeries](#int-series-srvmonintseries) | `c2o` — create-to-offer latencies.                  |
| msgOfferToPollLatencies   | [SrvMonIntSeries](#int-series-srvmonintseries) | `o2p` — offer-to-poll (input queue time) latencies. |

#### Event Multiplexer Stats (`SrvMonAppEventMultiplexerStats`)

Stats for the engine's input event multiplexer. Events pass through two levels of queue: a per-thread feeder queue and the engine's input disruptor.

| Field             | Type                                                                                                           | Description                                   |
| ----------------- | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| lastDecongested   | Integer                                                                                                        | The last feeder queue decongested.            |
| maxConcurrency    | Integer                                                                                                        | Maximum number of feeder queues supported.    |
| scheduleQueueSize | Integer                                                                                                        | Number of scheduled events awaiting dispatch. |
| disruptorStats    | [SrvMonDisruptorStats](#disruptor-stats-srvmondisruptorstats)                                                  | Stats for the engine's input disruptor.       |
| feederQueueStats  | [SrvMonAppEventMultiplexerFeederQueueStats\[\]](#feeder-queue-stats-srvmonappeventmultiplexerfeederqueuestats) | Per-feeder-queue stats.                       |

**Feeder Queue Stats (`SrvMonAppEventMultiplexerFeederQueueStats`)**

Stats for an input multiplexer feeder queue.

| Field                | Type                                           | Description                                                |
| -------------------- | ---------------------------------------------- | ---------------------------------------------------------- |
| owner                | String                                         | The owner thread for the feeder queue (source of events).  |
| size                 | Integer                                        | Current number of events in the queue.                     |
| decongestCount       | Integer                                        | Times the draining thread has woken up to drain the queue. |
| offerToPollLatencies | [SrvMonIntSeries](#int-series-srvmonintseries) | Time elements spend in the feeder queue.                   |

#### Store Binding Stats (`SrvMonAppStoreBindingStats`)

Replication and persistence statistics. An application's store provides HA and fault tolerance via replication and persistence.

| Field                        | Type                                                                                       | Description                                                                          |
| ---------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| role                         | [SrvMonAppStoreBindingRole](#store-binding-role)                                           | Current HA role for the store.                                                       |
| state                        | [SrvMonAppStoreBindingState](#store-binding-state)                                         | Current state of the store.                                                          |
| ICRRole                      | [SrvMonAppStoreICRRole](#icr-role)                                                         | Inter-cluster replication role.                                                      |
| size                         | Integer                                                                                    | Number of objects in the store.                                                      |
| dataSize                     | Long                                                                                       | Total size of serialized object data held by the store.                              |
| numCommitsSent               | Long                                                                                       | Committed transactions replicated by the store.                                      |
| numCommitEntriesSent         | Long                                                                                       | Committed entries replicated by the store.                                           |
| numCommitsReceived           | Long                                                                                       | Committed transactions replicated to this store.                                     |
| numCommitEntriesReceived     | Long                                                                                       | Committed entries replicated to this store.                                          |
| numCommitCompletionsSent     | Long                                                                                       | Commit acknowledgements sent to the leader.                                          |
| numCommitCompletionsReceived | Long                                                                                       | Commit acknowledgements received from followers.                                     |
| serializeLatencies           | [SrvMonIntSeries](#int-series-srvmonintseries)                                             | `s` — time serializing transaction entries for replication/persistence.              |
| serializeToWireLatencies     | [SrvMonIntSeries](#int-series-srvmonintseries)                                             | `s2w` — time from serialization to last entry written to the wire.                   |
| serializeToPersistLatencies  | [SrvMonIntSeries](#int-series-srvmonintseries)                                             | `s2p` — time from serialization to entries passed to the persister (not yet synced). |
| wireLatencies                | [SrvMonIntSeries](#int-series-srvmonintseries)                                             | `w` — round-trip wire time (primary: to ack receipt; backup: subject to clock skew). |
| wireToDeserializeLatencies   | [SrvMonIntSeries](#int-series-srvmonintseries)                                             | `w2d` — time from commit packet receipt to deserialization start (backup).           |
| deserializeLatencies         | [SrvMonIntSeries](#int-series-srvmonintseries)                                             | `d` — time spent deserializing transaction entries (backup).                         |
| persistLatencies             | [SrvMonIntSeries](#int-series-srvmonintseries)                                             | `per` — time spent persisting transaction entries to disk.                           |
| icrSendLatencies             | [SrvMonIntSeries](#int-series-srvmonintseries)                                             | `icr` — time spent sending entries through an ICR receiver.                          |
| indexLatencies               | [SrvMonIntSeries](#int-series-srvmonintseries)                                             | `idx` — store object indexing latencies (if enabled).                                |
| commitLatencies              | [SrvMonIntSeries](#int-series-srvmonintseries)                                             | `c` — commit latency from start to stabilization.                                    |
| commitQueueSize              | [SrvMonIntSeries](#int-series-srvmonintseries)                                             | `cqs` — number of entries committed per commit.                                      |
| persisterStats               | [SrvMonAppStoreBindingPersisterStats](#persister-stats-srvmonappstrebindingpersisterstats) | Persister stats (when configured).                                                   |
| ICRSenderStats               | [SrvMonAppStoreBindingICRSenderStats](#icr-sender-stats-srvmonappstrebindingicrrederstats) | ICR sender stats (when configured).                                                  |

**Persister Stats (`SrvMonAppStoreBindingPersisterStats`)**

Stats for a store's persister.

| Field              | Type                                                          | Description                                                       |
| ------------------ | ------------------------------------------------------------- | ----------------------------------------------------------------- |
| detachedPersist    | Boolean                                                       | Whether the persister is operating in detached mode.              |
| numPutsRecorded    | Long                                                          | Puts recorded.                                                    |
| numUpdatesRecorded | Long                                                          | Updates recorded.                                                 |
| numRemovesRecorded | Long                                                          | Removes recorded.                                                 |
| numSendsRecorded   | Long                                                          | Sends recorded.                                                   |
| numCommits         | Long                                                          | Commits recorded.                                                 |
| numForks           | Long                                                          | Forked packets persisted.                                         |
| fileSize           | Long                                                          | Actual size of the log file on disk (may be preallocated larger). |
| fileSizeUsed       | Long                                                          | Space used in the log file.                                       |
| disruptorStats     | [SrvMonDisruptorStats](#disruptor-stats-srvmondisruptorstats) | Disruptor stats when operating in detached mode.                  |

**ICR Sender Stats (`SrvMonAppStoreBindingICRSenderStats`)**

Stats for a store's inter-cluster replication sender.

| Field              | Type                                                          | Description                                           |
| ------------------ | ------------------------------------------------------------- | ----------------------------------------------------- |
| detachedSend       | Boolean                                                       | Whether the ICR sender is operating in detached mode. |
| numPutsRecorded    | Long                                                          | Puts recorded.                                        |
| numUpdatesRecorded | Long                                                          | Updates recorded.                                     |
| numRemovesRecorded | Long                                                          | Removes recorded.                                     |
| numSendsRecorded   | Long                                                          | Sends recorded.                                       |
| numCommits         | Long                                                          | Commits recorded.                                     |
| numForks           | Long                                                          | Forked packets persisted.                             |
| disruptorStats     | [SrvMonDisruptorStats](#disruptor-stats-srvmondisruptorstats) | Disruptor stats when operating in detached mode.      |

#### Bus Binding Stats (`SrvMonAppBusBindingStats`)

Statistics for a message bus binding.

| Field                         | Type                                                          | Description                                                                                     |
| ----------------------------- | ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| busBindingName                | String                                                        | The name of the bus.                                                                            |
| internal                      | Boolean                                                       | Whether this is an internal bus.                                                                |
| detachedCommit                | Boolean                                                       | Whether the bus is operating in detached mode.                                                  |
| numMsgsRcvd                   | Long                                                          | Messages received.                                                                              |
| numMsgsInBatchesRcvd          | Long                                                          | Messages received that were part of a batch.                                                    |
| numMsgBatchesRcvd             | Long                                                          | Batch messages received.                                                                        |
| numMsgsEnqueued               | Long                                                          | Messages enqueued for delivery.                                                                 |
| numMsgsSent                   | Long                                                          | Messages actually sent.                                                                         |
| numAcksSent                   | Long                                                          | Inbound messages acknowledged.                                                                  |
| numStabilityRcvd              | Long                                                          | Stability events (acks) received.                                                               |
| numStabilityInBatchesRcvd     | Long                                                          | Stability events that were part of a batch.                                                     |
| numStabilityBatchesRcvd       | Long                                                          | Batched stability events received.                                                              |
| numPacketsRcvd                | Long                                                          | Raw packets received.                                                                           |
| numCommits                    | Long                                                          | Transactions committed.                                                                         |
| numRollbacks                  | Long                                                          | Transactions rolled back.                                                                       |
| numPartialRollbacks           | Long                                                          | Partial (savepoint) transaction rollbacks.                                                      |
| numClients                    | Integer                                                       | Connected clients (if applicable).                                                              |
| numChannelsUp                 | Integer                                                       | Channels brought up.                                                                            |
| numBindingFailures            | Integer                                                       | Binding failures that have occurred.                                                            |
| createToSendLatencies         | [SrvMonIntSeries](#int-series-srvmonintseries)                | `c2o` — time from message creation to when send was called.                                     |
| sendToPollLatencies           | [SrvMonIntSeries](#int-series-srvmonintseries)                | `o2p` — time from send offer to pickup for send (detached mode).                                |
| sendToSerializeLatencies      | [SrvMonIntSeries](#int-series-srvmonintseries)                | `o2s` — time from send start to serialization (excludes o2p in detached mode).                  |
| serializeLatencies            | [SrvMonIntSeries](#int-series-srvmonintseries)                | `s` — time spent serializing the MessageView to transport encoding.                             |
| serializeToWireLatencies      | [SrvMonIntSeries](#int-series-srvmonintseries)                | `s2w` — time from post-serialization to just before wire write.                                 |
| wireSendLatencies             | [SrvMonIntSeries](#int-series-srvmonintseries)                | `ws` — time spent by the provider writing the message to the wire (includes flow control time). |
| wireLatencies                 | [SrvMonIntSeries](#int-series-srvmonintseries)                | `w` — time on the wire from sender write to receiver read (subject to clock skew across hosts). |
| wireToDeserializeLatencies    | [SrvMonIntSeries](#int-series-srvmonintseries)                | `w2d` — time from wire receipt to deserialization start.                                        |
| deserializeLatencies          | [SrvMonIntSeries](#int-series-srvmonintseries)                | `d` — time spent deserializing and wrapping in a MessageView.                                   |
| deserializeToReceiveLatencies | [SrvMonIntSeries](#int-series-srvmonintseries)                | `d2i` — time from deserialization to engine receipt (includes o2p of engine disruptor).         |
| originToReceiveLatencies      | [SrvMonIntSeries](#int-series-srvmonintseries)                | `o2i` — time from message creation to binding receipt.                                          |
| wireToWireLatencies           | [SrvMonIntSeries](#int-series-srvmonintseries)                | `w2w` — time from inbound wire receipt to outbound wire write.                                  |
| disruptorStats                | [SrvMonDisruptorStats](#disruptor-stats-srvmondisruptorstats) | Disruptor stats when operating in detached mode.                                                |

#### User Stats (`SrvMonUserStats`)

Application-defined statistics. See [Exposing Application Stats](/rumi-core/guides/developing-applications/authoring-user-code/monitoring/exposing-application-statistics.md).

| Field    | Type                                                             | Description                |
| -------- | ---------------------------------------------------------------- | -------------------------- |
| counters | [SrvMonUserCounterStat\[\]](#counter-stat-srvmonusercounterstat) | Application counter stats. |
| series   | [SrvMonUserSeriesStat\[\]](#series-stat-srvmonuserseriesstat)    | Application series stats.  |
| gauges   | [SrvMonUserGaugeStat\[\]](#gauge-stat-srvmonusergaugestat)       | Application gauge stats.   |

**Counter Stat (`SrvMonUserCounterStat`)**

A monotonically increasing counter. Sampled periodically, it can be used to derive a rate.

| Field | Type   | Description                |
| ----- | ------ | -------------------------- |
| name  | String | The name of the statistic. |
| count | Long   | The counter value.         |

**Series Stat (`SrvMonUserSeriesStat`)**

An application-defined series collection statistic.

| Field      | Type                                              | Description                                                        |
| ---------- | ------------------------------------------------- | ------------------------------------------------------------------ |
| name       | String                                            | The name of the statistic.                                         |
| seriesType | [SrvMonSeriesType](#series-type)                  | The data type of the series.                                       |
| intSeries  | [SrvMonIntSeries](#int-series-srvmonintseries)    | The collected data for an INT series. Set when seriesType is INT.  |
| longSeries | [SrvMonLongSeries](#long-series-srvmonlongseries) | The collected data for a LONG series. Set when seriesType is LONG. |

**Gauge Stat (`SrvMonUserGaugeStat`)**

A point-in-time value sampled at each statistics collection.

| Field        | Type                           | Description                                                               |
| ------------ | ------------------------------ | ------------------------------------------------------------------------- |
| name         | String                         | The name of the gauge statistic.                                          |
| guageType    | [SrvMonGaugeType](#gauge-type) | The data type of the gauge value. Determines which typed accessor to use. |
| booleanValue | Boolean                        | The value for a BOOLEAN gauge.                                            |
| byteValue    | Byte                           | The value for a BYTE gauge.                                               |
| charValue    | Char                           | The value for a CHAR gauge.                                               |
| shortValue   | Short                          | The value for a SHORT gauge.                                              |
| intValue     | Integer                        | The value for an INT gauge.                                               |
| longValue    | Long                           | The value for a LONG gauge.                                               |
| floatValue   | Float                          | The value for a FLOAT gauge.                                              |
| doubleValue  | Double                         | The value for a DOUBLE gauge.                                             |
| stringValue  | String                         | The value for a STRING gauge.                                             |

### Admin Client Stats (`SrvMonAdminClientStats`)

Statistics for a connected admin client. The container prioritizes its integrity over reliable delivery to admin clients — it will drop messages to a congested client.

| Field                   | Type    | Description                                                                                                            |
| ----------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------- |
| name                    | String  | The name of the admin client.                                                                                          |
| heartbeatsSent          | Long    | Heartbeats sent to the client.                                                                                         |
| heartbeatsDropped       | Long    | Heartbeats dropped due to congestion.                                                                                  |
| lifecyclesSent          | Long    | Lifecycle events sent to the client.                                                                                   |
| tracesSent              | Long    | Trace records sent to the client.                                                                                      |
| tracesDropped           | Long    | Trace records dropped due to congestion.                                                                               |
| outboundQueueCapacity   | Integer | Capacity (bytes) of the client's outbound queue.                                                                       |
| outboundQueueSize       | Integer | Size (bytes) of the client's outbound queue. May exceed capacity when lifecycle events must be sent during congestion. |
| outboundQueueCount      | Integer | Number of elements in the outbound queue.                                                                              |
| outboundQueueFlushSize  | Long    | Bytes flushed from the outbound queue.                                                                                 |
| outboundQueueFlushCount | Long    | Elements flushed from the outbound queue.                                                                              |
| flushesScheduled        | Long    | Outbound queue flushes scheduled.                                                                                      |
| flushesExecuted         | Long    | Outbound queue flushes executed.                                                                                       |

### Message Logger Stats (`SrvMonAppMessageLoggerStats`)

Statistics for a message logger, used for heartbeat logging, inbound/outbound message logging, and per-transaction stats logging.

| Field               | Type                                                          | Description                                                       |
| ------------------- | ------------------------------------------------------------- | ----------------------------------------------------------------- |
| detachedPersist     | Boolean                                                       | Whether the logger is operating in detached mode.                 |
| numMessagesRecorded | Long                                                          | Messages persisted by the logger.                                 |
| numCommits          | Long                                                          | Commits to the logger.                                            |
| numImplicitFlushes  | Long                                                          | Flushes performed implicitly.                                     |
| numExplicitFlushes  | Long                                                          | Flushes performed explicitly.                                     |
| numForks            | Long                                                          | Forked message packets persisted.                                 |
| fileSize            | Long                                                          | Actual size of the log file on disk (may be preallocated larger). |
| fileSizeUsed        | Long                                                          | Space used in the log file.                                       |
| disruptorStats      | [SrvMonDisruptorStats](#disruptor-stats-srvmondisruptorstats) | Disruptor stats when operating in detached mode.                  |

### Disruptor Stats (`SrvMonDisruptorStats`)

Statistics for a disruptor.

| Field                | Type                                                      | Description                                             |
| -------------------- | --------------------------------------------------------- | ------------------------------------------------------- |
| capacity             | Integer                                                   | The size of the disruptor's ring buffer.                |
| remaining            | Integer                                                   | The number of free ring buffer slots.                   |
| claimStrategy        | [SrvMonDisruptorClaimStrategy](#disruptor-claim-strategy) | The claim strategy used by threads inputting events.    |
| waitStrategy         | [SrvMonDisruptorWaitStrategy](#disruptor-wait-strategy)   | The wait strategy used by the thread processing events. |
| offerToPollLatencies | [SrvMonIntSeries](#int-series-srvmonintseries)            | Latency of events passing through the disruptor.        |

### Int Series (`SrvMonIntSeries`)

Raw and histographical data for a series of integer data points. Frequently used for latency timings.

| Field              | Type                                                    | Description                                                                                                                         |
| ------------------ | ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| numDataPoints      | Integer                                                 | Data points collected in this interval.                                                                                             |
| lastSequenceNumber | Long                                                    | Sequence number of the last data point (0 = none collected). Running count since last reset.                                        |
| skippedDatapoints  | Long                                                    | Running count of data points skipped due to undersampling. If growing between heartbeats, intervalStats don't reflect all activity. |
| dataPoints         | Integer\[]                                              | Raw data points (when configured to include them). Valid values count = numDataPoints.                                              |
| intervalStats      | [SrvMonIntHistogram](#int-histogram-srvmoninthistogram) | Computed stats for this heartbeat's interval.                                                                                       |
| runningStats       | [SrvMonIntHistogram](#int-histogram-srvmoninthistogram) | Computed stats over the lifetime of the metric.                                                                                     |

#### Int Histogram (`SrvMonIntHistogram`)

Computed histographical data. Fields may not be set if sample size is 0.

| Field           | Type    | Description                                                                                           |
| --------------- | ------- | ----------------------------------------------------------------------------------------------------- |
| sampleSize      | Long    | Number of data points over which results were calculated.                                             |
| minimum         | Integer | Minimum value in the sample set.                                                                      |
| maximum         | Integer | Maximum value in the sample set.                                                                      |
| mean            | Integer | Mean value.                                                                                           |
| median          | Integer | Median value.                                                                                         |
| pct75           | Integer | 75th percentile.                                                                                      |
| pct90           | Integer | 90th percentile.                                                                                      |
| pct99           | Integer | 99th percentile.                                                                                      |
| pct999          | Integer | 99.9th percentile.                                                                                    |
| pct9999         | Integer | 99.99th percentile.                                                                                   |
| samplesOverMax  | Long    | Samples exceeding the maximum recordable HDRHistogram value (downsampled, skewing percentiles lower). |
| samplesUnderMin | Long    | Samples below 0 (e.g. clock skew; upsampled to 0, skewing results).                                   |

### Long Series (`SrvMonLongSeries`)

Raw and histographical data for a series of long data points. Same structure as Int Series but with Long types.

| Field              | Type                                                       | Description                                                  |
| ------------------ | ---------------------------------------------------------- | ------------------------------------------------------------ |
| numDataPoints      | Integer                                                    | Data points collected in this interval.                      |
| lastSequenceNumber | Long                                                       | Sequence number of the last data point (0 = none collected). |
| skippedDatapoints  | Long                                                       | Running count of data points skipped due to undersampling.   |
| dataPoints         | Long\[]                                                    | Raw data points (when configured to include them).           |
| intervalStats      | [SrvMonLongHistogram](#long-histogram-srvmonlonghistogram) | Computed stats for this heartbeat's interval.                |
| runningStats       | [SrvMonLongHistogram](#long-histogram-srvmonlonghistogram) | Computed stats over the lifetime of the metric.              |

#### Long Histogram (`SrvMonLongHistogram`)

Computed histographical data for long series. Fields may not be set if sample size is 0.

| Field           | Type | Description                                               |
| --------------- | ---- | --------------------------------------------------------- |
| sampleSize      | Long | Number of data points over which results were calculated. |
| minimum         | Long | Minimum value in the sample set.                          |
| maximum         | Long | Maximum value in the sample set.                          |
| mean            | Long | Mean value.                                               |
| median          | Long | Median value.                                             |
| pct75           | Long | 75th percentile.                                          |
| pct90           | Long | 90th percentile.                                          |
| pct99           | Long | 99th percentile.                                          |
| pct999          | Long | 99.9th percentile.                                        |
| pct9999         | Long | 99.99th percentile.                                       |
| samplesOverMax  | Long | Samples exceeding the maximum recordable value.           |
| samplesUnderMin | Long | Samples below the minimum recordable value.               |

## Enumerations

### Service State

`SrvMonAppState`

| Value       | Description                                            |
| ----------- | ------------------------------------------------------ |
| Loaded      | Service has been loaded but is not yet initialized.    |
| Initialized | Service has been initialized.                          |
| Started     | Service has been started.                              |
| Active      | Service has been started and is the primary HA member. |
| Stopped     | Service has been stopped.                              |
| Unloaded    | Service has been unloaded.                             |

### Service HA Role

`SrvMonAppRole`

| Value      | Description                                           |
| ---------- | ----------------------------------------------------- |
| Primary    | Operating in the primary role with a backup.          |
| Backup     | Operating in a backup role for a primary.             |
| Standalone | Configured as a standalone instance without a backup. |

### Service HA Policy

`SrvMonAppHAPolicy`

| Value            | Description                                             |
| ---------------- | ------------------------------------------------------- |
| EventSourcing    | Recovery by replay of inbound events.                   |
| StateReplication | Recovery by replication of state and outbound messages. |

### Bus Binding State

`SrvMonAppBusBindingState`

| Value   | Description                              |
| ------- | ---------------------------------------- |
| Created | Bus has been created but not yet opened. |
| Opening | Bus is being opened.                     |
| Opened  | Bus is opened.                           |
| Failed  | Bus has failed.                          |

### Store Binding Role

`SrvMonAppStoreBindingRole`

| Value   | Description                                               |
| ------- | --------------------------------------------------------- |
| Primary | Store (and service) is the current cluster leader.        |
| Backup  | Store (and service) is operating as backup to the leader. |
| Unknown | Store role is unknown or invalid.                         |

### Store Binding State

`SrvMonAppStoreBindingState`

| Value   | Description                              |
| ------- | ---------------------------------------- |
| Opening | Store is opening.                        |
| Open    | Store is open.                           |
| Failed  | Store has failed.                        |
| Closed  | Store has closed.                        |
| Unknown | Store is in an unknown or invalid state. |

### ICR Role

`SrvMonAppStoreICRRole`

| Value              | Description                                                              |
| ------------------ | ------------------------------------------------------------------------ |
| None               | Inter-cluster replication is not configured.                             |
| Sender             | Cluster members serve as inter-cluster replication senders.              |
| StandaloneReceiver | Cluster members serve as standalone inter-cluster replication receivers. |

### Disruptor Claim Strategy

`SrvMonDisruptorClaimStrategy`

| Value                        | Description                                                                      |
| ---------------------------- | -------------------------------------------------------------------------------- |
| SingleThreaded               | Optimized for a single publisher thread.                                         |
| MultiThreaded                | For multiple publisher threads, forgiving under contention or insufficient CPUs. |
| MultiThreadedSufficientCores | For multiple publisher threads with sufficient cores and low contention.         |
| Unknown                      | Claim strategy is invalid or not recognized.                                     |

### Disruptor Wait Strategy

`SrvMonDisruptorWaitStrategy`

| Value    | Description                                                                                                             |
| -------- | ----------------------------------------------------------------------------------------------------------------------- |
| Blocking | Uses a lock and condition variable. Best when CPU resources are more important than latency.                            |
| Sleeping | Spins, then yields, then sleeps for minimum OS/JVM nanos. Good compromise; latency spikes possible after quiet periods. |
| Yielding | Spins then yields. Good compromise without significant latency spikes.                                                  |
| BusySpin | Busy spin loop. Avoids syscalls and latency jitter. Best with dedicated CPU cores.                                      |
| Unknown  | Wait strategy is invalid or not recognized.                                                                             |

### Gauge Type

`SrvMonGaugeType`

| Value                                                        | Description                                               |
| ------------------------------------------------------------ | --------------------------------------------------------- |
| BOOLEAN, BYTE, CHAR, SHORT, INT, LONG, FLOAT, DOUBLE, STRING | Indicates which typed accessor to call on the gauge stat. |

### Series Type

`SrvMonSeriesType`

| Value                                 | Description                                                                    |
| ------------------------------------- | ------------------------------------------------------------------------------ |
| BYTE, SHORT, INT, LONG, FLOAT, DOUBLE | Indicates the data type. Currently only INT is supported; others are reserved. |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.rumi.systems/rumi-core/reference/heartbeats.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
