Skip to content

Terminal Viewer

autotel-terminal is a terminal-native trace viewer built with Ink (React for CLIs). It streams OpenTelemetry spans and shows them as traces with a span tree, search, and waterfall view.

Terminal window
npm install autotel-terminal autotel

Run as a standalone OTLP receiver:

Terminal window
npx autotel-terminal

Then point your app at it:

Terminal window
OTEL_EXPORTER_OTLP_PROTOCOL=http/json \
OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4319 \
node app.js

CLI Options:

  • -p, --port <port> — Port (default: 4319)
  • -H, --host <host> — Host (default: 127.0.0.1)
  • -t, --title <title> — Dashboard title

Wire StreamingSpanProcessor directly to your app:

import { init, trace } from 'autotel';
import { renderTerminal, StreamingSpanProcessor } from 'autotel-terminal';
const stream = renderTerminal({ title: 'my-app' });
init({
service: 'my-app',
spanProcessors: [new StreamingSpanProcessor(stream)],
});
// Spans appear in the terminal as they complete
KeyAction
/Search by span name
eToggle error-only filter
↑/↓Navigate traces/spans
EnterExpand selected trace
lToggle logs view
?Help overlay
qQuit
  • Real-time span streaming
  • Parent/child span tree per trace
  • Search and error filtering
  • Span detail view with attributes
  • Waterfall visualization
  • Relative time labels
  • example-terminal — Interactive terminal dashboard with live span streaming, error filtering, and P95 latency.
EndpointSignal
POST /v1/tracesTraces
POST /v1/logsLogs
POST /v1/metricsMetrics
GET /healthzHealth check