Python Agent Support
Python Versions
The Python agent supports these Python versions:
Operating Systems
The Python agent operates on:
The Python agent does not support Power Architecture.
Multicloud Deployment Support
The agent supports deployment in the following multi-cloud environments:
- Amazon Elastic Compute Cloud (Amazon EC2)
- Amazon Elastic Container Service (Amazon ECS)
- Amazon Elastic Kubernetes Service (Amazon EKS)
- Azure Kubernetes Service (AKS)
Python Frameworks and Protocols
Python Agent supports:
- ASGI supported frameworks such as FastAPI.
- Any ASGI frameworks running under the Uvicorn ASGI server.
- WSGI supported frameworks such as Django, Flask, CherryPy, Bottle, and Pyramid .
- Tornado
You can configure the agent to instrument any WSGI-based and ASGI-based application or framework as Python Web, including but not limited to those listed in the following tables.
At present, the Python agent fully supports exception detection in Django, Flask, CherryPy, Bottle, Pyramid, Tornado, and FastAPI frameworks. Other frameworks and custom applications may install exception handlers that effectively hide some exceptions from the agent. In such cases, the agent will only detect exceptions during exit calls, missed exceptions that are propagated to the WSGI or ASGI middleware, and exceptions reported via the custom business transaction API.
ASGI-Based Framework | Version | Notes |
---|
FastAPI | 0.72.0 - 0.95.0 | Only HTTP endpoints are supported. |
WSGI-Based Frameworks | Version | Notes |
---|
WSGI | 1.0 | Entry point type: Python web Default transaction naming: the first two segments of the URI |
Bottle | 0.12.19 |
|
CherryPy | 18.6.1 |
|
Django | 3.1.6 |
|
Flask | 1.1.2 |
|
PasteDeploy | 2.1.0 |
|
Pyramid | 2.0 |
|
mod_wsgi | 4.7.1 |
|
Miscellaneous Frameworks | Version | Notes |
---|
Tornado | 3.2 - 4.5, 5.x (without asyncio), and 6.0 | Entry point type: Python web Default transaction naming: the first two segments of the URI |
AIOHTTP | 3.9.8 | Only HTTP endpoints are supported |
Database Exit Points
Supported Database Exit Points | Version |
---|
cx_Oracle
Both Connect() and SessionPool() connection handlers are supported.
| 8.x.x |
MongoDB | 3.1+ |
MySQL-Python |
|
mysqlclient |
|
MySQL Connector/Python |
|
Psycopg 2 |
|
PyMySql |
|
TorMySql |
|
HTTP Exit Points
Supported HTTP Exit Points |
---|
aiohttp |
httplib* |
httplib2 |
requests |
urllib |
urllib2 |
urllib3 |
tornado.httpclient |
* The agent detects calls to any external library built on top of httplib
. Therefore, backend calls to such services, such as, boto, dropbox, python-twitter are detected and displayed as HTTP exit calls.
Cache Exit Points
Supported Cache Exit Points |
---|
Memcache |
Redis-py |