Dhanur AI
Docs menu· Monitoring (OpenTelemetry)

Send agent traces to your monitoring tool

Live

Send every finished task to Grafana, Honeycomb, Datadog, Langfuse or any OpenTelemetry collector as a trace, with the model, tokens, time and rupee cost of each step.

If your team already watches its systems in Grafana, Honeycomb, Datadog, Langfuse or another tool that accepts OpenTelemetry, Dhanur AI can send your agents' work there too. Each finished task arrives as one trace, next to the rest of your systems.

You need the Owner or Admin role to set it up.

Set it up

  1. Open Settings, then Monitoring.
  2. Paste your tool's OTLP/HTTP traces address and select Save. For most tools it ends in /v1/traces, such as https://api.honeycomb.io/v1/traces. It must be an https address on the internet; addresses inside your own network can't be reached from our servers.
  3. Add the headers your tool asks for, usually an API key: x-honeycomb-team for Honeycomb, Authorization for Grafana Cloud, DD-API-KEY for Datadog. Values are stored encrypted and never shown again. To change one, type it again.
  4. Select Send a test trace. It sends one made-up trace named invoke_agent Test agent and tells you what your tool answered.
  5. Turn on Send traces and select Save again.

From then on, finished tasks are sent every 2 minutes, up to 100 at a time. Tasks from before you turned it on aren't sent.

What each trace holds

We follow OpenTelemetry's naming for AI work (the gen_ai conventions), so tools that understand AI traces show them properly.

  • The task is the top span, named invoke_agent and the agent's name. It carries the task's id (gen_ai.conversation.id), the agent (gen_ai.agent.name, gen_ai.agent.id), its status and channel, the workforce and the task that asked it, if any, and the number of steps.
  • Each AI call is a span named chat and the model, with the provider, the model and the tokens in and out.
  • Each tool is a span named execute_tool and the tool's name.
  • Workforce steps, such as a hand-over or a condition, keep their own names.
  • Every span has dhanur.cost_inr: what it cost in rupees of credits, the same figure as the app shows. It also has its outcome and, for AI calls, the version of the instructions it used.
  • The resource is service.name = dhanur-ai-agents, with your workspace id and the projects in the batch.

A task that changes after it was sent, such as one that waited for an approval, is sent again with the same trace id. Most tools merge the two.

What is never sent

No message text, no customer details, no tool inputs or results, and nothing from your knowledge. A trace has names, numbers, times and outcomes only.

When sending fails

A failed batch keeps its place and is tried again 2 minutes later, so nothing is skipped. The Monitoring page shows the last error, and so does Needs attention, as Traces aren't reaching your monitoring tool. The usual causes are an expired API key or an address without /v1/traces.

To stop, turn off Send traces and select Save. Traces already sent stay in your tool; delete them there if you need to.

Good to know

  • Sending traces is free. What your monitoring tool charges is between you and them.
  • The traces use OTLP over HTTP with JSON. Collectors that only take gRPC need an OpenTelemetry Collector in front.
  • Every change to these settings is kept in the activity log.

Last updated 24 September 2026

Something unclear or wrong? Tell us