#python #api #trace #datadog #apm
#python #API #трассировка #datadog #apm
Вопрос:
Как мне установить пользовательский «trace_id» для трассировки данных? Я искал высоко и низко, но не могу найти ответ на этот вопрос. Я подозреваю, что это не поддерживается. Был бы очень признателен, если бы я мог получить некоторую помощь здесь.
В качестве примера, если я могу выполнить следующее в нескольких файлах, я могу просматривать эти интервалы вместе в пользовательском интерфейсе Datadog, поскольку все они имеют одинаковый идентификатор трассировки:
@tracer.wrap(service='foo', resource='bar')
def bar(self, ttt):
span = tracer.current_span()
span.set_trace_id("my_customer_trace_id")
Ответ №1:
Оказывается, идентификатор трассировки может быть установлен через конечную точку HTTP https://docs.datadoghq.com/api/v1/tracing/#send-traces . Похоже, что нет возможности напрямую отправлять трассировки агенту.
Это все еще может быть полезно, если снижение производительности при выполнении HTTP-вызовов не вызывает беспокойства, т. Е. Если вы не работаете в системе реального времени.
Ответ №2:
Я не очень хорошо знаком с пользовательским интерфейсом Datadog, но я вижу, что ddtrace позволяет вам устанавливать теги:
span.set_tag('your_own_id', '12345')
Комментарии:
1. Это не годится, потому что нам нужно, чтобы эти события были одинаковыми
trace id
, чтобы они красиво выстраивались в пользовательском интерфейсе.