hermes-otel
briancaffey/hermes-otel
OpenTelemetry plugin that turns every Hermes Agent turn into a trace with token, cost and latency metrics
hermes-otel is an OpenTelemetry plugin for Hermes Agent that turns every Hermes turn, including model calls, tool calls, skill loads, approvals and delegated sub-agents, into one trace exported to any OTLP/HTTP backend.
What hermes-otel does
Each turn becomes a tree of spans: an agent or cron root, skill.{name} for loaded skills, llm.{model} for each conversation run, api.{model} for each HTTP round-trip with token counts, cost and finish reason, tool.{name} for tool calls with arguments, result and outcome, approval.{pattern} for approval waits and subagent.{role} for delegated tasks, whose child trace nests inside the parent. Token, cost and latency metrics are emitted, with optional logs and structured events.
Attributes follow two conventions at once, OpenInference for Phoenix and OTel GenAI for Langfuse, Weave and generic dashboards, so backends need no custom mapping. The README lists tested backends including Phoenix, Langfuse, LangSmith, SigNoz, Jaeger, Grafana Tempo, Honeycomb, W&B Weave and Elastic, among others. A documentation site covers the quickstart, backend guides, configuration and references for span attributes, metrics and hooks.
Key features
- One OTel trace per Hermes turn, with nested sub-agent traces
- Spans for LLM calls, API round-trips, tools, skills and approvals
- Token, cost and latency metrics, plus optional logs and events
- Attributes in both OpenInference and OTel GenAI conventions
- Export to any OTLP/HTTP backend, with 19 listed as tested
- Tool outcome recorded as completed, error, timeout, blocked or cancelled
When to use it
- Finding why a Hermes turn was slow by reading its span tree in Jaeger or Grafana Tempo
- Tracking token cost per model in Langfuse or Phoenix
- Following a multi-agent run as a single connected trace
Who it is for: Developers and operators who run Hermes Agent and want standard observability data about its behavior.
How it fits with Hermes Agent
Built for Hermes Agent as a plugin that hooks into each turn, tool call, skill load, approval and delegated sub-agent.
FAQ
What is hermes-otel?
hermes-otel is an OpenTelemetry plugin for Hermes Agent. It records every turn as a trace with spans for model calls, tools, skills, approvals and sub-agents.
Does hermes-otel work with Hermes Agent?
Yes, it is a plugin made for Hermes Agent and it follows hooks documented on its reference site. It can trace cron runs and delegated sub-agents as well as interactive turns.
Which observability backends does hermes-otel support?
It exports to any OTLP/HTTP endpoint. The README lists tested backends such as Phoenix, Langfuse, LangSmith, SigNoz, Jaeger, Grafana Tempo, Honeycomb, W&B Weave and Elastic.
Similar plugins for Hermes Agent
All pluginsMarketplace of OpenTelemetry plugins for coding agents, installable in Hermes with a plugin pack
mykeura Minimalist Themes for Hermes DesktopEighteen warm, light color themes for Hermes Desktop, installable as a Hermes plugin
rusty4444 Hermes Home Assistant Voice IntegrationHome Assistant custom integration and Hermes plugins for smart-home control and a local voice loop
rarf Hermes QuotaPer-provider quota, rate limits and reset times in Hermes Desktop and the CLI, read from a local cache
TheSmokeDev Hermes TalkRealtime duplex voice plugin for Hermes Agent in the terminal, Discord voice and the dashboard
bielcarpi Hermes Live VoiceSelf-hosted realtime voice gateway for Hermes Agent with background task supervision
Related guides: How to install Hermes Agent · How to run Hermes Agent securely