LLM tracing for Ruby apps. Reports what your app asked the model, how long it took, what it cost in tokens, and which tools ran — to the ActiveAgents platform or any self-hosted ActiveAgent dashboard.
Configuration guide → the wiki
| Gem | Use it when |
|---|---|
activeagents-telemetry | Shared core — wire format, configuration, delivery. Every adapter depends on it. |
activeagents-telemetry-ruby_llm | Your app calls models through RubyLLM. |
Apps built on the ActiveAgent framework don't need an adapter — the framework reports telemetry on its own.
# Gemfilegem"activeagents-telemetry-ruby_llm"# config/initializers/telemetry.rbRubyLLM.configuredo |config|
config.instrumenter=ActiveSupport::Notifications# RubyLLM 1.x; 2.x wires this up in RailsendActiveAgents::Telemetry.configuredo |config|
config.api_key=ENV["ACTIVEAGENTS_API_KEY"]config.service_name="my-app"endActiveAgents::Telemetry::RubyLLM.subscribe!That's it. Every chat turn now reports as a trace.
One trace per conversation turn:
root SupportBot.respond 1,240ms OK
└─ llm llm.generate gpt-4o 2 rounds 1,180ms 42 tokens
└─ tool tool.search_docs 310ms OK
Prompts, completions, and tool arguments/results are sent only when
capture_bodies is enabled (off by default). Error messages are truncated and
backtraces are never transmitted.
Point the endpoint at your mounted dashboard — same gems, same wire format:
config.endpoint="https://your-app.example.com/active_agent/api/traces"bundle install
bundle exec rake test_all # core + every adapter
bundle exec rake build_all # build all gems into pkg/MIT — see LICENSE.txt.