In the updated adapter.start calls or wherever we're passing in options, we should take the value by reference vs. expecting to own it. particularly in Rust, currently each trace context must make its own new Options, or if cloneable, copy it from elsewhere.
e.g.
- let trace_ctx = adapter.start(_, _, options);
+ let trace_ctx = adapter.start(_, _, &options);
It could also be done in Go so the value isn't copied around, but that's more of a performance/resource optimization than a pesky DX as it is in Rust.
In the updated
adapter.startcalls or wherever we're passing in options, we should take the value by reference vs. expecting to own it. particularly in Rust, currently each trace context must make its own new Options, or if cloneable, copy it from elsewhere.e.g.
It could also be done in Go so the value isn't copied around, but that's more of a performance/resource optimization than a pesky DX as it is in Rust.