---
title: "Trace Pipeline Health"
method: GET
path: "/admin/api/v1/traces/_health"
tags: ["Traces"]
---

# Trace Pipeline Health

`GET /admin/api/v1/traces/_health`

Return queue depth + drop count from the running exporter.

Safe-default: when no exporter is attached to ``app.state`` (engine
booted without a trace pipeline, or T7 wiring not present), return
zeroes plus ``writer_running=False`` so the UI panel stays
renderable instead of erroring.

Declared **before** the ``/{otel_trace_id}`` route so the literal
path takes precedence over the path-parameter route at match time
— FastAPI iterates in declaration order.

Also surfaces ``database_dialect`` (read off the sessionmaker bind)
so the UI can conditionally render the SQLite operational banner
without a second round-trip.

## Response `200`

Successful Response

- StandaloneTraceHealth — Body of ``GET /admin/api/v1/traces/_health``. Reflects the running ``StandaloneSpanExporter``'s queue. When the trace pipeline is not attached (engine booted without traces) the router returns zeroes + ``writer_running=False`` instead of 404 so the UI panel can render a stable "pipeline idle" state. ``database_dialect`` lets the UI conditionally render the SQLite operational banner without a second round-trip; it mirrors the SQLAlchemy bind dialect name (``"sqlite"`` or ``"postgresql"``) and falls back to ``"unknown"`` when no bind is reachable.
  - `queueDepth` integer, required
  - `maxQueueSize` integer, required
  - `overflowCount` integer, required
  - `writerRunning` boolean, required
  - `databaseDialect` string
  - `instrumentorStatus` string
  - `instrumentorMessage` string, nullable

---

[API](https://skmtc.net/idun-group/apis/idun-agent-engine-server.md) · [All operations](https://skmtc.net/idun-group/apis/idun-agent-engine-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/idun-group/idun-agent-engine-server/revisions/8909cd73cc1c/schema)
