golem-enable-otlp-rust

Configure the golem-otlp-exporter plugin to export traces, logs, and metrics from Rust Golem agents.

1.5k|212|Updated Nov 24, 2023
One-click install
npx skills add https://github.com/golemcloud/golem --skill golem-enable-otlp-rust
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: golem-enable-otlp-rust
Source: https://github.com/golemcloud/golem/tree/main/golem-skills/skills/rust/golem-enable-otlp-rust
Command: npx skills add https://github.com/golemcloud/golem --skill golem-enable-otlp-rust

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Rust Golem agents need observability, but wiring up OpenTelemetry exporters manually is complex. This Skill shows how to enable the built-in golem-otlp-exporter plugin so agents automatically send traces, logs, and metrics to any OTLP-compatible collector.

Core Features & Use Cases

  • Plugin Configuration: Enable the golem-otlp-exporter plugin directly in golem.yaml with endpoint, signals, headers, and service-name-mode parameters.
  • Automatic Telemetry: Get spans for agent invocations, RPC calls, and outgoing HTTP requests, plus 20+ built-in runtime metrics, with no code changes.
  • Custom Spans: Create custom spans and read trace context using the golem::api::context bindings in Rust.
  • Use Case: Deploy a Rust agent, point the plugin at a local Docker Compose observability stack (Jaeger, Prometheus, Grafana, Loki), and immediately view distributed traces and metrics for every agent invocation.

Quick Start

Enable the OTLP exporter plugin for my Rust Golem agent and show me how to view its traces in Jaeger.

Frequently Asked Questions about golem-enable-otlp-rust

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enable OpenTelemetry tracing for a Golem Rust agent?

Add the golem-otlp-exporter plugin to your component in golem.yaml with an OTLP endpoint and desired signals, then run golem deploy. No plugin registration is needed since the exporter is built in.

How do I create custom spans in a Golem Rust agent?

Use the golem::api::context bindings from golem_rust: call context::start_span with a name, set attributes via set_attribute or set_attributes, and call finish when done. The current trace ID is available from context::current_context().

What metrics does the golem-otlp-exporter plugin export?

When metrics is included in signals, it exports over 20 runtime metrics including invocation counts and durations, memory gauges, fuel consumption, error counts, and transaction counters. Each metric carries service.name, agent ID, and component ID attributes.

Can I use different OTLP endpoints per environment in Golem?

Yes, use presets in golem.yaml with pluginsMergeMode set to replace to override the plugin configuration per environment. For example, a production preset can point to a remote collector with API key headers.

Does the OTLP exporter require installing a plugin first?

No, golem-otlp-exporter is a built-in plugin, so no golem plugin register step is required. You only add it to the component's plugins section in golem.yaml and redeploy.