v2.0.1

Observability

KAVACH emits metrics, structured logs and traces so operators can see exactly how jobs, evaluations and decisions behave in production.

The 3 Signals

Every subsystem is instrumented for metrics, logs and traces. All three share correlation identifiers so a single request can be followed across control planes.

Metrics

  • Job throughput, latency and retry counts.
  • Evaluation duration and cache hit rate.
  • Reconciliation lag between relational and graph state.

Structured Logs

Logs are emitted as structured JSON with a stable schema. Each entry carries the tenant, subject and correlation id, making logs queryable rather than free text.

json
{
  "level": "info",
  "event": "decision.committed",
  "tenant": "acme",
  "decision_id": "decision_991",
  "trace_id": "b7ad...e2",
  "duration_ms": 42
}

Traces

Distributed traces span the full lifecycle — intake, evaluation, decision and projection — so latency can be attributed to a specific stage rather than guessed at.

KAVACH / governed event stream
trace / b7ad…e2event order
  1. 01
    record intake

    A correlation ID begins at the governed request boundary.

  2. 02
    attach evaluation span

    Provider latency and metric work remain linked to the same trace.

  3. 03
    commit decision event

    The decision carries its policy, evidence and duration context.

  4. 04
    export telemetry

    Metrics, structured logs and trace spans reach the existing backend.

governed outcome

TRACE LINKED

One correlation ID · full lifecycle visible · latency attributable

OpenTelemetry

All telemetry is exported over OpenTelemetry, so KAVACH plugs into your existing collector and backend without proprietary agents.