183-java-observability-tracing-opentelemetry
About 183-java-observability-tracing-opentelemetry
A skill for Java developers implementing distributed tracing with OpenTelemetry. It guides span design, context propagation, privacy-safe attributes, sampling, and end-to-end verification across application and infrastructure paths.
Key features
- 01OpenTelemetry tracing fundamentals
- 02Span boundaries and naming
- 03Context propagation across async paths
- 04Semantic conventions and attributes
- 05Sampling and privacy controls
- 06Trace testing and verification
Use cases
- 01Add tracing to Java services
- 02Propagate context across HTTP and messaging
- 03Review spans for sensitive or high-cardinality data
- 04Verify trace continuity in tests
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ jabrena/ plinth --skill 183-java-observability-tracing-opentelemetryAfter installing, type/183-java-observability-tracing-opentelemetryin Claude Code to confirm it loaded.
Bundled filesreferences/183-java-observability-tracing-opentelemetry.md
Details
From the project READMEJava 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 verifyormvn clean verifyafter 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
- 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.
- 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.
- Harden span data and sampling
Record status/errors/events consistently, remove sensitive data, control attribute cardinality, and configure sampling/exporters according to environment needs.
- 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.