No SDK to install, no proprietary instrumentation, nothing to rip out later. If your agent emits OTel spans, TwoTail can analyze them today.
Pick the path that matches where you are. Both end at the same place: your traces streaming into TwoTail.
Copy one prompt into Claude Code or Cursor. Your agent wires up tracing end to end: trace structure, sessions, token counts, evals. You review the diff before anything ships.
Running OpenTelemetry instrumentation or a Collector? Point it at the ingest endpoint with your API key in one header. OTLP/JSON in, analytics out.
on the roadmap: bespoke connectors for Langfuse forwarding and n8n
These frameworks can emit OpenTelemetry through their instrumentation. TwoTail reads their conventions out of the box.
Instrument with any of LangChain's OpenTelemetry integrations. TwoTail reads the gen_ai.* conventions they emit: models, prompts, completions, token counts.
Attribute conventions →Traces arriving via OpenInference instrumentation decode cleanly. TwoTail parses input and output messages and invocation parameters, and marks retrieval steps.
Attribute conventions →Crew, task, and agent spans arrive as standard OTel. LLM calls carrying gen_ai.* attributes and tool calls carrying tool.name are typed automatically.
Span typing →Runs, handoffs, and tool calls trace via OTel. TwoTail types spans from gen_ai.* and tool.* attributes and attributes cost to the exact LLM call that spent it.
Cost attribution →Agent runs and subagent spans group into sessions when they share a gen_ai.conversation.id, one trace per turn across a whole conversation.
Sessions →Native ai.* telemetry decodes out of the box: prompts, tool calls, responses, and token usage, including cached input tokens.
Attribute conventions →Any process that can POST OTLP/JSON can trace to TwoTail, directly or through an OpenTelemetry Collector. Attributes TwoTail doesn't recognize are preserved and stay queryable.
Running something we haven't covered? Tell us and we'll take a look.
The short version: if it can emit OpenTelemetry, it can reach TwoTail.
Book a demoNo. TwoTail ingests standard OpenTelemetry, so there is nothing to install and nothing proprietary in your codebase. Your instrumentation stays useful with or without TwoTail.
One endpoint: POST https://www.twotail.ai/api/v1/traces, authenticated with an X-API-Key header. Payloads are standard OTLP/JSON, up to 1,000 spans per request.
The endpoint accepts OTLP/JSON. If your OTel SDK exports protobuf, route it through an OpenTelemetry Collector with JSON encoding, or let your coding agent construct the spans directly.
In the app, under API Keys. Keys start with tt_live_ and the full key is shown once, at creation. Creating and revoking keys requires an owner, admin, or developer role.
Yes. Most teams run TwoTail alongside their trace viewer: same OTel feed, different job. A bespoke Langfuse connector is on the roadmap.
You control payload content at the source. The integration supports three privacy modes (complete, redacted, and call-only), signaled per span with gen_ai.privacy and tool.privacy attributes. Data is stored in isolated Postgres with row-level security, encrypted in transit.
Setup in 10 minutes. First insights within a week.