/183-java-observability-tracing-opentelemetry
Use when you need to implement or improve distributed tracing with OpenTelemetry in Java — including trace/span modeling, context propagation, semantic conventions, span attributes/events/status, sampling strategy, baggage usage, privacy safeguards, and backend integration with
Claude Code
$ npx -y skills add jabrena/plinth --skill 183-java-observability-tracing-opentelemetry --agent claude-code
Codex
$ npx skills add jabrena/plinth --skill 183-java-observability-tracing-opentelemetry -a codex -y
Cursor
$ npx skills add jabrena/plinth --skill 183-java-observability-tracing-opentelemetry -a cursor -y
Gemini CLI
$ npx skills add jabrena/plinth --skill 183-java-observability-tracing-opentelemetry -a gemini-cli -y
GitHub Copilot
$ npx skills add jabrena/plinth --skill 183-java-observability-tracing-opentelemetry -a github-copilot -y
OpenCode
$ npx skills add jabrena/plinth --skill 183-java-observability-tracing-opentelemetry -a opencode -y
Windsurf
$ npx skills add jabrena/plinth --skill 183-java-observability-tracing-opentelemetry -a windsurf -y
SKILL.md
183-java-observability-tracing-opentelemetry.SKILL.mdname: 183-java-observability-tracing-opentelemetry
description: Use when you need to implement or improve distributed tracing with OpenTelemetry in Java — including trace/span modeling, context propagation, semantic conventions, span attributes/events/status, sampling strategy, baggage usage, privacy safeguards, and backend integration with OTLP collectors. This should trigger for requests such as Improve tracing; Apply OpenTelemetry tracing; Add distributed tracing; Refactor tracing instrumentation; Instrument Java services with OpenTelemetry spans. Part of Plinth Toolkit
license: Apache-2.0
metadata:
author: Juan Antonio Breña Moral
version: 0.19.0
Java Distributed Tracing with OpenTelemetry
Implement robust distributed tracing in Java with OpenTelemetry by modeling meaningful spans, preserving context propagation, and instrumenting critical business and infrastructure paths with low-overhead, privacy-safe telemetry.
**What is covered in this Skill?**
- OpenTelemetry tracing fundamentals for Java services
- Span design: boundaries, parent/child relationships, and operation naming
- Context propagation across HTTP, messaging, async tasks, and thread boundaries
- Semantic conventions and stable attribute naming
- Error/status/event recording best practices
- Sampling strategy and performance/cost trade-offs
- Privacy and security controls for trace attributes
- Testing and verification of trace propagation and span correctness
**Scope:** Distributed tracing quality in application and integration layers, focused on diagnosability, consistency, and operational safety.
Constraints
Tracing instrumentation must preserve context correctly and avoid leaking sensitive data. Over-instrumentation and high-cardinality attributes can harm cost and signal quality.
- **PROPAGATION FIRST**: Ensure context propagation across all sync/async boundaries before adding extra span detail
- **NO SENSITIVE DATA**: Never store secrets, credentials, tokens, raw payloads, or PII in span attributes/events
- **LOW CARDINALITY ATTRIBUTES**: Avoid unbounded values in attributes that are used for aggregation/search
- **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying tracing changes
When to use this skill
- Improve tracing
- Apply OpenTelemetry tracing
- Add distributed tracing
- Refactor tracing instrumentation
- Instrument Java services with OpenTelemetry spans
Workflow
1. **Define trace model and critical flows**
Identify high-value request and async flows, define operation boundaries, and choose span names/attributes aligned with semantic conventions.
2. **Instrument and propagate context**
Add OpenTelemetry spans to key boundaries and ensure trace context is propagated across HTTP clients/servers, messaging, and executor-based async work.
3. **Harden span data and sampling**
Record status/errors/events consistently, remove sensitive data, control attribute cardinality, and configure sampling/exporters according to environment needs.
4. **Validate traces end-to-end**
Verify parent-child relationships, propagation continuity, and backend visibility through tests and runtime checks.
Reference
For detailed guidance, examples, and constraints, see [references/183-java-observability-tracing-opentelemetry.md](references/183-java-observability-tracing-opentelemetry.md).
Read more
name: 183-java-observability-tracing-opentelemetry description: Use when you need to implement or improve distributed tracing with OpenTelemetry in Java — including trace/span modeling, context propagation, semantic conventions, span attributes/events/status, sampling strategy, baggage usage, privacy safeguards, and backend integration with OTLP collectors. This should trigger for requests such as Improve tracing; Apply OpenTelemetry tracing; Add distributed tracing; Refactor tracing instrumentation; Instrument Java services with OpenTelemetry spans. Part of Plinth Toolkit license: Apache-2.0 metadata: author: Juan Antonio Breña Moral version: 0.19.0
Java Distributed Tracing with OpenTelemetry
Implement robust distributed tracing in Java with OpenTelemetry by modeling meaningful spans, preserving context propagation, and instrumenting critical business and infrastructure paths with low-overhead, privacy-safe telemetry.
**What is covered in this Skill?**
- OpenTelemetry tracing fundamentals for Java services
- Span design: boundaries, parent/child relationships, and operation naming
- Context propagation across HTTP, messaging, async tasks, and thread boundaries
- Semantic conventions and stable attribute naming
- Error/status/event recording best practices
- Sampling strategy and performance/cost trade-offs
- Privacy and security controls for trace attributes
- Testing and verification of trace propagation and span correctness
**Scope:** Distributed tracing quality in application and integration layers, focused on diagnosability, consistency, and operational safety.
Constraints
Tracing instrumentation must preserve context correctly and avoid leaking sensitive data. Over-instrumentation and high-cardinality attributes can harm cost and signal quality.
- **PROPAGATION FIRST**: Ensure context propagation across all sync/async boundaries before adding extra span detail
- **NO SENSITIVE DATA**: Never store secrets, credentials, tokens, raw payloads, or PII in span attributes/events
- **LOW CARDINALITY ATTRIBUTES**: Avoid unbounded values in attributes that are used for aggregation/search
- **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying tracing changes
When to use this skill
- Improve tracing
- Apply OpenTelemetry tracing
- Add distributed tracing
- Refactor tracing instrumentation
- Instrument Java services with OpenTelemetry spans
Workflow
1. **Define trace model and critical flows**
Identify high-value request and async flows, define operation boundaries, and choose span names/attributes aligned with semantic conventions.
2. **Instrument and propagate context**
Add OpenTelemetry spans to key boundaries and ensure trace context is propagated across HTTP clients/servers, messaging, and executor-based async work.
3. **Harden span data and sampling**
Record status/errors/events consistently, remove sensitive data, control attribute cardinality, and configure sampling/exporters according to environment needs.
4. **Validate traces end-to-end**
Verify parent-child relationships, propagation continuity, and backend visibility through tests and runtime checks.
Reference
For detailed guidance, examples, and constraints, see [references/183-java-observability-tracing-opentelemetry.md](references/183-java-observability-tracing-opentelemetry.md).
Other skills on plinth.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about 183-java-observability-tracing-opentelemetry.
- Which coding agents can use 183-java-observability-tracing-opentelemetry?
- 183-java-observability-tracing-opentelemetry installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

