Skip to content
Development
Skill

/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

From plugin
plinth
457124 skills

Claude Code

$ npx -y skills add jabrena/plinth --skill 183-java-observability-tracing-opentelemetry --agent claude-code

SKILL.md

183-java-observability-tracing-opentelemetry.SKILL.md
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).

Read more
@jabrena
Ships withplinth

Languages: Español · 中文 Help this project grow: Become a sponsor

Stars on GitHub

Momentum

stars in total
457
Star history of jabrena/plinth on GitHub, a chart by star-history.com

Other skills on plinth.

001-commands-inventory

001-commands-inventory

Use when you need to generate a checklist document with embedded commands inventory, following the embedded template exactly and…

@jabrena@jabrenaInstall Skill
002-agents-inventory

002-agents-inventory

Use when you need to generate a checklist document with embedded agents inventory, following the embedded template exactly and…

@jabrena@jabrenaInstall Skill
003-skills-inventory

003-skills-inventory

Use when you need to generate a checklist document with Java system prompts from skills.xml, following the embedded section…

@jabrena@jabrenaInstall Skill
004-commands-installation

004-commands-installat…

Use when you need to install the embedded project commands into command directories (.github/commands, .claude/commands,…

@jabrena@jabrenaInstall Skill
005-agents-installation

005-agents-installatio…

Use when you need to install the embedded robot agents into .github/agents, .claude/agents, .cursor/agents, or .codex/agents,…

@jabrena@jabrenaInstall Skill
012-agile-epic

012-agile-epic

Guides the creation of agile epics with comprehensive definition including business value, success criteria, and breakdown into…

@jabrena@jabrenaInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

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.