Notes
This release of the Python agent adds new instrumentation for the GraphQL frameworks Strawberry and Ariadne, updates to Graphene and Starlette GraphQL instrumentation, a change to logging configuration, and includes bug fixes.
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
New Features
Add new instrumentation for Strawberry
GraphQL applications built using Strawberry will now be automatically instrumented.
Add new instrumentation for Ariadne
GraphQL applications built using Ariadne will now be automatically instrumented.
Improvements
Add new and changed metrics for Graphene applications
Metrics specifying the framework details for Graphene have been added, and GraphQL metrics now include Graphene as a product field.
(eg.
GraphQL/operation/Graphene/query/<query_name>/<query_path>
)Improve tracing in Starlette GraphQL applications
GraphQL applications using Starlette now support all executor classes. Previously, only async executor classes were supported.
Changes
New Relic agent logs no longer propagate to the root logger by default
Previously, logs using the
logging
module sent to thenewrelic
logger would propagate to the root logger, potentially causing duplicate logs to appear or be sent to New Relic. This has been changed to no longer propagate to the root logger by default.To reverse this behavior, in your application you can run
logging.getLogger("newrelic").propagate = True
at any point after initializing the agent. If you use thenewrelic-admin
wrapper, this can be done at any time inside your application.
Bug Fixes
TimeTrace.str recursion
A case of infinite recursion with
TimeTrace.__str__
has been corrected in this release. Callingstr()
,repr()
orprint()
on aTimeTrace
object or subclass instance will now display helpful debugging information about it.