The Python Agent consists of:
- a Python extension component
- a proxy component
The Python Agent discovers, maps and tracks metrics for business transactions, app services, and backends in your web application by injecting instrumentation into the Python application at runtime. The agent lives inside the WSGI server that contains the instrumented application.
The proxy component is a Java daemon process that handles the communication between the Python Agent and the Controller. The proxy reports the performance metrics to the Controller, where the data is stored, baselined, and analyzed. You can access this performance data interactively using the Controller console or programmatically using the AppDynamics REST API.
In pure Python environments the proxy component is automatically started when you start the Python Agent, but in some deployments it is necessary to start the proxy manually. See Instrument the Application in Instrument Python Applications for details.
The proxy is mutli-tenant, serving multiple instrumented applications simultaneously. Whether the proxy is started automatically or manually, the commands that start the agent check whether the proxy is already running and do not attempt to start it again if it is.