5

#105中,davidB 问道:

我想拥有对 Span id (SpanContext id) 的读取权限,以便能够在日志中使用它并报告错误(给最终用户,...)。[skip] 我需要在错误消息中公开“trace id”,然后开发人员可以使用该跟踪来调试支持、QA、最终用户报告的错误。

4

4 回答 4

2

目前OpenTracing API不公开跟踪 ID。本期正在讨论它:https ://github.com/opentracing/specification/issues/24

于 2017-03-09T15:45:28.797 回答
2

您现在可以做的一件事是致电tracer.inject(null, Builtin.HTTP_HEADERS, map. 它将所有带有行李(SpanContext)的ID放入地图中。然后,您可以通过其名称获取 ID。然而,这个解决方案不是 vedor 中立的。

其他解决方案是转换SpanContext为特定实现并通过getter获取ID(如果有的话)

于 2018-01-03T14:47:25.257 回答
2

在春天我用这个:

Span span = tracer.activeSpan();
response.addHeader("trace-id", span.context().toTraceId());

io.opentracing.Tracer tracer我在 Spring 注入的地方

于 2020-08-31T16:20:16.163 回答
0

Ben 提供了一种提供此 ID 的新方法。参考:https ://github.com/opentracing/specification/issues/24#issuecomment-286261320

于 2017-03-14T06:39:05.633 回答