Configuration reference
Observability and telemetry
Request logs, latency and per-user reports, plus OpenTelemetry logs, traces, metrics and health endpoints.
Request telemetry#
Every query and saga is recorded with the request type, status, user id, duration, row count, a SQL hash and a timestamp. Source breakdowns add, per source: rows fetched, fetch time, whether predicate and projection pushdown happened, an estimate of bytes transferred, cache hits and the exact query sent to the source.
kiwi fabric telemetry # counts, failure rate and average latency
kiwi fabric telemetry-log --type Saga --status Failed # browse the request log
kiwi fabric telemetry-latency --bucket hour # average and p95 latency over time
kiwi fabric telemetry-users # per-user counts, failure rates, latency
kiwi fabric telemetry-request --id <request-guid> # one request, with per-source breakdown
--status accepts Success, Failed, Compensated and DeadLettered. Time windows use ISO 8601 --from and --to.
The Web UI request-detail view shows a waterfall timeline (total, federation, and one bar per source fetch) and, for sagas, the step trace.


OpenTelemetry#
Logs, distributed traces and metrics share one OpenTelemetry pipeline. Output goes to the console by default; an OTLP exporter or a first-class Azure Monitor exporter can be enabled by configuration, with no code change. Every query and every handler fetch is a traced span with its duration and row counts.
Health endpoints#
Liveness and readiness endpoints are provided for orchestration platforms.
Table usage and compensation summary#
The REST API also exposes GET /api/telemetry/table-usage and GET /api/telemetry/compensation-summary, which feed the Web UI dashboards. See the REST API reference.