如何将 OpenTelemetry Java 代理生成的跟踪导出到 Google Cloud Trace?
How can I export traces generated by the OpenTelemetry Java agent to Google Cloud Trace?
我有一个 Spring 启动应用程序,我想自动生成使用 OpenTelemetry Java 代理的跟踪,然后将这些跟踪上传到 Google云痕.
我已将以下代码添加到我的应用程序的入口点以发送跟踪:
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
我最终按如下方式解决了这个问题:
git clone
git@github.com:GoogleCloudPlatform/opentelemetry-operations-java.git
- 构建
exporter-auto
项目
./gradlew clean :exporter-auto:shadowJar
将exporter-auto/build/libs
中生成的jar复制到我的目标项目
运行 具有以下参数的应用程序:
-javaagent:path/to/opentelemetry-javaagent-all.jar
-Dotel.javaagent.experimental.extensions=[artifact-from-step-3].jar
-Dotel.traces.exporter=google_cloud_trace
-Dotel.metrics.exporter=none
-jar myapp.jar
注意:此设置不需要在目标代码库中进行任何显式代码更改。
我有一个 Spring 启动应用程序,我想自动生成使用 OpenTelemetry Java 代理的跟踪,然后将这些跟踪上传到 Google云痕.
我已将以下代码添加到我的应用程序的入口点以发送跟踪:
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
我最终按如下方式解决了这个问题:
git clone git@github.com:GoogleCloudPlatform/opentelemetry-operations-java.git
- 构建
exporter-auto
项目
./gradlew clean :exporter-auto:shadowJar
将
exporter-auto/build/libs
中生成的jar复制到我的目标项目运行 具有以下参数的应用程序:
-javaagent:path/to/opentelemetry-javaagent-all.jar
-Dotel.javaagent.experimental.extensions=[artifact-from-step-3].jar
-Dotel.traces.exporter=google_cloud_trace
-Dotel.metrics.exporter=none
-jar myapp.jar
注意:此设置不需要在目标代码库中进行任何显式代码更改。