OpenTelemetry distributed tracing: is it possible to propagate trace IDs from client to server?

I have been trying to figure out from documentation and practical tests how to pass an OpenTelemetry (parent) trace id from a client connected to FoundationDB, so that FoundationDB server would emit spans with the same trace ids and that client spans would become parent spans.

Is this even possible? There is no explicit mention in documentation or in the original announcement.

What I have tried so far:

  • using the SPAN_PARENT transaction option
  • writing the special keys \xff\xff/tracing/transaction_id and \xff\xff/tracing/token, in their expected format

I am also setting the --tracer parameter for fdbserver, and the corresponding network option for the client, plus knob_tracing_sample_rate=1.0, without any success.

I can see that client is receiving the trace id but it doesn’t seem to be sent to server as a SpanContextMessage mutation.

Any ideas? Thanks!

1 Like