英文:
Akka http request does not trace through opentelemetry
问题
以下是您提供的文本的翻译:
我正在尝试在 akka-http 应用程序(Scala)中使用独立代理中的 OpenTelemetry(OTEL)。在我的 sbt 中,我有以下配置:
fork := true
run / javaOptions ++= Seq(
"-XX:+UseG1GC",
"-XX:MaxGCPauseMillis=100",
"-XX:+PrintGCDetails",
"-XX:+PrintTenuringDistribution",
"-XX:+PrintGCCause",
"-XX:+PrintAdaptiveSizePolicy",
"-javaagent:/myFolder/jars/opentelemetry-javaagent.jar",
"-Dotel.service.name=pantryLocalExecution",
"-Dotel.traces.exporter=otlp",
"-Dotel.metrics.exporter=otlp",
)
envVars += "OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED" -> "true"
我正在使用 Jeager 监视 OTEL 收集的所有指标,但问题是,Jeager 不显示 HTTP 请求,只显示 MySQL 连接。此外,它还没有将相同的流程分组到相同的跟踪中。下面的图片显示了我的意思。有三个相同流程的跟踪。
感谢大家的帮助!
快速提示:
- 我确信代理路径是正确的。
- 在使用 Jaeger UI 之前,我需要运行以下 Docker 命令:
**docker run -d --name jaeger \\ -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \\ -e COLLECTOR_OTLP_ENABLED=true \\ -p 6831:6831/udp \\ -p 6832:6832/udp \\ -p 5778:5778 \\ -p 16686:16686 \\ -p 4317:4317 \\ -p 4318:4318 \\ -p 14250:14250 \\ -p 14268:14268 \\ -p 14269:14269 \\ -p 9411:9411 \\ jaegertracing/all-in-one:1.42
- 最后,我使用 sbt run 命令运行应用程序。
英文:
I am trying to use opentelemtry (OTEL) in akka-http application (Scala), using the stand alone agent.
In my sbt I have this:
fork := true
run / javaOptions ++= Seq(
"-XX:+UseG1GC",
"-XX:MaxGCPauseMillis=100",
"-XX:+PrintGCDetails",
"-XX:+PrintTenuringDistribution",
"-XX:+PrintGCCause",
"-XX:+PrintAdaptiveSizePolicy",
"-javaagent:/myFolder/jars/opentelemetry-javaagent.jar",
"-Dotel.service.name=pantryLocalExecution",
"-Dotel.traces.exporter=otlp",
"-Dotel.metrics.exporter=otlp",
)
envVars += "OTEL_JAVA_GLOBAL_AUTOCONFIGURE_ENABLED" -> "true"
I am using Jeager to watch all metrics that OTEL collects, then thing is, Jeager is not showing Http request, only mysql connections.
Addition to that, is not grouping the flow into the same trace, Next image show what I mean. There are 3 traces which are the same flow.
Thank you all for all your help!!
Quick notes:
-
I am sure that the agent path is ok.
-
Before use Jaeger UI i needed to run docker command:
**docker run -d --name jaeger \\n -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \\n -e COLLECTOR_OTLP_ENABLED=true \\n -p 6831:6831/udp \\n -p 6832:6832/udp \\n -p 5778:5778 \\n -p 16686:16686 \\n -p 4317:4317 \\n -p 4318:4318 \\n -p 14250:14250 \\n -p 14268:14268 \\n -p 14269:14269 \\n -p 9411:9411 \\n jaegertracing/all-in-one:1.42\
-
Finally I run using sbt run command.
答案1
得分: 1
只有在使用 10.2.0-RC2 版本或更高版本的 Akka 时,我才发现 OTEL 只能按照我想要的方式工作(具有与子跨度相同的流程)。请牢记我发布的所有设置!
谢谢大家!
英文:
Finding and finding and creating small projects with different versions, I discovered that OTEL only works as I want (The same flow with child spans), only is necessary 10.2.0-RC2 version of akka or higher.
Just keep in mind all the settings that I posted!
Thank you all!!
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论