
文章插图
在 Java 应用中,要实现手动埋点,首先第一步是获取 OpenTelemetry 接口的实例,我们需要尽早在应用程序中配置一个 OpenTelemetrySdk 的实例,我们可以使用 OpenTelemetrySdk.builder() 方法来完成这个操作 。然后可以通过返回的 OpenTelemetrySdkBuilder 实例获取与信号、跟踪和指标相关的提供程序,以构建 OpenTelemetry 实例 。我们可以使用 SdkTracerProvider.builder() 和 SdkMeterProvider.builder() 方法来构建 Provider 。此外还强烈建议将 Resource 实例定义为生成遥测数据的实体的表示;特别是 service.name 属性是最重要的遥测源标识信息的一部分 。
当然我们需要先在应用中添加相关依赖库,代码如下所示:
<!-- pom.xml --><project> <dependencyManagement> <dependencies> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-bom</artifactId> <version>1.29.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-api</artifactId> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-sdk</artifactId> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-exporter-otlp</artifactId> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-semconv</artifactId> <version>1.29.0-alpha</version> </dependency> </dependencies></project>在 pom.xml 文件中添加了 opentelemetry-api、opentelemetry-sdk、opentelemetry-exporter-otlp、opentelemetry-semconv 这几个依赖库,其中 opentelemetry-semconv 是用来定义一些常用的属性的,比如 service.name、http.method、http.status_code 等,当然现在我们就不需要 opentelemetry-instrumentation-annotations 这个依赖库了 。
在 Spring Boot 项目中,初始化 OpenTelemetry 的一种常见方法是使用 @Configuration 类 。这样的类会在 Spring Boot 应用启动时自动运行,使得初始化工作更加集中和组织化 。
我们这里创建一个如下所示的
推荐阅读
- 通过诗经楚辞取的公司名字
- 动量定理的应用 动量定理的应用视频讲解
- 深入浅出、玩转Java多线程
- 揭秘十个必知的 JavaScript 3D 库,打造顶级3D炫酷效果!
- 图灵测试已死!ChatGPT通过人类考试也不算,超强AI评估新秀「逻辑谜题」
- 王者荣耀的段位排行榜是通过Redis实现的?
- 我不再写Javascript了
- Java 单元测试及常用语句
- 构建高效的Java网络应用,体验秒级响应
- 谷歌推出 AlloyDB AI,帮助开发者创建生成式 AI 应用
