-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add explicit traceId parameter to everything and fix leaky instrumentation #435
Comments
@openzipkin/core I don't think we should do any more release on this repo until this issue is addressed. I spent weeks on this problem and we have a long history of silly bugs. |
@shumsky since you did such an awesome job with koa, I think you have the skills to handle this one.. question is, do you have the cycles for it? |
@adriancole let me dig into this issue a little bit. |
@adriancole Hey, sorry, looks like I can't spare time for this. |
@shumsky no biggie. how about if someone else does, could you manage to review or test? |
@adriancole oh, yes, I think I'll be able to do that. |
Use of Tracer.setId is a bug. It has led to so many leaks and confusing "should I use scoped?" where the answer is everywhere due to routine use of
Tracer.setId
While a v2 rewrite (which never allows this command) is a nice way out, it is unlikely a volunteer will muster the energy to do that, unless they have several weeks time.
Another way is to add a last parameter to everything with traceId, which allows explicit (leak-free) usage of the tracer. then, make the http instrumentation classes use that instead of perpetually leaking trace ids.
scoping should never be used for our instrumentation, in other words. scoping is only for third party code. let's stop routinely using it, which will stop the routine bugs created in nearly every package.
The text was updated successfully, but these errors were encountered: