otel-rust

Fix OpenTelemetry SDK setup and Rust instrumentation for Tokio services.

2|Updated May 28, 2026
One-click install
npx skills add https://github.com/tsuga-dev/agent-plugins --skill otel-rust
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: otel-rust
Source: https://github.com/tsuga-dev/agent-plugins/tree/main/plugins/telemetry/skills/otel-rust
Command: npx skills add https://github.com/tsuga-dev/agent-plugins --skill otel-rust

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Provides Rust-specific, production-minded guidance for adding, auditing, or repairing OpenTelemetry (traces, metrics, logs) so signals correctly export and correlate in Tsuga.

Core Features & Use Cases

  • Rust-native OTel recipes: Use the confirmed Rust instrumentation pattern with the recommended tracing + tracing-opentelemetry bridge.
  • Async- and protocol-aware correctness: Avoid common Tokio runtime and exporter lifecycle pitfalls (e.g., missing shutdown/flush, dropped providers, orphaned spans).
  • Operational guardrails: Enforces a mutation gate that shows a proposed diff first and applies changes only after explicit confirmation.
  • Cross-signal & messaging support: Covers spans, metrics, logs, resource attributes, and async messaging patterns (Kafka/AMQP/SQS) including span Links.

Quick Start

Use the otel-rust skill after you identify the Rust service and want to add or fix SDK setup and instrumentation so traces, metrics, and/or logs reach Tsuga correctly.

Frequently Asked Questions about otel-rust

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

FAQPage Schema
How do I fix OpenTelemetry traces not exporting from my Rust Tokio service?

OpenTelemetry traces not exporting from Rust Tokio services often result from missing shutdown flush calls or orphaned spans. This Skill audits tracing-opentelemetry bridge setup and runtime lifecycle to ensure signals correctly export and correlate.

Why are my Rust OpenTelemetry spans broken or disconnected in async frameworks?

Broken or disconnected OpenTelemetry spans in Rust async frameworks usually stem from Tokio runtime incompatibility and dropped providers. This Skill repairs instrumentation by applying version-aware guidance for Axum, Actix-web, tonic, and rdkafka.

How do I set up tracing and metrics together in Rust using tracing-opentelemetry?

Setting up tracing and metrics together in Rust requires the recommended tracing and tracing-opentelemetry bridge. This Skill provides Rust-native recipes to configure SDK setup so spans, metrics, logs, and resource attributes correlate correctly.

Does OpenTelemetry instrumentation work with Rust gRPC and Kafka async messaging?

OpenTelemetry instrumentation works with Rust gRPC via tonic and Kafka via rdkafka. This Skill covers async messaging patterns including span Links for Kafka, AMQP, and SQS to ensure traces correlate across messaging boundaries.

Can I safely modify Rust source code to add OpenTelemetry without breaking existing services?

Safely modifying Rust source code to add OpenTelemetry requires a mutation gate that shows a proposed diff first. This Skill requests explicit user confirmation before applying any source changes, preventing unintended breaks to async services.

What is the best way to audit missing OpenTelemetry signals in a Rust application?

The best way to audit missing OpenTelemetry signals in a Rust application is an instrumentation audit checking provider lifecycle and resource attributes. This Skill troubleshoots missing traces, metrics, and logs for confirmed Rust async Tokio services.