Hello New Relic Python community,
Since joining New Relic 6 months ago working on the Python agent, one constant has been the request by our community and customers to have better Tornado support.
While we’ve had ‘introductory’ Tornado support in a few feature flags, they were not well documented and failed to meet the expectation of usefulness for both ourselves and our users.
The New Relic Python team hope to change that by having Tornado in New Relic as our current focus. Long story short, we believe that, there are generally 3 major issues that could go awry in an asynchronous application.
- The network was slow. It took a while to get a response from the other server
- There was blocking work within the function itself
- There was other work blocking the IO loop
New Relic can help users understand 1 and 2 above today, but we have not been successful in helping surface #3. We believe a good solution is to show users when other work is being done as a segment within the context of a transaction.
Something like this:
To deliver on the above for Tornado, our plan is to target Tornado v6 (python 3+) in our official Tornado instrumentation. At the same time, we will end support for our old introductory Tornado feature flags in future agent releases.
How does the proposed plan work with what you are doing? We’d love to hear from you.