I'm trying to reproduce this blog post https://knative.dev/blog/articles/distributed-tracing/
but using default knative capabilities in a bit other way.
My setup is simple, I have two services, broker and trigger:
Heartbit ksvc - is a service
EventDisplay ksvc - is another service
(ce) is cloudevent.
--(ce)--> - means sending cloud event
Heartbit ksvc --(ce)--> Broker --(ce)--> Trigger --(ce)--> EventDisplay ksvc
Heartbit ksvc is reusing incoming request headers, tracing headers injected by activator-service.
I configured tracing according to
Serving tracing - https://knative.dev/docs/serving/accessing-traces/
Eventing tracing - https://knative.dev/docs/eventing/accessing-traces/
For now I set debug: true for both configurations.
What I get is two separate traces:
Heartbit ksvc --(ce)--> Broker
Trigger --(ce)--> EventDisplay ksvc
If I look at the 2nd trace (starting from Trigger) then I see that there are no tracing headers and I see a warning (which says about it):
> invalid parent span IDs=8ae37449073c8462; skipping clock skew adjustment
My question is why tracing headers are not passed to Trigger?
Is it related to backend channel implementation which is used by default (it our case it is NatssChannel) used by broker and triggers?