Python Agent 3.2.0.91

Released on: 
Wednesday, April 4, 2018 - 12:00

Notes

This release of the Python agent adds the request.uri attribute on transaction events in insights, adds built-in cheroot instrumentation, adds support for recording flask-restful/flask-restplus exceptions, and contains bug fixes.

The agent can be installed using easy_install/pip/distribute via the Python Package Index or can be downloaded directly from the New Relic download site.

Improved Features

  • Add request.uri attribute to transaction and error events

    The Python agent will now report request.uri as an attribute on transaction events and error events. To disable this feature, add request.uri to the attributes.exclude list in the newrelic.ini configuration file.

  • Record Flask RESTful and Flask RestPlus exceptions

    Since Flask RESTful and Flask RestPlus handle all errors that are raised in their handlers, these errors were not being captured by the normal Flask instrumentation in the Python agent. Exception handling has now been added for these two components.

  • Add instrumentation hooks for the Cheroot WSGI server

    Any customers using Cheroot with an unsupported application framework will now see data reported in New Relic APM.

Bug Fixes

  • Fix CherryPy ignore by status code for exceptions using reason phrases

    CherryPy accepts string values for HTTPError status (reason phrases). When creating HTTPError exceptions in this way, responses were not properly ignored by status code. Responses generated by HTTPError exceptions using reason phrases are now properly ignored.

  • Using send_file with Flask Compress middleware may have caused an application crash

    When using browser monitoring auto instrumentation on an application using Flask Compress, the use of the Flask send_file helper to send html files resulted in an application crash. This issue has now been resolved.

  • Fix incorrect parenting for traces of coroutines scheduled with asyncio gather/ensure_future

    Coroutines scheduled with asyncio gather/ensure_future may have been reported as being a child of the wrong function. This issue has now been corrected.