Installation
Tael ships as a single Rust binary named tael. There is no database to provision, no Docker image to pull, and no cluster to stand up — tael serve runs OTLP ingestion, storage, and the REST API in one process.
Install the binary
The CLI and server both live in the tael-cli crate, which produces the tael binary.
# Fastest — downloads a prebuilt binary, no compilation
cargo install cargo-binstall # if you don't have it
cargo binstall tael-clitael-server is the library crate; tael-cli is the one that produces the
tael executable. Installing tael-cli is all you need.
Confirm the install:
tael --helpStart the server
tael serveBy default this listens on:
127.0.0.1:4317— OTLP gRPC ingest (traces, logs, metrics)127.0.0.1:7701— REST API (what the CLI queries)
Data is written under ~/.tael/data, with the write-ahead log under ~/.tael/wal_files.
Custom ports and directories
Override anything with flags (or the matching environment variable — see Configuration):
tael serve \
--otlp-grpc-addr 0.0.0.0:4317 \
--rest-api-addr 0.0.0.0:7701 \
--data-dir /var/lib/tael/data \
--wal-dir /var/lib/tael/walThere are also two convenience port flags that work on any command:
tael serve --port-otel 4317 --port-rest 7701Verify it's running
In a second terminal, ask the server for its status:
tael server statusThen list the services it has seen (empty until you send data):
tael services --format tableIf tael server status can't reach the server, check that tael serve is still running and that you're pointing at the right address — every client command accepts --server http://host:port (or the --port-rest shorthand).
Next steps
- Quickstart — instrument an app and run real queries.
- Instrumenting Your App — the OTel env vars and the wide-events pattern.
- Configuration — every
TAEL_*environment variable.
