div | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
Overview
Excerpt |
---|
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.
...
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 outbout outbound message throughput (raw counters and rates), transaction performance stats, per-event/message type latencies, store stats/latencies and more.
...
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 Hearbeats 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.
- Tracing 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 Server Statistics documentation for XVM Stats and Heartbeats documentation for more information.
Stats Dump Tool
...