census-instrumentation / opencensus-specs

Apache License 2.0
188 stars 50 forks source link

Add details about Sampler interface and sampling decision. #186

Open bogdandrutu opened 6 years ago

codefromthecrypt commented 5 years ago

@adriancole https://github.com/adriancole one of scenarios for tracestate requires in-process exposure and modification. Some systems want to keep (and update) legacy ids at least for a while. assuming we can only access tracestate on the boundaries, all spans in the middle (if any) will not have legacy ids and it'll be hard to discover parents.

ok. thanks. thinking about this.. we have some scenarios like this but it isnt a user api thing rather an SPI one. I personally would not like to expose a mutable api for trace state to in routine APIs, but this is different than wanting to allow hooks to be developed.

codefromthecrypt commented 5 years ago

PS I think reserializing the tracestate into a string for every intermediate span will be unnecessary overhead for a lot of folks. We already imply a lot of overhead to eagerly serialize traceparent. Consider that between an entry and exit we have arbitrary number of intermediate steps.

I think this is another case of something we are trying to go to spec about with very little practice. Is there a way libraries can just experiment and see if they really need something before it goes into a spec? On Fri, Oct 12, 2018 at 11:50 AM Adrian Cole adrian.f.cole@gmail.com wrote:

@adriancole one of scenarios for tracestate requires in-process exposure and modification. Some systems want to keep (and update) legacy ids at least for a while. assuming we can only access tracestate on the boundaries, all spans in the middle (if any) will not have legacy ids and it'll be hard to discover parents.

ok. thanks. thinking about this.. we have some scenarios like this but it isnt a user api thing rather an SPI one. I personally would not like to expose a mutable api for trace state to in routine APIs, but this is different than wanting to allow hooks to be developed.