我有一个gRPC API,并希望添加基于Otel的跟踪。对这个API的每个请求都包含trace/span ID,但是我很难正确地发出子span。
下面是iex
的例子:
require OpenTelemetry.Tracer
alias OpenTelemetry.Tracer
:otel_propagator_text_map.extract([{"traceparent", "00-00000000000000001f28325aa9c79b59-37ab46991f7a64e1-00"}])
_parent = :otel_tracer.current_span_ctx()
span_ctx = Tracer.start_span("otel-test")
Tracer.set_current_span(span_ctx)
# start doing some work
:timer.sleep(100)
# work done
Tracer.end_span(span_ctx)
字符串
不知道这里出了什么问题,但我没有看到在iex
控制台中发出span。据我所知,当提取traceparent
时,它会自动成为父span,因此需要通过set_current_span/1
更改span。
有人能告诉我这里出了什么问题吗?
1条答案
按热度按时间nx7onnlm1#
好了解决了
traceparent
报头中的trace-flags
指向无采样,因此输出中没有任何内容。应该是:
00-00000000000000001f28325aa9c79b59-37ab46991f7a64e1-01
来源:https://www.w3.org/TR/trace-context/#examples-of-http-traceparent-headers