adrielc/helios-alpha/golem-enable-otlp-rust
- community
Checking that the SKILL.md file is still in the repository.
Enabling the OpenTelemetry (OTLP) plugin for a Rust Golem agent — exporting traces, logs, and metrics to an OTLP collector, adding custom spans with the invocation context API.
Install
npx vskill@latest install adrielc/helios-alpha/golem-enable-otlp-rustSKILL.md
Enabling OpenTelemetry for a Rust Agent
The golem-otlp-exporter is a built-in plugin that exports agent telemetry (traces, logs, metrics) to any OTLP-compatible collector via OTLP/HTTP. No plugin installation is needed — just enable it in the application manifest.
Step 1 — Enable the Plugin in golem.yaml
Add the plugin to the component (or agent) that should emit telemetry:
Plugin Parameters
| Parameter | Required | Description | |
|---|---|---|---|
endpoint | Yes | OTLP collector base URL (e.g., http://localhost:4318) | |
signals | No | Comma-separated: traces, logs, metrics. Default: traces | |
headers | No | Comma-separated key=value HTTP headers (e.g., x-api-key=secret) | |
service-name-mode | No | agent-id (default) or agent-type |
Step 2 — Deploy
After deployment, newly created agents from this component automatically send telemetry to the configured collector.
What Gets Exported
Traces
Spans are created automatically for:
- Agent invocations
- RPC calls to other agents
- Outgoing HTTP requests
Trace and span IDs propagate from inbound HTTP requests (via code-first routes) and are included in outgoing HTTP request headers automatically.
Custom Spans
Use the golem::api::context bindings to create custom spans:
Logs
When logs is included in signals, all log output is forwarded to the OTLP collector. See the golem-logging-rust skill for full logging guidance.
Metrics
When metrics is included in signals, the following metrics are exported:
| Metric | Type | Description | |
|---|---|---|---|
golem_invocation_count | Counter | Number of agent method invocations | |
golem_invocation_duration_ns | Counter | Invocation duration | |
golem_invocation_fuel_consumed | Counter | Fuel consumed by invocations | |
golem_invocation_pending_count | Counter | Number of pending invocations | |
golem_host_call_count | Counter | Number of internal host calls | |
golem_log_count | Counter | Number of log entries emitted | |
golem_memory_initial_bytes | Gauge | Initially allocated memory | |
golem_memory_total_bytes | Gauge | Total allocated memory | |
golem_memory_growth_bytes | Counter | Memory growth since start | |
golem_component_size_bytes | Gauge | Component size in bytes | |
golem_error_count | Counter | Number of recorded errors | |
golem_interruption_count | Counter | Number of interrupt requests | |
golem_exit_count | Counter | Number of process exit signals | |
golem_restart_count | Counter | Number of times a fresh state was created | |
golem_resources_created | Counter | Number of internal resources created | |
golem_resources_dropped | Counter | Number of internal resources dropped | |
golem_resources_active | Gauge | Number of active internal resources | |
golem_update_success_count | Counter | Number of successful updates | |
golem_update_failure_count | Counter | Number of failed updates | |
golem_transaction_committed | Counter | Number of committed database transactions | |
golem_transaction_rolled_back | Counter | Number of rolled back database transactions | |
golem_snapshot_size_bytes | Counter | Snapshot size in bytes | |
golem_oplog_processor_lag | Gauge | Oplog processor delivery lag |
Each metric includes service.name, golem.agent.id, golem.component.id, and golem.component.version attributes.
Local Observability Stack
The Golem repository includes a ready-made Docker Compose setup at docker-examples/otlp-collector/:
This starts:
- OTel Collector on port 4318 (OTLP/HTTP)
- Jaeger on http://localhost:16686 (traces)
- Prometheus on http://localhost:9090 (metrics)
- Loki via Grafana (logs)
- Grafana on http://localhost:3000 (admin/admin)
Configure the plugin with endpoint: "http://localhost:4318" to use this stack.
Per-Environment Configuration
Use presets to vary the endpoint across environments:
Key Points
- Built-in — no
golem plugin registerneeded, just add togolem.yaml - Deploy required — run
golem deployafter adding the plugin configuration - Trace context propagates automatically through HTTP routes and RPC calls
- Use
context::start_spanfromgolem_rust::bindings::golem::api::contextfor custom spans - Plugin can be activated/deactivated per agent with
golem agent activate-plugin/golem agent deactivate-plugin
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckinggolem/.agents/skills/golem-enable-otlp-rust/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/adrielc/helios-alpha/golem-enable-otlp-rust)