question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Setup instructions in conjunction with jaeger-client-python leads to pitfall

See original GitHub issue

See https://github.com/uber/jaeger-client-python/issues/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 think OpenTracingMiddleware has already saved a reference to the tracer. So I’m looking at doing something ugly.

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Reactions:2
  • Comments:8

github_iconTop GitHub Comments

1reaction
mikebryantcommented, Dec 20, 2017

@ror6ax I’ve tried a different way of approaching this in #9

1reaction
tanner-brucecommented, Nov 16, 2017

@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.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Integrating OpenTelemetry into the Modern Apps Reference ...
In this post, we describe how our search for a multifunctional, open source observability tool led us to OpenTelemetry, and then detail the ......
Read more >
Client Libraries - Jaeger
The Jaeger clients have faithfully served our community for several years. We pioneered many new features, such as remotely controlled samplers and ...
Read more >
Prometheus: Up & Running - The Swiss Bay
have it, download and install Python 3 from https://www.python.org/downloads/. You will also need to install the latest Python client ...
Read more >
Monitoring demystified: A guide for logging, tracing, metrics
He explains a typical technical strategy that involves the collection of server logs and client-side requests to help you get visibility into what's...
Read more >
The Open Grid Computing Environments Collaboration
with heterogeneous security mechanisms, and with Web programming languages (Java, Perl, Python). The state of portal development through 2001 is surveyed in ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found