Otel java
Skill ollygarden/opentelemetry-agent-skills/skills/otel-java
OpenTelemetry in Java — Javaagent zero-code instrumentation, Spring Boot Starter, manual autoconfigure SDK, declarative YAML configuration, BOM dependency management, sensitive-data capture and redaction (url.query, headers, request parameters, SQL sanitization). Use when adding, reviewing, or configuring OpenTelemetry in a Java service. Triggers on "setup otel in java", "java telemetry", "javaagent", "Spring Boot otel", "GlobalOpenTelemetry", "AutoConfiguredOpenTelemetrySdk", "TracerProvider java", "url.query redaction", "capture request headers", or any Java-related OTel question.From its SKILL.md
npx -y skills add ollygarden/opentelemetry-agent-skills --skill otel-javaAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- runs commandsInstructs the agent to run 8 commands, including `gh api repos/open-telemetry/opentelemetry-java/releases/latest -q '.tag_name'` and 7 more.
SKILL.md
5.1 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
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
| File | Use when |
|---|---|
references/declarative-setup.md | Configuring the SDK via declarative YAML: Javaagent activation, Spring Boot Starter, autoconfigure SDK, BOM, agent-only properties, manual instrumentation entry points. |
references/sensitive-data-capture.md | What 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:
| Fact | Fetch |
|---|---|
Latest BOM (opentelemetry-bom) | gh api repos/open-telemetry/opentelemetry-java/releases/latest -q '.tag_name' |
| Latest Javaagent | gh api repos/open-telemetry/opentelemetry-java-instrumentation/releases/latest -q '.tag_name' |
SDK declarative-config accepted and preferred file_format for a selected BOM tag | WebFetch 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 |
| 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 docs | WebFetch 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:
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>).WebFetchthat JSON URL — one self-contained record (a few KB): resolvedconfigurations,telemetry(spans withspan_kind+ typed attributes, andmetrics),javaagent_target_versions,semantic_conventions, andscope.
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-configskill (language-agnostic YAML schema sources). - SDK version selection across languages:
otel-sdk-versionsskill. - Semantic conventions lookup:
otel-semantic-conventionsskill.
What ships with it: 2 files
13.5 KB alongside SKILL.md
references/
- declarative-setup.md6.9 KB
- sensitive-data-capture.md6.6 KB
Gives 0 of the 12 instructions most project setup skills give in ~1.1k tokens
Counted across 1,553 of the 3,091 authors here whose files we hold, read 2026-09-06
- Write the configuration filein 36 of 1553
- Create the directory structurein 35 of 1553, across 33 files
- Verify the setupin 31 of 1553, across 28 files
- Run the setup scriptin 30 of 1553, across 29 files
- Pre-determine the required sample sizein 29 of 1553, across 12 files
- Check if the configuration already existsin 29 of 1553
- Document every testin 26 of 1553, across 10 files
- Start with a hypothesisin 26 of 1553, across 11 files
- Ask one question at a timein 22 of 1553
- Test a single variable per testin 21 of 1553, across 9 files
- Read product marketing context before asking questionsin 19 of 1553, across 8 files
- Do not peek and stop earlyin 18 of 1553, across 7 files
Said here and by no other author read
- Load a reference based on the task
- Use the OpenTelemetry Ecosystem Explorer
- Do not answer from model memory
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.