0

我正在使用带有 jaegar 跟踪器的https://github.com/opentracing-contrib/java-grpc在我的 grpc 客户端程序中启用跟踪。现在我想使用 istio 服务网格来处理服务器端的跟踪。https://istio.io/latest/docs/tasks/observability/distributed-tracing/overview/。因此,grpc 客户端现在需要将适当的跟踪 HTTP 标头与每个 grpc 客户端请求一起发送,以便 istio 可以将这些指标发送给 Jaegar。有没有人有一个在 grpc 客户端中获取跟踪跨度信息并在 grpc 客户端请求中包含相应的 b3 传播标头的工作示例?

需要在 java/C# grpc 客户端请求中传递以下 http 标头:

  • x-请求-id
  • x-b3-traceid
  • x-b3-spanid
  • x-b3-parentspanid
  • x-b3-采样
  • x-b3-标志
  • x-ot-span-上下文

谢谢。

4

1 回答 1

1

查看OpenTelemetry-Java-Instrumentation项目。它可以自动跟踪您的应用程序,而无需编写自定义代码。它使用在应用程序旁边的 JVM 中运行的检测代理。

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

它支持将指标导出到 Jaeger

它还支持将标头传播到下游请求

他们刚刚添加了对b3-multi 标头的支持,因此未来几天应该会提供新版本

于 2020-11-24T14:39:02.860 回答