Skip to main content
Ancha accepts OTLP/HTTP trace exports, as JSON or protobuf, optionally gzipped. Each span becomes a record of Trace IR. Spans Ancha cannot read are kept out.

The agent

API calls

An HTTP client span whose url.full is a tool Ancha replicates becomes a call. OpenTelemetry’s HTTP instrumentation does not record bodies. Add the two ancha.http.* attributes in your HTTP client’s hook or in a span processor. Without bodies, the trace shows which calls happened but not what the tools answered. Hosts Ancha recognizes. The trace page says which of them it rebuilds starting data for.

Webhooks

A server span with ancha.inbound.service becomes an inbound record. Put the received body in ancha.http.request.body.

Model calls

Ancha reads model spans in four conventions, and with them the messages the call was sent. Set your instrumentation to capture message content to send them; without them, Ancha cannot tell what your agent was told and asks you. Ancha also reads the model (gen_ai.request.model or llm.model_name) and token counts. It keeps user and assistant messages only; system instructions are never stored.

Tool calls

A span with gen_ai.operation.name set to execute_tool becomes a tool record: gen_ai.tool.name, gen_ai.tool.call.arguments and gen_ai.tool.call.result.

Times

Records keep their span times. When the trace holds a Slack event, Ancha aligns the trace’s clock to Slack’s timestamps, so a machine whose clock drifts still lines up with the tools.