023-observability
Observability: /metrics always on, an in-process OTel tracer with a ring buffer, decisions on spans
Lifecycle approvedImplementation completeVerification unknownQualification unknown
The substrate contract every cell exposes: Prometheus text on /metrics from an in-process registry (process metrics, HTTP counters and duration histograms labeled by route pattern and status class, store operation counters, kernel decisions and ledger failures), and an OTel tracer with a span per request and per store operation that exports OTLP only when an endpoint is configured and always retains a bounded ring buffer of recent traces queryable in-process. Kernel decisions attach their id to the active span through the observe hook. Carries enrahitu://022.
Read the full pinned specification ↗Relationships
depends on
Claimed units
- establishes
{ "kind": "file", "path": "crates/rahi-edge/src/obs/mod.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-edge/src/obs/metrics.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-edge/src/obs/tracer.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-edge/src/obs/ring.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-edge/src/obs/layer.rs" } - establishes
{ "kind": "file", "path": "crates/rahi-edge/tests/obs.rs" } - extends
{ "nature": "additive", "spec": "020-edge-server", "unit": { "kind": "file", "path": "crates/rahi-edge/src/lib.rs" } } - extends
{ "nature": "additive", "spec": "020-edge-server", "unit": { "kind": "file", "path": "crates/rahi-edge/src/middleware/mod.rs" } } - extends
{ "nature": "additive", "spec": "020-edge-server", "unit": { "kind": "file", "path": "crates/rahi-edge/src/router.rs" } } - extends
{ "nature": "additive", "spec": "020-edge-server", "unit": { "kind": "file", "path": "crates/rahi-edge/Cargo.toml" } } - extends
{ "nature": "additive", "spec": "020-edge-server", "unit": { "kind": "file", "path": "crates/rahi-edge/testdata/" } } - extends
{ "nature": "additive", "spec": "015-kernel-manifest-and-adjudication", "unit": { "kind": "file", "path": "crates/rahi-kernel/src/facade.rs" } } - extends
{ "nature": "additive", "spec": "015-kernel-manifest-and-adjudication", "unit": { "kind": "file", "path": "crates/rahi-kernel/Cargo.toml" } } - extends
{ "nature": "additive", "spec": "010-workspace-and-core-types", "unit": { "anchor": "workspace.dependencies", "file": "Cargo.toml", "kind": "section" } }
Source headings
- 023: Observability
- 1. Purpose
- 2. Territory
- 3. Behavior
- 4. Functional requirements
- 5. Acceptance criteria
- 6. Out of scope
- 7. Resolved decisions
- Verification
Frozen anchors
No frozen anchors declared.