- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 API 网关启动了一个跟踪器和一个用于验证电子邮件的跨度。然后它传递给 user-service
进行验证。
我想通过 span
详情至user-service
作为 json 对象并开始另一个 span
作为一个tracer.start_span('Validate Email', child_of=API_gateway_span)
为此,我使用了以下结构:
type checkEmail struct {
GatewayTracerSpan opentracing.SpanContext `json: gatewayTracerSpan`
Email string `json: email`
Uuid string `json: uuid`
}
function()
validateEmailSpan := apitracer.tracer.StartSpan("Validate Email")
emailJson := checkEmail{
GatewayTracerSpan: validateEmailSpan.Context(),
Email: email,
Uuid: uuid,
}
GatewayTracerSpan
是空值。
http-headers
因为它易于升级任何协议(protocol)更改。
最佳答案
链接来自不同服务的 span 的一种方法是使用 uber-trace-id
从父跨度。如果您有 LogSpans
设置为 true
在您的 ReporterConfig
, uber-trace-id
是打印出来的 ("Reporting span xxx-xxx-xxx"
)。
以下是它在代码中的样子:
//API Gateway
carrier := opentracing.TextMapCarrier{} //you can use any type of carrier or even create your own
ctx, _ := opentracing.GlobalTracer().Extract(opentracing.TextMap, carrier)
span := apitracer.tracer.StartSpan(name, ext.RPCServerOption(ctx))
_ := span.Tracer().Inject(span.Context(), opentracing.TextMap, carrier)
uberTraceID := carrier["uber-trace-id"]
uberTraceID
而不是
validateEmailSpan.Context()
到您的其他服务。
//Email service
func NewChildSpanThatFollows(name, uberTraceID string) opentracing.Span {
carrier := opentracing.TextMapCarrier{}
carrier.Set("uber-trace-id", uberTraceID)
ctx, _ := opentracing.GlobalTracer().Extract(opentracing.TextMap, carrier)
span := opentracing.StartSpan(name, opentracing.FollowsFrom(ctx))
_ := span.Tracer().Inject(span.Context(), opentracing.TextMap, carrier)
return span
}
Carrier
或在需要时使用标签对传递的数据进行搜索。
span.SetTag("request_id", requestID)
HTTPHeadersCarrier
,它有一步一步的演练,但它与上面的过程基本相同。
关于go - 如何使用 json 传递 opentracing 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58740621/
我们正在使用 Micronaut (v1.2.0) 构建一个网络应用程序,它将部署在 Kubernetes 集群中(我们使用 Istio 作为服务网格)。 我们想检测关键方法调用,以便它们可以在 HT
我尝试在PHP项目中实现OpenTracing + Jaeger,遵循https://github.com/jonahgeorge/jaeger-client-php的“入门”示例 跟踪器,范围和范围
我正在尝试使用 OpenTracing.Contrib.NetCore与 Serilog。我需要将我的自定义日志发送给 Jaeger。现在,它仅在我使用默认记录器工厂 Microsoft.Extens
我使用 Jaeger 记录应用程序跟踪信息。 是否需要再次使用其他日志包? 最佳答案 OpenTracing 是分布式跟踪的框架。因此,它更多地是关于性能监控和可观察性而不是日志记录(NLog 是关于
在 #105 davidB 询问: I would like to have read access to the Span id (SpanContext id) to be able to use
我在 Docker 中一体安装了 jaeger: docker run --rm --name jaeger -p 5775:5775/udp -p 6831:6831/udp -p 6832:683
我的 API 网关启动了一个跟踪器和一个用于验证电子邮件的跨度。然后它传递给 user-service进行验证。 我想通过 span详情至user-service作为 json 对象并开始另一个 sp
您好,我正在我的 spring boot 项目中使用以下跟踪框架。 io.opentracing.contrib opentracing-spring-jaeger-cloud-st
W3C trace context定义 traceparent和 tracestate用于启用分布式跟踪的 header 。 我的问题是 它与 OpenTracing 有何不同。 如果 W3C 已经定
我已将以下注释添加到我的 Spring Boot 项目中: @CamelOpenTracing 这为我的消息经过的每条路线创建了一个跨度,并且效果完美。 但是,如何创建自己的跨度?我想在消息转到 on
有没有办法配置 opentracing-spring-jaeger-cloud-starter 来处理除 Uber-Trace-Id 之外的任何其他 header ?我将 Traefik 作为我的 k
我正在尝试将 Jaeger 跟踪集成到 K-Streams 中。我正计划将跟踪添加到我最重要的几个管道中,并且想知道将 traceid 从一个管道传递到另一个管道的好方法是什么? 这是我目前所拥有的
我们在 Istio 中使用 Opentracing/Jaeger 来跟踪多个基于 Spring Boot/Spring Cloud 的微服务。 我目前想知道是否有一个选项可以通过提供有关已执行查询(即
使用 MassTransit.RabbitMQ v5.3.2 和 OpenTracing.Contrib.NetCore v0.5.0。 我可以使用 MassTransit 向 RabbitMQ 发布
我只能找到在 Kafka 中使用 opentracing/jaeger 的旧的和不完整的例子。我想在本地运行一个示例作为概念证明 - opentracing spans to kafka。 我设法让其
我有一个使用 OpenTracing 的 Spring Boot 应用程序,我想将其数据推送到 Prometheus,这样我就可以通过 Grafana 查询所有指标(如本教程 https://www.
我正在努力为 Spring Boot 2.0.2 应用程序设置 OpenTracing/Jaeger。从 Spring Boot 1.5.3 的一个工作但非常示例开始,我转向了 Spring Boot
有一个使用 SLF4J 记录器的现有 Spring Boot 应用程序。我决定通过标准 opentracing 添加对分布式跟踪的支持以 Jaeger 作为跟踪器的 API。令人惊讶的是初始设置是如此
我是一名优秀的程序员,十分优秀!