Lightstep:儿童跨度的UI不准确

时间:2017-05-05 04:05:19

标签: go opentracing

背景

我有一个java服务器正在对go服务器进行RPC调用。 java rpc客户端和go rpc服务器使用lightstep进行检测。关于跟踪的一切看起来都很正常,除了在lightstep UI中的位置,放置了rpc服务器范围。

java span有ts 1493929521325,它在请求发送到go服务器之前。 go rpc服务器有2个时间戳:1493929521326是收到请求并启动跨度时,1493929521336是在响应并完成跨度后。

问题

我希望UI能够横向延伸到java span的右边。相反,它是在右边。

我能想到的唯一可能原因是java代码正在使用的v0.10.1与正在使用的v0.9.1之间存在不兼容性。这有可能吗?你对可能的原因有任何想法吗?

go代码基本上是:

import (
    lightstep "github.com/lightstep/lightstep-tracer-go"
    opentracing "github.com/opentracing/opentracing-go"
)

tracer := lightstep.NewTracer(lightstep.Options{
    AccessToken: ls.AccessToken,
    Collector:   lightstep.Endpoint{ls.Host, ls.Port, true},
    Tags:        map[string]interface{}{lightstep.ComponentNameKey: component},
})

spanContext, err := tracer.Extract(opentracing.TextMap, opentracing.TextMapCarrier(req.GetLightstepData()))
span = tracer.StartSpan(
    endpoint,
    opentracing.ChildOf(spanContext))
}

// handle the request

span.Finish()

enter image description here

1 个答案:

答案 0 :(得分:1)

[免责声明:我在LightStep]

工作

很抱歉,您无法让Java和Go一起玩得很好。我怀疑这是由于在Java中启用了时间校正但未在Go中使用。

您可以使用withClockSkewCorrection(boolean clockCorrection)禁用Java中的时间更正 将选项传递给LightStep跟踪器时关闭clockCorrection的选项

以下是更新的README和指向option code

的链接

如果您通过LightStep中的[支持]按钮与我们联系,我们应该能够让您整理出来。请发给我们一张纸条,以便我们确认这是为您解决的。

我们会更仔细地开始监控,以便我们更早地抓住这些东西。

感谢和快乐的追踪!

威尔