这里我们将使用一个名为 Petclinic 的 Java 应用程序,这是一个使用 Maven 或 Gradle 构建的 Spring Boot 应用程序。该应用程序将使用 OpenTelemetry 生成数据。 对于Java 应用,我们可以通过下载 OpenTelemetry 提供的 opentelemetry-javaagent 这个 jar 包来使用 OpenTelemetry 自动检测应用程序。 只需要将这个 jar 包添...
OTel Java Agent 的蓬勃发展成为了一个促使我们进行一次大规模重构最合理的契机,再考虑到拥抱开源、拥抱标准的基本原则,于是我们在 2023 年的夏天做了一个重大的决定,在 ARMS Java Agent 的下一个大版本 4.x 版本中,基于 OTel Java Agent 做一次升级重构,将现有 ARMS 3.X 版本探针的商业化能力迁移过来,并做到...
OTel Java Agent 的蓬勃发展成为了一个促使我们进行一次大规模重构最合理的契机,再考虑到拥抱开源、拥抱标准的基本原则,于是我们在 2023 年的夏天做了一个重大的决定,在 ARMS Java Agent 的下一个大版本 4.x 版本中,基于 OTel Java Agent 做一次升级重构,将现有 ARMS 3.X 版本探针的商业化能力迁移过来,并做到...
因为问题就出现在是否使用 opentelemetry-javaagent.jar 上,所以我需要知道在使用了 agent 之后有什么区别。 从刚才的对 SPI 的原理分析,加上 agent 出现异常,说明理论上就是没有读取到我们配置的文件:java.net.spi.InetAddressResolverProvider。 于是我便开始 debug,在 ServiceLoader 加载 jar 包的时候是可以看到具...
围绕OTel Java Agent 做了哪些增强 Cloud Native 在接下来将近一年的时间里,围绕 openTelemetry-java-instrumentation,首先,我们对其现有的功能进行了升级重构。包括新插件支持,基础的 Tracing 能力增强,指标类型增加、指标维度增加等等;其次,迁移了很多过往几年沉淀的商业化能力。包括 Arthas 诊断,应用安全、内存 Dump,微...
围绕OTel Java Agent 做了哪些增强 在接下来将近一年的时间里,围绕 openTelemetry-java-instrumentation,首先,我们对其现有的功能进行了升级重构。包括新插件支持,基础的 Tracing 能力增强,指标类型增加、指标维度增加等等;其次,迁移了很多过往几年沉淀的商业化能力。包括 Arthas 诊断,应用安全、内存 Dump,微服务治理(全链...
这两个服务都启动成功后再启动我们的 Java 客户端和 Go 服务端: 复制 java-javaagent:opentelemetry-javaagent-2.4.0-SNAPSHOT.jar \-Dotel.traces.exporter=otlp \-Dotel.metrics.exporter=otlp \-Dotel.logs.exporter=none \-Dotel.service.name=demo \-Dotel.exporter.otlp.protocol=grpc \-Dotel.propagat...
这里穿插几个 debug 小技巧,其中一个是远程 debug,因为这里我是需要调试 javaagent,正常情况下是无法直接 debug 的。 所以我们可以使用以下命令启动应用: 复制 java-agentlib:jdwp="transport=dt_socket,server=y,suspend=y,address=5000"-javaagent:opentelemetry-javaagent.jar \-jar target/demo-0.0.1-SNAPSHOT...
OpenTelemetry 的 javaagent 会自动上报 JVM 相关的指标。 而在Go 程序中我们还是需要显式的配置一些埋点: 代码语言:go AI代码解释 funcinitMeterProvider()*sdkmetric.MeterProvider{ctx:=context.Background()exporter,err:=otlpmetricgrpc.New(ctx)iferr!=nil{log.Printf("new otlp metric grpc exporter failed...
前段时间公司领导让我排查一个关于在 JDK21 环境中使用Spring Boot配合一个 JDK18 新增的一个 SPI(java.net.spi.InetAddressResolverProvider) 不生效的问题。 但这个不生效的前置条件有点多: JDK 的版本得在 18+ SpringBoot3.x 还在额外再配合使用 -javaagent:opentelemetry-javaagent.jar 使用,也就是OpenTeleme...