Comments 3
А что если у span-а нужно больше одного parent-а? Скажем, я запускаю фоновую задачу, которая батчем обрабатывает записи. И запись с traceid, и батч. Там можно такое, или придется выбирать?
Мы хотим получить сквозной trace, в котором будет видно всё: создание задачи, её обработку и обновление
Идея так себе. Большинство систем считают один трейс одним запросом, и если воркер берет задачи асинхронно (вплоть до остановки на пару часов) - время "запроса" потом будет показывать погоду на марсе и кроме как для логов такие трейсы будут бесполезны (по ним даже нельзя будет сказать жив ли сервер или нет, вдруг воркер спал). Лучше завести ещё одну переменную и передавать её внутри tracestate. Тогда отдельные трейсы будут отдельными, но отследить выполнение задачи все равно будет легко
Коротко и по делу про механизм propagation в OpenTelemetry