In This Section
Overview
The X Platform exposes a wealth of statistics to help administrators measure many performance and health related aspects of software systems built on top of the platform. This includes details about message throughput (raw counts and rates), object pool usage, transaction statistics and system-level information like detailed thread breakdowns and CPU utilization, along with statistics defined by the application. This section discusses how to work configure and work with these statistics.
Generally speaking, these statistics are collected automatically, but the reporting of these statistics is quite conservative by default. A number of configuration options have been made available to give administrators control over the level of detail they wish to see in trace output and/or server heartbeat messages. Even with much of the tracing output enabled, some interpretation is required to fully understand what the statistics are saying. Certain configuration options (heartbeat logging, for example) will require the use of specialized tools in order for administrators to review the full range of statistics available to them.
The pages in this section cover both configuration as it relates to statistics and the interpretation of the reported statistics.
AEP Engine Statistics
AEP Engine Statistics are most useful as a relatively light-weight means of benchmarking applications built on the X Platform during development. They include details about inbound and outbound message throughput (raw counters and rates), transaction performance stats, per-event/message type latencies, store stats/latencies and more.
See AEP Engine Statistics documentation for more information.
User Defined App Stats
Developers building applications on top of X will often want to record their own application-specific statistics. In X parlance, these are "User Defined App Stats".
See User Defined App Stats documentation for more information.
XVM Statistics
Where AEP Engine Statistics capture the statistics associated with a single AEP engine, Server Statistics pertain to the server itself (e.g. load average, memory usage, per-thread CPU utilization, object pools) and all applications/engines therein. Server stats are periodically collected and emitted packaged as Server Heartbeats that are modeled as ADM Messages. The server can:
- Log these heartbeat messages to a binary transaction log, then use tools like the Stats Dump Tool to query the log offline.
- Trace heartbeats at varying levels of granularity, which is useful for debugging and performance tuning.
- Emit the heartbeats to application registered handlers.
- Emit the heartbeats to connected Robin controllers.
See the XVM Stats and Heartbeats documentation for more information.
Stats Dump Tool
When server heartbeat logging is enabled, the X Platform will periodically write "heartbeat" messages to a binary transaction log at a regular fixed interval. These heartbeat messages contain server, application and engine stats in a format that the Stats Dump Tool understands. The Stats Dump Tool thus provides administrators an easy means of querying the heartbeat log offline.
See Stats Dump Tool documentation for more information.