Managing and Monitoring Python Applications

Python has become one of the more important languages in the polyglot of today’s microservice application development, which is why Python Monitoring is a key component of a comprehensive application monitoring strategy. First developed in 1991 by Guido van Rossum, Python operates at a high level of abstraction, which allows it to support many different programming paradigms. While Python Monitoring has not traditionally been important (nor available) to Operations, its increasing popularity in microservices means that Python monitoring is more critical than ever before because of its automatic memory management and dynamic type system features.

With the addition of Python distributed tracing support, Instana’s Application Management solution now discovers, maps and monitors Python entities, services and connections, as well as their relationships to other components in your application infrastructure.

The Instana Agent automatically detects the presence of either legacy-based Python or microservices-based Python, and install the appropriate sensor.

Python Performance and Configuration Metrics

Instana’s automatic Python Application Monitoring begins with automatic application discovery (both the structure and components of any managed application), builds a real-time model (called the Dynamic Graph), configures the monitoring agent and begins collecting automatically selected Python and Python application performance metrics. In addition to key Python configuration, performance and availability metrics, Instana derives and test top level Key Performance Indicators (KPIs), alerting users to any service issues in real-time.

Examples of metrics automatically collected as part of Instana’s Python Monitoring:

GC Activity

Context Switching

Threads

See the Python Sensor Documentation for a complete list of runtime and configuration metrics.

Instana tracks all Python configuration changes and displays them on the timeline, allowing users to follow the progression of a potential incident. Since context is vital to solving problems, especially in the past, Instana stores the change event data in case they become relevant in later issues.

Python Tracing

Instana’s Python Monitoring Sensor performs both Application Tracing and Run-time monitoring. Utilizing the OpenTracing API, developers can easily integrate Instana tracing into other systems. Just install the package with `pip install instana`, set an environment variable, and you are good to go.

Out of the box, Instana Python Application Monitoring includes a large number of default run-time metrics, including:

GC Activity

Memory Usage

Threads

Time Spent

Paging

I/O

Events

Context Switching

Instana’s Python integration is extensive: allowing you to search for Python applications and traces with `trace.type:python` or `entity.type:python`. Python supports distributed tracing that will automatically integrate and combine tracing calls with other supported languages.

With the addition of Python distributed tracing support, Instana’s Application Performance Management solution now discovers, maps and monitors Python entities, services and connections, and their relationships to other components in your infrastructure.

For more details on Python Application Tracing, refer to Instana’s open-source Python Tracer on Github.

Python Monitoring Sensor Installation: Getting Started

Ready to start? First, you’ll need an Instana Trial or Account. Already got one? The best place to begin is Instana’s Getting Started Guide.