mcpField
O
otel-java

otel-java

github.com/ollygardenDevelopment117118 installsUpdated 2d ago
Repository

About otel-java

otel-java is a reference skill for OpenTelemetry in Java services, directing users to material on configuration, sensitive-data capture, and emitted telemetry. It relies on upstream documentation and Ecosystem Explorer data, with version-specific evidence.

Key features

  1. 01Provides entry points for Java configuration
  2. 02Covers declarative YAML setup references
  3. 03Documents HTTP and SQL sensitive-data capture
  4. 04Uses Ecosystem Explorer for telemetry details
  5. 05Consults upstream facts by version

Use cases

  1. 01Configure declarative setup for a Java service
  2. 02Review HTTP parameter and header capture options
  3. 03Look up telemetry emitted for a Java library
  4. 04Compare instrumentation configuration across versions

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/ollygarden/opentelemetry-agent-skills --skill otel-java

After installing, type/otel-javain Claude Code to confirm it loaded.

Bundled filesreferences/declarative-setup.mdreferences/sensitive-data-capture.md

Details

From the project README

OpenTelemetry in Java

Entry point for OpenTelemetry mechanics in Java services. Load a reference below based on the task; each reference is self-contained.

References

FileUse when
references/declarative-setup.mdConfiguring the SDK via declarative YAML: Javaagent activation, Spring Boot Starter, autoconfigure SDK, BOM, agent-only properties, manual instrumentation entry points.
references/sensitive-data-capture.mdWhat HTTP instrumentation captures by default (query strings ON, headers/params OFF), query-parameter redaction (sensitive-query-parameters), header/servlet-parameter capture knobs, SQL sanitization.

Sources of Truth

For YAML schema details, fetch the upstream sources listed in the otel-declarative-config skill. For Java-specific facts:

FactFetch
Latest BOM (opentelemetry-bom)gh api repos/open-telemetry/opentelemetry-java/releases/latest -q '.tag_name'
Latest Javaagentgh api repos/open-telemetry/opentelemetry-java-instrumentation/releases/latest -q '.tag_name'
SDK declarative-config accepted and preferred file_format for a selected BOM tagWebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/<selected-sdk-tag>/sdk-extensions/declarative-config/src/main/java/io/opentelemetry/sdk/autoconfigure/declarativeconfig/OpenTelemetryConfigurationFactory.java
Javaagent declarative-config docs (current activation flag, supported file_format)WebFetch https://opentelemetry.io/docs/zero-code/java/agent/declarative-configuration/
Javaagent declarative-config smoke fixture (parser truth for selected agent tag)WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/smoke-tests/src/test/resources/declarative-config.yaml
Javaagent CHANGELOG (when each schema rc landed)WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/CHANGELOG.md
Generated Java instrumentation config reference (names, types, defaults, deprecations)WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/docs/declarative-configuration-example.yaml
Spring Boot Starter declarative-config fixture (selected starter tag)WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/smoke-tests-otel-starter/spring-boot-2/src/testDeclarativeConfig/resources/application.yaml
Spring Boot starter docsWebFetch https://opentelemetry.io/docs/zero-code/java/spring-boot-starter/
Per-instrumentation telemetry & config (resolved spans/attributes, metrics, config options, target versions)WebFetch https://explorer.opentelemetry.io/data/javaagent/instrumentations/<id>/<id>-<hash>.json — get <id> and the latest <hash> from the index (see below)

What telemetry does an instrumentation emit?

For "what does the agent produce for library X" — which spans, attributes, metrics, or config knobs — use the OpenTelemetry Ecosystem Explorer, which fully maps the Java agent and exposes an agent-friendly surface (Markdown indexes and resolved JSON, no scraping). Do not answer from model memory.

Navigation:

  1. WebFetch https://explorer.opentelemetry.io/agent/javaagent/index.md — table mapping display name → id → the instrumentation's JSON data URL (the URL embeds the content <hash>).
  2. WebFetch that JSON URL — one self-contained record (a few KB): resolved configurations, telemetry (spans with span_kind + typed attributes, and metrics), javaagent_target_versions, semantic_conventions, and scope.

Version-specific or "what changed between releases": https://explorer.opentelemetry.io/agent/javaagent/versions.md lists versions and marks the latest; https://explorer.opentelemetry.io/data/javaagent/versions/<version>-index.json gives the id→hash map for a version — a differing hash for the same id across two versions means that instrumentation changed. Schema: https://explorer.opentelemetry.io/schemas/javaagent-instrumentation.schema.json; use /llms.txt for the agent-oriented index and /llms-full.txt for the full documentation.

Prefer this Explorer data over the raw ecosystem-registry YAML on GitHub: the Explorer applies upstream metadata corrections that the raw registry does not.

Cross-References

  • Schema-level facts: otel-declarative-config skill (language-agnostic YAML schema sources).
  • SDK version selection across languages: otel-sdk-versions skill.
  • Semantic conventions lookup: otel-semantic-conventions skill.

Comments

Markdown supported