otel-guides

Maps official OpenTelemetry documentation by language for planning instrumentation of traces, metrics, logs, and profiles.

9|2|Updated Aug 16, 2026
One-click install
npx skills add https://github.com/using-system/oddyssey --skill otel-guides-using-system
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: otel-guides
Source: https://github.com/using-system/oddyssey/tree/main/.apm/skills/otel-guides
Command: npx skills add https://github.com/using-system/oddyssey --skill otel-guides-using-system

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Planning OpenTelemetry instrumentation requires navigating a large, fast-moving documentation set across many languages, and relying on memory leads to wrong package names, outdated attribute names, and missed zero-code options. This Skill provides a curated, verified map of the official OpenTelemetry docs so instrumentation plans are grounded in the actual current documentation. ## Core Features & Use Cases - Per-language reference files: Covers C++, .NET, Erlang/Elixir, Go, Java, JavaScript, Kotlin, PHP, Python, Ruby, Rust, Swift, and community SDKs, each listing every official docs section with what it covers and how to use it. - Cross-language references: Dedicated guides for SDK configuration (OTEL_* environment variables), semantic conventions, generative AI (gen_ai.* spans, metrics, and per-SDK instrumentation libraries), the Collector, and profiling. - Verification rules: Enforces fetching official pages before recommending package names or APIs, with fallback strategies when registry pages render client-side. - Use Case: When instrumenting a Python service that calls OpenAI, open the Python reference for zero-code setup and the GenAI reference to pick the right instrumentation package and content-capture settings, then verify each claim against the linked official page. ## Quick Start Ask the agent to plan OpenTelemetry instrumentation for your service, naming its language and any LLM or agent frameworks it uses.

Frequently Asked Questions about otel-guides

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

FAQPage Schema
How do I plan OpenTelemetry instrumentation for my application?

Pick the reference file for your language, read its section map of the official docs, then fetch the linked pages you need. Prefer zero-code or existing instrumentation libraries over manual spans, and verify every package name against the fetched page.

Which languages does OpenTelemetry officially document?

Official docs cover C++, .NET, Erlang/Elixir, Go, Java, JavaScript, Kotlin, PHP, Python, Ruby, Rust, and Swift. Other languages are served by community SDKs listed in the OpenTelemetry Registry, with varying maturity.

How do I instrument LLM calls with OpenTelemetry gen_ai conventions?

Detect the SDK in your dependency manifest (openai, anthropic, langchain, Vercel AI SDK, etc.) and use its official instrumentation library, which emits gen_ai.* spans and token metrics. Content capture of prompts and completions is opt-in, controlled by settings like OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT.

Should I use a Collector or export OTLP directly from the SDK?

Direct export works for development and small setups, but the project recommends a Collector alongside the service so the app offloads data quickly and the Collector handles retries, batching, and filtering. The Collector reference covers agent, gateway, and agent-to-gateway deployment patterns.

Does OpenTelemetry support continuous profiling?

The profiles signal is Alpha, and only Java lists a Development-status SDK artifact. In practice, continuous profiling uses vendor SDKs like Pyroscope or host-level eBPF profilers, which push over their own APIs rather than OTLP.

Why does fetching an OpenTelemetry registry page return no content?

Registry pages render client-side, so a plain text fetch often returns nothing. Fall back to the language's contrib repository README, then the package index search (PyPI, npm, Maven Central, NuGet, crates.io), and mark anything unverifiable as unverified.