By default, Python Agent and Java proxy communicate with each other using Inter-Process Communication (IPC).  

However, using Transmission Control Protocol (TCP) communication is beneficial in these scenarios:

  • When you want the Java proxy and Python Agent to run over different host operating systems.  
  • In containers (such as Docker and Kubernetes), where mounting the same volume for all the containers is possible but not recommended.

To enable TCP communication, set tcp-comm-port to a valid port. The Python Agent and Java proxy can now communicate using TCP rather than IPC.

The Java proxy listens to the incoming connection requests from agents over the APPDYNAMICS_TCP_COMM_PORT. The communication occurs for every agent over these two unique ports: 

  • Reporting port 
  • Request port

These ports can be set by either the agent or the proxy.

TCP Mode Configuration - Environment Variables

For cfg file versions of the environment variables, see Python Agent Settings.

This table lists the TCP mode configuration environment variables: 

Environment Variable Name

Description

APPDYNAMICS_TCP_COMM_HOST

  • For Java proxy - Defines the host over which the proxy listens to the incoming connections.

  • For Python Agent - Defines the host over which the agent tries to communicate with the proxy.

APPDYNAMICS_TCP_COMM_PORT
  • The port over which the initial communication occurs.

  • You should set it to enable TCP communication.

APPDYNAMICS_TCP_PORT_RANGE (Proxy only)The port range over which the proxy allocates ports to communicate with the agents.
APPDYNAMICS_TCP_REPORTING_PORT (Agent only)
  • The port for reporting transport between the agent and proxy.
  • If this variable is not set, then the proxy assigns a port to the agent in APPDYNAMICS_TCP_PORT_RANGE
APPDYNAMICS_TCP_REQUEST_PORT (Agent only)
  • The port for request and configuration transport between the agent and proxy.
  • If this variable is not set, then the proxy assigns a port to the agent in APPDYNAMICS_TCP_PORT_RANGE