-
Notifications
You must be signed in to change notification settings - Fork 51
Setup instructions in conjunction with jaeger-client-python leads to pitfall #7
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
Comments
So it looks like someone made a fix for this already in #6 , which is from work on the issue at jaegertracing/jaeger-client-python#69 |
I'm hoping @tanner-bruce , @bhs , or @carlosalberto could comment, as we could use this fix too. |
@dudymas I'm hoping to get back to it really soon, simply haven't had a chance. There are a few things that need to be fixed in the PR, as well as a change or two and I need to rationalize some of the decisions. I also want to test a different approach to storing the root span that would make the middleware arguably cleaner. |
@tanner-bruce would you mind if I make a PR to your repo? I already removed the jaeger client dep and also dried up the middleware to use more of the django helper class for init |
@dudymas sure, thanks for putting in the work. |
Hi guys, thanks for your work on this! Any idea when can we expect this in master? If there's any work that still needs to be done, I'd be happy to do that... |
@mikebryant - awesome! Hopefully this gets merged soon... |
See jaegertracing/jaeger-client-python#60. Doing the obvious setup, according to the readme of these two projects, leads to a deadlock which is quite tricky to sort out.
I've not yet found an elegant workaround, though I'm not an expert in Jaeger, or Django. In the linked issue, it's suggested the Jaeger tracer not be initialized until after the WSGI server (gunicorn in my case) forks. That seems like a good idea, even if it didn't deadlock.
The closest solution would seem to be putting the initialization of the Jaeger tracer in gunicorns
post_fork()
hook (or similar for other WSGI servers). Trouble is by that time I'd thinkOpenTracingMiddleware
has already saved a reference to the tracer. So I'm looking at doing something ugly.The text was updated successfully, but these errors were encountered: