mcpField
1
183-java-observability-tracing-opentelemetry

183-java-observability-tracing-opentelemetry

github.com/jabrena开发456235 次安装1 天前更新
代码仓库

关于 183-java-observability-tracing-opentelemetry

面向 Java 开发者的 OpenTelemetry 分布式追踪技能,指导跨度设计、上下文传播、隐私安全属性、采样及端到端验证,覆盖应用与基础设施路径。

主要功能

  1. 01OpenTelemetry 追踪基础
  2. 02跨度边界与命名
  3. 03异步路径的上下文传播
  4. 04语义约定与属性
  5. 05采样与隐私控制
  6. 06追踪测试与验证

适用场景

  1. 01为 Java 服务添加追踪
  2. 02跨 HTTP 与消息传递传播上下文
  3. 03检查跨度中的敏感或高基数数据
  4. 04在测试中验证追踪连续性

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jabrena/plinth --skill 183-java-observability-tracing-opentelemetry

安装后在 Claude Code 中输入/183-java-observability-tracing-opentelemetry确认已加载。

附带文件references/183-java-observability-tracing-opentelemetry.md

详细介绍

使用 OpenTelemetry 实现 Java 分布式追踪

通过建模有意义的 Span、保留上下文传播,并以低开销、保护隐私的遥测数据为关键业务和基础设施路径添加埋点,使用 OpenTelemetry 在 Java 中实现可靠的分布式追踪。

此技能涵盖哪些内容?

  • Java 服务的 OpenTelemetry 追踪基础
  • Span 设计:边界、父子关系和操作命名
  • 跨 HTTP、消息传递、异步任务和线程边界的上下文传播
  • 语义约定和稳定的属性命名
  • 错误、状态和事件记录最佳实践
  • 采样策略及性能/成本权衡
  • Span 属性的隐私和安全控制
  • 追踪传播和 Span 正确性的测试与验证

**范围:**应用和集成层的分布式追踪质量,重点关注可诊断性、一致性和运行安全。

约束

追踪埋点必须正确保留上下文,并避免泄露敏感数据。过度埋点和高基数属性可能会增加成本并降低信号质量。

  • 传播优先:在添加额外的 Span 详细信息之前,确保所有同步/异步边界的上下文传播正常
  • 禁止敏感数据:绝不在 Span 属性/事件中存储机密、凭据、令牌、原始负载或 PII
  • 低基数属性:避免在用于聚合/搜索的属性中使用无界值
  • 验证:应用追踪变更后,运行 ./mvnw clean verify 或 mvn clean verify

何时使用此技能

  • 改进追踪
  • 使用 OpenTelemetry 实现追踪
  • 添加分布式追踪
  • 重构追踪埋点
  • 使用 OpenTelemetry Span 为 Java 服务添加埋点

工作流

  1. 定义追踪模型和关键流程

识别高价值的请求和异步流程,定义操作边界,并选择符合语义约定的 Span 名称/属性。

  1. 添加埋点并传播上下文

在关键边界添加 OpenTelemetry Span,并确保追踪上下文能够跨 HTTP 客户端/服务端、消息传递和基于执行器的异步工作进行传播。

  1. 强化 Span 数据和采样

一致地记录状态/错误/事件,移除敏感数据,控制属性基数,并根据环境需求配置采样和导出器。

  1. 端到端验证追踪

通过测试和运行时检查,验证父子关系、传播连续性以及后端可见性。

参考

如需详细指南、示例和约束,请参阅 references/183-java-observability-tracing-opentelemetry.md。

评论

支持 Markdown