Browse documentation

Investigate

Search logs, traces, and metrics

Use raw telemetry when a customer story or Issue requires a deeper service-level investigation.

Raw signal views are the deeper layer beneath customer and Issue workflows. Use them when the problem has no customer, when correlation is incomplete, or when you need service-wide context.

Logs

Open Explore → Logs to search structured fields or use live tail. Begin with a short time range and a service, trace ID, customer ID, or error level.

Use live tail for active reproduction, not for historical analysis. Stop the stream when you have a stable identifier and move back to a bounded search.

From the CLI:

teml logs tail --service orders-api --level error
teml logs tail --distinct-id buyer@acme.example

Filters include service, level, full-text query, environment, customer ID, and project. The CLI reconnects when a stream drops; Ctrl-C stops it. The dashboard’s Live button starts the same stream with the current filters; Pause returns to bounded search.

For a custom SSE consumer:

curl -N \
  -H "X-Teml-API-Key: $TEML_API_KEY" \
  "https://api.teml.io/api/v1/stream/logs?project_id=$TEML_PROJECT&level=error"

Send Accept: text/event-stream in production clients. Each data: frame contains one JSON log; comment frames are heartbeats. Reconnect with backoff after a terminal event: error.

Traces

Open Explore → Traces to inspect requests and spans. Filter by service, duration, status, or customer identity. In a trace, start with the critical path and error spans, then open correlated logs.

The LLM Costs tab is a trace-backed view of model calls and token cost.

Metrics and services

Use Metrics, Services, and Service Map for symptoms that affect a broad service or have no customer identity, such as queue backlog or infrastructure saturation.

Metrics identify when and where behavior changed. Use the matching time window in traces and logs to explain why.

Save repeatable work

Save a search when the same filter is useful during future incidents. Create a dashboard only for a question the team expects to revisit; avoid dashboards that duplicate an existing customer, Issue, or service view.

Keep the investigation connected

Whenever a raw signal contains a customer, Issue, trace, release, or replay link, follow it instead of copying identifiers between tabs. The value of Teml is the connected path, not the number of query builders available.

When live tail is empty

The stream carries newly ingested logs only. Run teml logs query --since 5m, remove filters, and confirm the active project before investigating the streaming connection. Proxies that buffer or time out SSE can repeatedly end a healthy stream; connect directly to the API when testing.