如何为 Datadog 跟踪设置自定义 "trace_id"?

How do I set custom "trace_id" for Datadog tracing?

如何为 Datadog 跟踪设置自定义“trace_id”?我到处搜索,但找不到答案。我怀疑它不受支持。如果能在这里得到一些帮助,我将不胜感激。

例如,如果我可以在多个文件中执行以下操作,那么我可以在 Datadog 中一起查看这些跨度 UI,因为它们都具有相同的跟踪 ID:

@tracer.wrap(service='foo', resource='bar')
def bar(self, ttt):
    span = tracer.current_span()
    span.set_trace_id("my_customer_trace_id")

事实证明,可以通过 HTTP 端点 https://docs.datadoghq.com/api/v1/tracing/#send-traces 设置跟踪 ID。似乎没有直接向代理发送跟踪的选项。

如果不关心进行 HTTP 调用的性能损失,即如果您不在 real-time 系统上工作,这仍然有用。

我不太熟悉 Datadog UI,但我看到 ddtrace 允许您设置标签:

span.set_tag('your_own_id', '12345')