Notes
This release of the Python agent adds support for elasticsearch 8, redis.asyncio, and exposes apdexPerfZone.
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 eleasicsearch 8 Add instrumentation support for elasticsearch version 8.
Add support for redis v4.4.1 and v4.4.2 Add support for new methods in the latest versions of redis.
Add support for redis.asyncio aioredis is included to redis-py since version 4.2.0rc1 as redis.asyncio. Support this new location. Thank you @pauk-slon for your contribution!
Add apdexPerfZone to web transaction event attribute intrinsics Expose nr.apdexPerfZone as apdexPerfZone in Web transaction event attribute intrinsics.
Support statement
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.6.0.135. More information can be found in the EOL Policy Page.
Notes
This release of the Python agent adds the record_log_event
API and includes some 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 support for redis v4.3.5 and v4.4.0 methods
New methods added in redis v4.3.5 and v4.4.0 will now be automatically instrumented.
Add record_log_event API
This records a log event that can be viewed and queried in the New Relic UI. See record_log_event for details.
Bug fixes
Fix RuntimeError: dictionary changed size during iteration
Properly guard
trace_cache
fromRuntimeErrors
raised due to concurrent iteration and size changes of theTraceCache
.Fix confluent-kafka producer arguments
Fixes a bug where topic provided as a keyword argument can crash Confluent Kafka producers.
Patch sentry SDK to correct ASGI v2/v3 detection
Patches sentry-sdk to fix a bug that causes incorrect ASGI application version detection with our wrapt function wrappers. To fix this, we now instrument the
_looks_like_asgi3()
function to bind out the wrapped app in sentry in order to unwrap it to be able to detect the proper ASGI version.Fix missing information issue with Celery workers when using MAX_TASKS_PER_CHILD
A bug was introduced in v7.8.0.174 when Celery was run with the
--loglevel=INFO
flag to not report any data after the original worker processes shut down. This has been fixed.Fix support for dynamically generated types in Code Level Metrics
A bug in code level metrics attribute extraction prevented attributes from being applied to types created using the 3 argument type constructor. This has been fixed.
Fix external node properties initialization
A bug caused by uninitialized external node properties when making web requests has been fixed. Thank you @kmorey for your contribution!
Support statement
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.4.1.134. More information can be found in the EOL Policy Page.
Important
We recommend updating to the latest agent version as soon as it's available. If your organization has established practices that prevent you from upgrading to the latest version, ensure that your agents are regularly updated to a version at most 90 days old. Read more about keeping your agent up to date.
As of this release, the oldest supported version is 5.2.2.130.
Notes
This release of the Python agent increases the custom event limit and includes a bug fix.
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
Changes
Increase custom event limit
This agent version increases the default limit of custom events from 1,200 events per minute to 3,600 events per minute. In the scenario that custom events were being limited, this change will allow more custom events to be sent to New Relic. There is also a new configurable maximum limit of 100,000 events per minute. To change the limits, see the docs for event_harvest. To learn more about the change and how to determine if custom events are being dropped, see our Explorers Hub post.
Bug fixes
Fix NewRelicContextFormatter attribute error
A bug was introduced in v8.3.0 that caused an AttributeError when using the NewRelicContextFormatter. This has been corrected in this release version.
Notes
This release of the Python agent adds Python 3.11 support, deprecates the add_custom_parameter(s) API, adds usage metrics for multiple libraries, 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.
Deprecations
- add_custom_parameter(s) API is now deprecated The add_custom_parameter(s) API has been renamed to add_custom_attribute(s). A deprecation warning will be emitted when calling add_custom_parameter() from this agent version and higher.
New features
Add support for Python 3.11 The agent now supports applications running in Python 3.11.
Add usage metrics for Kafka clients, Daphne, and Hypercorn The agent now emits a messagebroker metric for Kafka clients and a dispatcher metric for Daphne and Hypercorn. This metric is similar to the framework metric already being emitted for all web frameworks supported by the agent.
Bug fixes
Fix Flask view support for Code Level Metrics The agent was previously reporting the class name for the code.function attribute in the case of Flask method dispatching. This has been corrected to report the instrumented function name.
Fix aioredis version crash A fix has been implemented to address a crash in aioredis in cases where the agent was initialized before importing aioredis on aioredis>=2.0.1.
Support statement
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.2.2.130. More information can be found in the EOL Policy Page.
Notes
This release of the Python agent provides numerous bug fixes, including several community contributions, provides updates to Sanic instrumentation, Protobuf v4 compatiblity, and updates internal packages for Python 3.11 support.
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
Version numbering change
The version number of the agent did not previously follow Semantic Versioning properly. This has been changed. Going forward build numbers have been removed from the version number, and version increments will follow semantic versioning fully. No retroactive changes will be made to previous version numbers.
Instrumentation updates
Update Sanic middleware support
Sanic recently changed their APIs surrounding middleware, and instrumentation has been updated to support it.
Package updates
Update wrapt to v1.14.1
The internal copy of the wrapt library used by the agent has been updated to v1.14.1 for Python 3.11 compatibility.
Add support for Protobuf v4
The agent is now fully compatible with Protobuf v4 when using Infinite Tracing. Backwards compatibility with Protobuf v3 has been preserved.
Bug fixes
Fix a RuntimeError in the trace cache when using the coroutine profiler
A RuntimeError occurred if traces were started or stopped while the coroutine profiler was sampling the active traces. This should no longer be possible.
Thank you @lovmat for your contribution!
Fix an issue with case sensitivity in record-deploy
Previously application names were incorrectly being treated as case-sensitive when running
newrelic-admin record-deploy
.Thank you @michalborkowski96 for your contribution!
Fix an issue with newer installers failing to install the agent
Due to the inclusion of both
scripts
andentry_points
configuration options, the agent would fail to install with newer installers. This has been corrected and newer PEP compliant installers should have no trouble installing the agent.Thank you @admp-fh for your contribution!
Fix instrumentation for aioredis interfering with transactions
The agent does not currently support transactions for Redis clients, and previous instrumentation broke transaction functionality in AioRedis. This has been fixed to provide no instrumentation within transactions at this time.
Fix a crash when completing various kinds of traces inside a stopped transaction
Previously certain types of traces could throw exceptions and fail to complete when inside stopped transactions. This has been corrected and should no longer be possible.
Fix a bug where instrumentation caused certain arguments to confluent-kafka producers to stop working
Previously callback and on_delivery arguments were passed through improperly leading to them not working as expected.
Support statement
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.2.2.130. More information can be found in the EOL Policy Page.
Notes
This release of the Python agent adds automatic instrumentation for Kafka Python as well as Confluent Kafka.
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 kafka-python instrumentation
Instrumentation has been added for Kafka Python.
Add confluent-kafka instrumentation
Instrumentation has been added for Confluent Kafka.
More information can be found in the Message Queue documentation
Support statement
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.2.0.127. More information can be found in the EOL Policy Page.
Notes
This release of the Python agent adds automatic instrumentation for Hypercorn, and includes bug fixes for Sanic v21.9+, memory sampler reporting, and 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.
New features
Add Hypercorn instrumentation
Instrumentation has been added for Hypercorn, an ASGI web server.
Bug fixes
Fix instrumentation for Sanic v21.9+
Instrumentation for newer versions of Sanic (>=21.9) have either not reported data or crashed due to an incompatibility with Sanic's internal metaprogramming.
Fix incorrect PID reported by memory sampler
The PID reported by the memory sampler when sampling processes was incorrectly attributed to the process the agent was initialized from.
Fix issue with database traces causing crashes
In rare instances a database trace could result in a setting not being found, causing a crash.
Support statement
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.2.0.127.
Notes
This release of the Python agent removes support for Python 3.6. It also includes new instrumentation for Daphne, reporting installed module versions, and a fix for a bug affecting Loguru file paths.
Install the agent using easy_install/pip/distribute
via the Python Package Index or download it directly from the New Relic download site.
Deprecations
Removed support for Python 3.6
Python 3.6 is no longer supported by the agent. Please consider upgrading your application to a supported version of Python in order to continue to receive updates to the Python Agent.
New features
Add Daphne instrumentation
Instrumentation has been added for Daphne, a Django project ASGI web server and the recommended server for Django Channels.
Add module version reporting
Installed python packages now have their versions reported and are visible in the Environment tab for your application in New Relic One.
Bug fixes
Fix a bug in file path detection for Loguru
Wrappers from the agent interfered with Loguru file path detection for templating messages. This has been corrected on all versions. Thank you to @rafaelclp for your contribution!
Support statement
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.0.2.126.
Notes
This release of the Python agent enables log forwarding to New Relic by default. It also addresses a bug related to compressed bytes calculations and adds a new top level data usage supportability metric to the agent.
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 APM logs in context
Automatic application log forwarding is now enabled by default. This version of the agent will automatically send enriched application logs to New Relic. To learn more about about this feature, see the APM logs in context documentation. For additional configuration options, see the Python logs in context documentation. To learn about how to toggle log ingestion on or off by account, see our documentation to disable automatic logging via the UI or API.
Add top level aggregated data usage supportability metric
The agent now reports a top level data usage supportability metric:
Supportability/Python/Collector/Output/Bytes
. This aggregates all uncompressed bytes across all agent methods sent to New Relic.
Changes
Change data usage supportability metric name
Previously, the agent reported data usage supportability metrics in the format
Supportability/Python/Collector/Output/Bytes/<agent_method>
. This has been changed to be in the formatSupportability/Python/Collector/<agent_method>/Output/Bytes
to align with the agent specification.
Bug fixes
Fix data usage supportability metric compression payload calculation
Previously, the agent was reporting the compressed bytes for the
Supportability/Python/Collector/Output/Bytes
metric group and uncompressed bytes for theSupportability/Python/Collector/ZLIB/Bytes
metric group. This was incorrect and has been fixed in this release.
Support statement
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.0.0.124.
Notes
This release of the Python agent adds support for aioredis, enhances support for redis and aredis, and fixes a deprecation.
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 aioredis
The agent will now automatically instrument and send metrics for applications using the Redis and StrictRedis clients for aioredis.
Improvements
Enhance support for redis and aredis
The agent now instruments a more extensive list of commands for redis and aredis clients. This includes commands under the search, graph, time series, json, sentinel, and bf modules.
Bug Fixes
Fix
threading.currentThread
deprecationthreading.currentThread
was deprecated in Python 3.10 and has been replaced withthreading.current_thread
. Thank you hugovk for your contribution to the agent!
Support statement
New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 5.0.0.124.