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

  1. 023: Observability
  2. 1. Purpose
  3. 2. Territory
  4. 3. Behavior
  5. 4. Functional requirements
  6. 5. Acceptance criteria
  7. 6. Out of scope
  8. 7. Resolved decisions
  9. Verification

Frozen anchors

No frozen anchors declared.