Notes
This release of the Python agent adds CodeStream integration support which includes code level metrics.
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 integration with CodeStream Now Introducing Code-Level Metrics! Golden Signals visible in your IDE through New Relic CodeStream. Learn more here. For any issues or direct feedback, please reach out to support@codestream.com
Notes
This release of the Python agent adds support for GraphQL Server, adds a log handler which forwards logs to the New Relic API, and increases functionality to notice_error
.
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 support for GraphQL Server The agent will now automatically instrument and send metrics for applications using the GraphQL Server.
Add a Log Handler The agent is now able to forward logs to the New Relic API. Thank you to iamr0b0tx for your contribution!
Changes
- More Robust
should_ignore_error
calls Pass references to settings where possible toshould_ignore_error
and makes custom_nr_ignored
logic more defined and incorporated intonotice_error
.
Notes
This release of the Python agent adds support for Aredis, upgrades to the AWS metadata endpoint to IMDSv2, and fixes attribute errors with the garbage collector sampler.
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 support for Aredis The agent will now automatically instrument and send metrics for applications using the StrictRedis client from Aredis.
Changes
- Upgrades to the AWS Metadata Endpoint Upgrades the AWS metadata endpoint to IMDSv2.
Bug fixes
Fix Garbage Collection Sampler Attribute Errors A crash caused by an attribute error on the garbage collector sampler has been fixed.
Safeguards Against Lost Data with Infinite Tracing Fixed race condition between agent and gRPC that resulted in loss of data on agent reconnect.
Notes
This release of the Python agent adds support for Django v4, Redis v4, GraphQL v3.2, as well as fixes to the memory sample exception, Graphene framework, and import hook warnings for Python 3.10.
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 support for Django v4 The agent will now automatically instrument and send metrics for applications using Django v4.
Add support for Redis v4 The agent will now automatically instrument and send metrics for applications using Redis v4.
Add support for graphql-core v3.2.0 The agent will support the latest version of GraphQL.
Changes
- Fix Graphene framework details Data on graphene framework details was missing on newer versions, this has been fixed.
Bug fixes
Fix memory sample exception This fixes the crash in memory sampler on non-supported systems.
Fix import hook warnings for Python 3.10 An
ImportWarning
that was emitted when importing the agent in Python 3.10 has been corrected.
Notes
This release of the Python agent fixes an issue with infinite tracing's usage of gRPC allowing subchannels to retry, and fixes failing database traces.
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
Bug Fixes
Fix gRPC retry logic
Previously gRPC subchannels left open by infinite tracing could cause network congestion and strain our trace observers. This issue has been corrected. As such, specific versions of gRPC are no longer required.
Fix crash in database trace
A crash in database traces resulting from nullified settings (seen rarely in Django) has been corrected.
Notes
This release of the Python agent fixes an issue with FastAPI instrumentation, as well as restricts gRPC to compatible versions.
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
Bug Fixes
Fix FastAPI context propagation error
A runtime instrumentation error stemming from context propagation in FastAPI has been fixed.
Fix gRPC incompatibilities
The version of gRPC has been pinned until compatiblity can be ensured with newer versions.
gRPC recently enabled retries by default on channel connections, potentially causing a storm of requests and open threads to starve the host of resources, as well as strain our trace observers. This pin should alleviate these issues until retries can be properly configured.
Notes
This release of the Python agent fixes an issue with urllib recursion as well as an import error caused by non-ASCII characters in comments
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
Bug Fixes
Fix urllib3 recursion regression
Urllib3 recursion regression issue that was seen in Gevent has been fixed
Fix import error caused by non-ASCII character in comments
An import error caused by non-ASCII characters has been fixed to the correct quotation formatting
Notes
This release of the Python agent adds a patch to correctly build wheels for Python 3.10.
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
Bug Fixes
Fix wheels for Python 3.10
An incorrect version of
cibuildwheel
failed to create Python 3.10 wheels. This has been fixed and wheels should now be available.
Notes
This release of the Python agent adds supported builds for Python 3.10 and fixes bugs.
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 Python 3.10 wheels
Wheels for Python 3.10 are now available and supported.
Changes
Upgrade internal urllib3 to v1.26.7
The internal copy of urllib3 has been upgraded to v1.26.7 to address Python 3.10 issues and deprecation warnings.
Bug Fixes
Ensure errors are ignored by server-side config
Previously it was possible on transaction exit to have an error fail to be ignored when the settings were supplied via server-side config. This has been fixed.
Deprecation warnings for imp module removed
The
imp
module has been deprecated for some time, and has been issuing warnings. This module has been replaced withimportlib
when available.Older versions of Python may still require the use of
imp
, but no deprecation warnings should be emitted.
Notes
This release of the Python agent enables Distributed Tracing by default, deprecates Cross Application Tracing.
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
Reservoir sizes now configurable using settings and environment variables
Reservoir sizes for span events, transaction events, error events, and custom events are now configurable via environment variables. These reservoirs limit both the maximum number of events that can be sent as well as local memory usage.
The agent reservoir can be expanded to accommodate more spans in case more traces are needed or there are dropped spans. The default setting for
event_harvest_config.harvest_limits.span_event_data
has been increased from 1000 to 2000 for better performance. This variable can be increased up to a size of 10,000.These settings previously existed via config file but were undocumented. For details, see the new documentation.
Deprecations
Cross Application Tracing is now deprecated, and disabled by default
Distributed Tracing is replacing Cross Application Tracing as the default means of tracing between services. Cross Application Tracing will soon be removed entirely with a future release.
The default setting for
cross_application_tracer.enabled
is now False, disabling Cross Application Tracing.To continue using it temporarily while transitioning to Distributed Tracing, enable it with
cross_application_tracer.enabled = True
anddistributed_tracing.enabled = False
.
Changes
Distributed Tracing is enabled by default
The default setting for
distributed_tracing.enabled
is now True, enabling Distributed Tracing by default.To disable Distributed Tracing, please set the
distributed_tracing.enabled
setting to False.