Skip to main content

exd telemetry tail

Live-follow a streaming evaluation-record source. The telemetry equivalent of tail -f.

Synopsis

exd telemetry tail
[--source <uri>]
[--flag <key>]...
[--namespace <slug>] [--environment <env>]
[--format human|json]

See common flags for shared options. Note that --since / --from / --to are not applicable — tail consumes the live stream.

Description

Streams formatted records to stdout as they arrive. Records can come from a growing file (file:///var/log/exd/records.ndjson), an OTel receiver endpoint, or a streaming-bus topic — whatever the configured sink writes to.

Human mode uses ANSI color and abbreviates long fields. JSON mode emits one record per line (NDJSON), so it composes with jq and friends.

Use cases

  • Live watch during a rollout. Push a new manifest, watch the variant distribution shift in real time:

    exd telemetry tail --flag onboarding-banner --format json | \
    jq -r '.variant' | sort | uniq -c
  • Catch a misbehaving SDK in the act. Combine with grep to find specific contexts:

    exd telemetry tail | grep "u_42"
  • Debug a brand-new sink. Confirm records are arriving in the expected shape:

    exd telemetry tail --source file:///tmp/records.ndjson --format json
  • Live T011 watch. Private-attribute leakage is the only error-severity diagnostic; tail shows them as they happen.

Subcommand-specific flags

FlagRequiredNotes
--source <uri>noMust be a streamable input. Defaults to the configured ambient source.

Output

Human mode:

$ exd telemetry tail --flag onboarding-banner
17:42:11Z onboarding-banner prod treat_a rule_matched v13 user.country=US user.tier=pro
17:42:12Z onboarding-banner prod treat_b rule_matched v13 user.country=DE
17:42:12Z onboarding-banner prod control fallthrough v12 user.country=BR ← skew

JSON mode emits one full evaluation record per line.

Stability

Tail's human-format rendering is NOT stable across versions. Pipe --format json for any scripted consumer.

Exit codes

See telemetry exit codes. tail typically exits on SIGINT (Ctrl-C); the exit code in that case is 130.

See also