Erlang/Elixir中的OpenTelemetry传播-示例

rkkpypqq  于 2023-08-01  发布在  Erlang
关注(0)|答案(1)|浏览(143)

我有一个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。
有人能告诉我这里出了什么问题吗?

nx7onnlm

nx7onnlm1#

好了解决了
traceparent报头中的trace-flags指向无采样,因此输出中没有任何内容。
应该是:00-00000000000000001f28325aa9c79b59-37ab46991f7a64e1-01
来源:https://www.w3.org/TR/trace-context/#examples-of-http-traceparent-headers

相关问题