我正在尝试使用OpenTelemetry代理从我用Scala编写的Akka应用程序导出度量和跟踪,目的是使用OpenSearch中的数据。
我的应用程序的技术堆栈:
我已将OpenTelemetry工具运行时依赖项添加到build.sbt
中
val runtimeDependencies: Seq[ModuleID] = Seq(
"io.opentelemetry.instrumentation" % "opentelemetry-instrumentation-api" % otelInstrumentationVersion % "runtime"
)
...
libraryDependencies ++= compileDependencies ++ testDependencies ++ runtimeDependencies,
我在属性文件中传递OpenTelemetry配置:
export JAVA_OPTS="... \
-javaagent:lib/opentelemetry/opentelemetry-javaagent-all-v1.6.0.jar \
-Dotel.javaagent.configuration-file=lib/opentelemetry/otel.properties"
在我的代码中,唯一相关的部分是属性文件:
otel.service.name=my-app
otel.traces.exporter=jaeger
otel.propagators=jaeger
我确实在OpenSearch中收到了一些跟踪,但是它们是完全不同的,而且是不相关的,而我希望它们能够被链接起来。例如,在RabbitMQ主题上接收到一条消息,它使它成为一个参与者,后者最终会发出一个SQL查询。因此,我可以看到每次执行所花费的时间。
这是我在OpenSearch中得到的一个近似视图:
我希望能够跟踪文档,但我发现OpenTelemetry的配置指南在这一点上是稀缺的。
更新
不确定这是否相关,但我在datapreper上收到警告:
2021-09-29T16:50:50,861 [raw-pipeline-prepper-worker-5-thread-1] WARN com.amazon.dataprepper.plugins.prepper.oteltrace.OTelTraceRawPrepper - Missing trace group for SpanId: 922097e31cf96c72
发布于 2021-10-14 14:01:56
https://stackoverflow.com/questions/69378836
复制相似问题