This release of the Python agent includes bug fixes.
AIOHTTP http client urls displayed as
unknown.urlwhen using YARL URLs
When passing a YARL url object to the aiohttp client, the agent did not properly parse this URL, resulting in unknown.url being displayed in the UI. The URL is now parsed correctly in both the YARL url case and the string url case.
Data may not be recorded when tornado's
RequestHandler.finishin tornado caused the transaction to exit before all traces (inserted by automatic instrumentation) were complete, resulting in missing data. All traces now exit when
asyncio.create_taskis unable to spawn new transactions
asyncio.ensure_futurewas unable to spawn a new transaction if these methods were called from within an existing transaction. New transactions can now be created when
create_taskis called from within an existing transaction and no traces have been started on the spawned task.
py3: A runtime instrumentation error may have occurred when transactions were finalized
When transactions became garbage (if the reference to the transaction was lost as part of a circular reference for example), a runtime instrumentation error may have been logged. The error conditions have been relaxed to allow for certain states within the agent when a transaction becomes garbage.
Application crash when starting a transaction when one is already active
Starting a transaction via the context manager APIs when a transaction is already active no longer causes an application crash. An error is logged when this case is detected.
Creating a message transaction with distributed tracing enabled may have resulted in a crash
The agent crashed with an
AttributeErrorwhen using message transactions with distributed tracing enabled when headers were not provided. This error has been fixed.