thousand birds / products / tael

Tael observability for agents

A CLI-first observability platform that ingests OpenTelemetry over OTLP and returns JSON by default — so agents can query, correlate, and annotate production telemetry themselves.

status
beta
license
Apache 2.0
binary
Rust, single file
OTLP
:4317
REST
:7701
storage
embedded columnar
§ overview

Telemetry an agent can actually use.

Most observability platforms expect a human reading a dashboard. Tael expects an agent reading JSON. The same surface area works for both — the agent just reads more of it.

It pairs naturally with Chidori — point a Chidori agent at :4317 and every prompt, tool call, and human-input step shows up as a span you can correlate.

§ capabilities

What ships in the binary.

OTLP ingestion
Accepts traces from any OpenTelemetry-instrumented app. Standard protocol, no proprietary SDKs.
CLI-first querying
Every command returns structured JSON. Pipe it, diff it, feed it to an agent. Human tables on demand.
Cross-signal correlation
Pull every span, log, and metric for a trace ID with one command. No stitching required.
Anomaly detection
Surface services with error-rate or latency regressions against a rolling baseline.
Trace annotations
Agents leave comments on traces — a durable audit trail of what was investigated and why.
Interactive TUI
Live trace feed and waterfall visualization, all inside the terminal.
§ install

One binary. Zero deps.

  1. 01
    Install
    $ cargo install tael-server tael-cli
  2. 02
    Run the server
    $ tael-server   # OTLP :4317 · REST :7701
  3. 03
    Point any OTLP exporter at it
    OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4317
§ cli reference

Five commands cover most of it.

$ tael traces list --service <svc>
List recent traces for a service.
$ tael correlate --trace <id>
Pull every span, log, and metric tied to a trace ID.
$ tael anomalies --since 1h
Services regressing on latency or error rate vs. rolling baseline.
$ tael annotate <id> --note "..."
Attach a comment to a trace. Agents use this to record findings.
$ tael tui
Live trace feed and waterfall view, inside the terminal.
example output — anomalies
$ tael anomalies --since 1h --format json | jq
[
  {
    "service": "researcher-agent",
    "metric": "latency.p95",
    "baseline_ms": 1180,
    "current_ms": 4210,
    "severity": "high",
    "first_seen": "14:02:31Z",
    "trace_ids": ["0x4a1c2e", "0x4a2f11"]
  }
]
§ annotations

A trail of what an agent already figured out.

Annotations attach to a trace ID and persist alongside it. When an agent investigates a regression, the next agent — or a human — sees the prior conclusion instead of starting from zero.

$ tael annotate 0x4a1c2e \
    --note "deep-search returns list[str]; bug filed #482"

→ stored on trace 0x4a1c2e · visible to subsequent queries
Pair Tael with Chidori for replayable, auditable agent runs.