python Python Monitoring

Managing and Monitoring Python Applications

Python has become one of the more important languages in the polyglot of today’s microservice application development. 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. Monitoring Python has not traditionally been something important to Operations, nor available to Operations. However, its increasing popularity in microservice development means that monitoring Python is becoming 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 Service Quality Engine now discovers, maps and monitors Python entities, services and connections, and their relationships to other components in your 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

In order to effectively monitor Python applications, Instana automatically discovers the structure and components of the managed application, models a real-time dependency map in the Dynamic Graph, and begins starts monitoring important aspects of Python in real time, and testing metrics against vital KPIs. A few of these are:

  • GC Activity
  • Context Switching
  • Threads


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

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

Python Tracing

Instana’s Python Sensor performs both Tracing and Runtime monitoring. Utilizing the OpenTracing API, it is easy for developers to integrate Instana’s tracing capabilities. Just install the package with `pip install instana`, set an environment variable, and you are good to go.

Out of the box, we support a large number of default runtime metrics:

  • 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 Service Quality Engine now discovers, maps and monitors Python entities, services and connections, and their relationships to other components in your infrastructure.

For more details, Python tracing is open-source on Github.

Python Sensor Installation: Getting Started

Ready to start? You’ll need an Instana Account or trial first. Already got one? The best place to begin is Instana’s Getting Started Guide.