Metrics
The agent collects the following metrics on every collection interval (default 10s). All metrics follow the OpenTelemetry semantic conventions and are exported via OTLP.
Metric reference
| Metric name | Type | Unit | Description |
|---|---|---|---|
| system.cpu.usage | Gauge | % | Overall CPU usage percentage across all cores |
| system.memory.used | Gauge | bytes | RAM currently in use |
| system.memory.total | Gauge | bytes | Total installed RAM |
| system.disk.used | Gauge | bytes | Disk space used on the root partition |
| system.disk.total | Gauge | bytes | Total disk capacity of the root partition |
| system.network.bytes_in | Counter | bytes | Total bytes received across all interfaces |
| system.network.bytes_out | Counter | bytes | Total bytes sent across all interfaces |
OTLP payload example
Each batch sent to the collector looks like the following (simplified JSON representation):
OTLP payload (simplified)
{
"resource_metrics": [{
"resource": {
"attributes": {
"host.name": "my-server",
"os.type": "linux"
}
},
"scope_metrics": [{
"metrics": [
{
"name": "system.cpu.usage",
"gauge": { "data_points": [{ "as_double": 12.4, "time_unix_nano": 1700000000000000000 }] }
},
{
"name": "system.memory.used",
"gauge": { "data_points": [{ "as_int": 3328000000, "time_unix_nano": 1700000000000000000 }] }
}
]
}]
}]
}Collection details
- CPU — read from
/proc/stat(Linux) orGetSystemTimes(Windows). Averaged across all logical cores. - Memory — read from
/proc/meminfo(Linux) orGlobalMemoryStatusEx(Windows). - Disk — read from
statvfs("/")(Linux) or the system drive (Windows). Only the root/system partition is measured in v0.1. - Network — cumulative counters from
/proc/net/dev(Linux) orGetIfTable(Windows). All interfaces are summed.
Timestamps
Timestamps are generated at the moment of collection, not at the moment of transmission. This ensures accurate time-series data even when the offline buffer replays delayed batches.