Currently, Span doesn't accept a SpanCtxt on construction because that should be part of the ambient context. This makes its representation incomplete, and puts the span context at a different level than the span name.
If we add SpanCtxt to Span and start including it in the Event's props when emitting it, we'll end up duplicating those properties. It's not technically an issue, it just looks a bit weird when you're using a non-deduplicating representation like fmt::Debug. It would be nice to work around this if we can, but I think that's the lesser issue than having Span not carry its own context.
Currently,
Spandoesn't accept aSpanCtxton construction because that should be part of the ambient context. This makes its representation incomplete, and puts the span context at a different level than the span name.If we add
SpanCtxttoSpanand start including it in theEvent's props when emitting it, we'll end up duplicating those properties. It's not technically an issue, it just looks a bit weird when you're using a non-deduplicating representation likefmt::Debug. It would be nice to work around this if we can, but I think that's the lesser issue than havingSpannot carry its own context.