Event Schema Reference
Envelope
OTLP-style envelope:
{
"resourceLogs": [
{
"resource": {
"attributes": [
{ "key": "service.name", "value": "denpex-agent" },
{ "key": "host.name", "value": "node-3" },
{ "key": "denpex.tenant", "value": "acme" }
]
},
"scopeLogs": [
{
"scope": { "name": "denpex.gpu.collector", "version": "0.7.0" },
"logRecords": [
{
"timeUnixNano": 1700000000000000000,
"severityNumber": 9,
"severityText": "INFO",
"attributes": [
{ "key": "gpu.uuid", "value": "GPU-abc" },
{ "key": "metric.kind", "value": "ecc.sbe.delta" },
{ "key": "metric.value", "value": 1 }
]
}
]
}
]
}
]
}
Resource Attributes
| key | Meaning |
|---|---|
host.name | Hostname |
denpex.tenant | Tenant ID |
denpex.cluster_id | Cluster CR name |
denpex.fabric.kind | ib, roce, tcp |
denpex.gpu.uuid | GPU UUID |
denpex.job_id | Training job id (when known) |
Span / Log Kinds
| kind | example |
|---|---|
gpu.ecc.dbe | value = <int> |
gpu.thermal.throttle | value = <count> |
gpu.xid | value = <int> |
pcie.replay | value = <int> |
nvlink.replay | value = <int> |
ib.link_downed | value = <int> |
ib.link_error_recovery | value = <int> |
roce.cnp | value = <count> |
nccl.timeout | rank = <int>, op = <string> |
gray.straggler | job_id = <string>, rank = <int>, z = <float> |
layer.weight_explosion | layer = <string>, sigma = <float> |
layer.gradient_explosion | layer = <string>, sigma = <float> |
layer.nan_inf | layer = <string>, kind = <string> |
layer.checksum_drift | layer = <string>, prev = <hash>, cur = <hash> |
optimizer.asymmetry | step = <int>, median = <float>, max_dev = <float> |
checkpoint.ingested | object = <string>, sha256 = <hex>, size = <int> |
host.psi.pressure | kind = <string>, value = <float> |
host.capability_missing | capability = <string> |
Metric Kinds
Standard OTLP Sum / Gauge metrics with denpex. prefixes. metric_kind discriminates within an aggregate.
See Also
docs/telemetry-schema-reference.md— broader metrics schema.docs/incident-schema-reference.md— incident record schema.