2.7. MicroProfile OpenTracing
2.7.1. MicroProfile OpenTracing 复制链接链接已复制到粘贴板!
在跨服务界限跟踪请求的能力非常重要,特别是在请求可以在其生命周期内通过多个服务的微服务环境中。
MicroProfile OpenTracing 规范定义了用于访问 CDI-bean 应用内 OpenTracing 兼容 Tracer 接口的行为和 API。Tracer 接口会自动跟踪 JAX-RS 应用。
此行为指定如何为传入和传出请求自动创建 OpenTracing Span。API 定义了如何为给定端点显式禁用或启用追踪。
其它资源
- 有关 MicroProfile OpenTracing 规范的更多信息,请参阅 MicroProfile OpenTracing 文档。
-
有关
Tracer接口的更多信息,请参阅Tracerjavadoc。
2.7.2. JBoss EAP 中的 MicroProfile OpenTracing 复制链接链接已复制到粘贴板!
您可以使用 microprofile-opentracing-smallrye 子系统来配置 Jakarta EE 应用的分布式追踪。此子系统使用 SmallRye OpenTracing 组件为 JBoss EAP 提供 MicroProfile OpenTracing 功能。
MicroProfile OpenTracing 2.0 支持追踪应用的请求。您可以配置默认的 Jaeger Java Client tracer,以及一组用于 Jakarta EE 常用的组件的检测库,通过管理 CLI 或管理控制台使用 JBoss EAP 管理 API。
部署到 JBoss EAP 服务器的每个 WAR 自动具有自己的 Tracer 实例。EAR 中的每个 WAR 被视为单独的 WAR,各自具有自己的 Tracer 实例。默认情况下,与 Jaeger Client 一起使用的服务名称从部署的名称派生,通常是 WAR 文件名。
在 microprofile-opentracing-smallrye 子系统内,您可以通过设置系统属性或环境变量来配置 Jaeger Java 客户端。
使用系统属性和环境变量配置 Jaeger Client tracer 作为技术预览提供。与 Jaeger Client tracer 集成的系统属性和环境变量可能会改变,并在以后的版本中相互不兼容。
技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
默认情况下,Java 的 Jaeger Client 的 probabilistic 抽样策略被设置为 0.001,这意味着在大约一个千个 trace 中被抽样。要抽样每个请求,请将系统属性 JAEGER_SAMPLER_TYPE 设置为 const,JAEGER_SAMPLER_PARAM 设置为 1。
其它资源
- 有关 SmallRye OpenTracing 功能的更多信息,请参阅 SmallRye OpenTracing 组件。
- 有关默认 tracer 的更多信息,请参阅 Jaeger Java Client。
-
有关
Tracer接口的更多信息,请参阅Tracerjavadoc。 - 有关覆盖默认 tracer 和追踪 Jakarta 上下文和依赖注入 Bean 的更多信息,请参阅 开发指南中的 使用 Eclipse MicroProfile OpenTracing 追踪请求。
- 有关配置 Jaeger Client 的更多信息,请参阅 Jaeger 文档。
- 有关有效系统属性的更多信息,请参阅 Jaeger 文档中的通过 环境配置。