如何将OpenTelemetry Java代理生成的跟踪导出到Google Cloud Trace?



我有一个Spring Boot应用程序,我想为使用OpenTelemetry Java代理自动生成跟踪,并随后将这些跟踪上传到Google Cloud Trace。

我在应用程序的入口点添加了以下代码,用于发送跟踪:

OpenTelemetrySdk.builder()
.setTracerProvider(
SdkTracerProvider.builder()
.addSpanProcessor(
SimpleSpanProcessor.create(TraceExporter.createWithDefaultConfiguration())
)
.build()
)
.buildAndRegisterGlobal();

…并且我正在使用以下系统属性运行我的应用程序:

-javaagent:path/to/opentelemetry-javaagent-all.jar 
-jar myapp.jar

…但我不知道如何把这两者联系起来。

是否有我可以应用的代理配置?比如:

-Dotel.traces.exporter=google_cloud_trace

我最终解决了这个问题:

  1. 克隆GoogleCloudPlatform/opentelemetry-operations-java回购

git克隆git@github.com: GoogleCloudPlatform/opentelemetry-operations-java.git

  1. 构建exporter-auto项目

。/gradlew clean:export -auto:shadowJar

  1. exporter-auto/build/libs中生成的jar复制到我的目标项目

  2. 使用以下参数运行应用程序:

-javaagent:path/to/opentelemetry-javaagent-all.jar
-Dotel.javaagent.experimental.extensions=[artifact-from-step-3].jar
-Dotel.traces. jarexport =google_cloud_trace
-Dotel.metrics。
-jar myapp.jar

注意:此设置不需要在目标代码库中进行任何显式的代码更改。

相关内容

  • 没有找到相关文章

最新更新