Everstack
Getting StartedObservabilityCoding AgentsTrace Coding Agents

Trace Coding Agents

Stream OpenTelemetry traces from Claude Code, Gemini CLI, Codex, GitHub Copilot, Cursor, and other coding agents into your Everstack instance — no SDK required.

Overview

Everstack ingests OpenTelemetry directly, so any coding agent that can export OTLP streams its sessions straight into your Traces view — LLM requests, tool calls, sub-agents, token usage, and cost — with no Everstack-specific SDK or instrumentation. Everstack normalizes each agent's attribute conventions into one schema, so they all render the same way.

Pick your agent

How it works

Your agent exports OTLP/HTTP to your instance. Three signals map to three endpoints, all authenticated with an Everstack API key as a Bearer token:

SignalEndpoint
TracesPOST https://<your-instance>/v1/traces
LogsPOST https://<your-instance>/v1/logs
MetricsPOST https://<your-instance>/v1/metrics

The Langfuse-compatible aliases /api/public/otel/v1/{traces,logs,metrics} are also accepted. The API key is resolved to your tenant and stamped onto every span — clients cannot write into another tenant's data.

Create an API key

Open your dashboard → Settings → Vault → API Keys, create a key, and copy it (shown once). The key must be created on the same instance you send telemetry to.

Point your agent at the instance

Most OTLP exporters take a base endpoint and append the signal path automatically:

OTEL_EXPORTER_OTLP_ENDPOINT=https://<your-instance>
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer <your-api-key>"

Then follow the page for your agent above.

What you get

Once telemetry is flowing, every agent session renders in Traces with a unified schema, regardless of which agent produced it:

  • Model & provider — normalized across agents; provider is inferred from the model name when it isn't reported (e.g. glm-* → Zhipu, kimi-* → Moonshot).
  • Token usage — input, output, and cached tokens, coalesced across each agent's attribute names.
  • Cost — reported where available; otherwise computed from your model-catalog pricing.
  • Tool calls & sub-agents — tool spans and nested sub-agent runs, rendered in the trace tree.

Cost for token-only agents. Only some agents (e.g. Claude Code) report a dollar cost. For agents that emit only token counts (Gemini CLI, Codex, GLM, Kimi), Everstack computes cost from the same model-catalog pricing used for billing — so trace cost matches what you are billed. A reported cost is never overwritten.

Verify

Send a prompt through your agent, then open Traces. Traces appear within a few seconds (metrics aggregate more slowly). Filter by service name or session.id to find a specific run; the root span expands into LLM requests, tool calls, and sub-agents.

Telemetry initializes when the agent process starts, so only sessions started after you add the config will emit. Restart the agent — a new prompt in an existing session is not enough.

Notes

  • The API key is sent as a Bearer token and must belong to the instance you point at — a key from another instance will not authenticate.
  • To expose your deployed agents as callable tools to an IDE or another agent, see the MCP server — that's the inbound direction (others calling your instance), complementary to tracing.

On this page