jabrena/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 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
npx skills add https://github.com/jabrena/plinth --skill 183-java-observability-tracing-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?
Scope: Distributed tracing quality in application and integration layers, focused on diagnosability, consistency, and operational safety.
Tracing instrumentation must preserve context correctly and avoid leaking sensitive data. Over-instrumentation and high-cardinality attributes can harm cost and signal quality.
./mvnw clean verify or mvn clean verify after applying tracing changesIdentify high-value request and async flows, define operation boundaries, and choose span names/attributes aligned with semantic conventions.
Add OpenTelemetry spans to key boundaries and ensure trace context is propagated across HTTP clients/servers, messaging, and executor-based async work.
Record status/errors/events consistently, remove sensitive data, control attribute cardinality, and configure sampling/exporters according to environment needs.
Verify parent-child relationships, propagation continuity, and backend visibility through tests and runtime checks.
For detailed guidance, examples, and constraints, see references/183-java-observability-tracing-opentelemetry.md.
Take jabrena/183-java-observability-tracing-opentelemetry from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.