A newer version is available. For the latest information, see the
current release documentation.
Python Agent version 5.x
editPython Agent version 5.x
editv5.10.0
editFeatures
edit- Implement "sample_rate" property for transactions and spans, and propagate through tracestate #891
- Add support for callbacks on config changes #912
-
Override
sys.excepthook
to catch all exceptions #943 -
Implement
log_level
config (supports central config) #946 -
Implement
transaction_ignore_urls
config (supports central config) #923 - Add public API to retrieve trace parent header #956
- Added support for cgroup memory metrics #846
Bug fixes
edit-
Fix to collect the whole query body in
elasticsearch-py
#940 - Fix for GraphQL transaction naming #881
- Ensure that query string max length is maintained after sanitization #968
- Adapted kubernetes kubepod regex for detecting kubernetes metadata #958
- Updated Starlette integration to use the route as transaction name if possible #957
v5.9.0
editFeatures
editBug fixes
edit-
Fix validation of config to properly require
required
config items. #927
v5.7.0
editFeatures
editBug fixes
edit- Added error handling around frame processing in Django #837
- Limit SQL queries in context data to 10000 characters #842
- Omit the "sync" property on spans by default #854
- Update the pid/ppid in transport metadata when they change #825
- Added better error handling around closing the transport #838
- Fixed an issue with the django admin command not detecting misconfigured server urls #855
v5.6.0
editNew features
edit- Added SERVICE_NODE_NAME config #592
-
Added instrumentation support for
pymemcache
#812 -
Added new configuration options
enabled
andrecording
#790
Bug fixes
edit- Fixed an issue with metrics collection raising RuntimeErrors #802
- Fixed an issue with getting extended destination data from pymongo #797
- Fixed an issue with Tornado instrumentation when Tornado isn’t the "main" framework #813
- Fixed an issue with streaming requests being consumed by the agent even if capture_body is disabled #817
Pending Deprecations
edit- Python 2.7 suppot will be dropped in version 6.0 of the agent.
v5.5.2
editBug fixes
edit- Fixed an issue with Redis using unix domain sockets and destination information #766
v5.5.1
editBug fixes
edit- Fixed Starlette middleware when capturing request body while the content-type header is absent #763
v5.5.0
editFeatures
edit- Added destination information to database/HTTP spans, used for service maps #618
Deprecations
edit- Python 3.4 is no longer supported.
v5.4.2
editBug fixes
edit- fixed a bug in our celery implementation related to the threading refactor in 5.4.0 #724
v5.4.1
editBug fixes
edit- fixed an issue with a DEBUG log message raising an error in some cases #722
v5.4.0
editDeprecations
editThis will be the last minor release to support the following versions:
- Python 3.4
- Django 1.8, 1.9 and 1.10
- Flask < 1.0
In addition, as of this release we only supported capturing extended information on Elasticsearch queries when using keyword arguments with the elasticsearch-py API. This is in keeping with the upstream policy of positional arguments being unsupported. #697
New Features
edit- Refactored spawning of background threads #636
- Added support for aiohttp client and server #659
- Added support for tornado web framework #661
- Added support for starlette/fastapi #694
-
Added support for W3C
traceparent
andtracestate
headers #660 - Added Django 3.0 and Flask 1.1 to the support matrix #667
- Added support for aiopg #668
- Use Span ID as parent ID in errors if an error happens inside a span #669
- Added experimental support for API Key authentication #679
Bug fixes
edit- introduced workaround to avoid instrumenting twice in rare cases #708
v5.3.0
editNew Features
editBug fixes
edit- Fixed issue with transactions not being captured when errors occur in Flask #635
v5.2.0
editNew Features
edit- Added automatic tagging of LogRecord objects with transaction, trace, and span IDs via a LogRecordFactory (Python 3.2+) #520, #586
-
Added
logging
filter and record factory for adding transaction, trace, and span IDs #520, #586 -
Added
structlog
processor for adding transaction, trace, and span IDs #520, #586 - Added new public API calls for getting transaction, trace, and span IDs #520, #586
- Added support for chained exceptions in Python 3 #596. Note that chained exceptions will be captured and stored in Elasticsearch, but not yet visualized in the APM UI. The UI component will be released in an upcoming Kibana release (7.5 or later).
-
Added support for using
structlog
for agent logging #591
Bug fixes
edit- Drop events immediately if a processor returns a falsy value #585
v5.1.1
editBug fixes
edit- Fixed an issue with empty responses from APM Server’s config endpoint #562, #563
- Fixed Windows tests by avoiding time.sleep in breakdown metrics tests #537, #550
- Fixed container ID matching to match CloudFoundry Garden container IDs #523, #564
- Fixed an issue in the urllib instrumentation if no port is set #567
Other
edit- Added Python 3.8 RC to the test matrix #565
v5.0.0
editBreaking changes
editOther changes
edit- Added support for recording breakdown metrics #535
- Added support for central config management #511
-
Added instrumentation for
urllib2
(Python 2) /urllib.request
(Python 3) #464 -
Added
disable_metrics
setting #399 - Updated elasticsearch instrumentation for 7.x #482, #483
- Fixed an issue with opentracing-python 2.1 #471
- Fixed an issue with certificate pinning #497
- Lowered log level of transport success messages #527, #531