Python composants et versions supportés

Pour vous assurer que le paquet Instana Python est compatible avec votre configuration actuelle, examinez les composants et les versions pris en charge pour le paquet Instana Python.

Pour plus d'informations sur la surveillance des applications Python, voir Surveillance Python.

Webhook Instana AutoTrace

Le webhook Instana AutoTrace peut automatiquement instrumenter vos processus Python à travers un cluster Kubernetes entier.

Contextes d'exécution Python

Instana Python 2.5.4 et les versions antérieures supportent le traçage pour les bibliothèques Tornado, asyncio, et aiohttp seulement sur Python runtimes jusqu'à 3.10.

Tableau 1. Temps d'exécution supportés par Python
Python Versions Version du paquet Instana Python
CPython >= 3.8 et <= 3.13 >= 3.0.0
CPython >= 3.8 et < 3.13 >= 2.5.0
CPython >= 3.7 et < 3.10 < 2.5.0
CPython >= 2.7 et <= 3.6 < 2.0.0

Soutien à long terme

Instana suit le calendrier officiel de support à long terme (LTS) et de fin de vie (EOL) de Python.

Lorsqu'une version de Python atteint sa date EOL, Instana offre une année supplémentaire de support. Pour éviter les problèmes, mettez régulièrement à jour votre version de Python.

Environnements pris en charge

Le paquet Instana Python est compatible avec un large éventail d'environnements.

Plateformes

Les plates-formes et architectures de CPU suivantes sont prises en charge :

Tableau 2. Plateformes prises en charge
Plateforme x86_64/amd64 ppc64le s390x aarch64/arm64
Linux
Red Hat [1]
Fenêtres [2]
AWS Fargate
AWS Lambda
Kubernetes
Google Cloud
Conteneurs [3]

Le paquet Instana Python 3.5.0 a introduit la prise en charge de ppc64le et s390 , tandis que 3.6.0 a ajouté la prise en charge de Windows.

Traçage

Le paquet Instana Python supporte le traçage distribué à travers d'autres plateformes, technologies et langages instrumentés par Instana.

La colonne "Instana Python package version" fournit des informations supplémentaires sur les restrictions de version. La valeur de la colonne "Instana Python package version" Any signifie que la version du paquet est >= 3.0.0.

Support de spécification

Le tableau suivant énumère les spécifications prises en charge par l'ensemble Instana Python :

Tableau 3. Support de spécification
Spécification Politique de support Version minimale Version maximale Version du paquet Instana Python
ASGI 45 jours 2.0.0 3.0.0 Tous
WSGI 0 jour PEP 333 1.0 PEP 3333 1.0.1 Tous

HTTP

Les tableaux suivants répertorient les cadres et bibliothèques HTTP qui sont pris en charge par le paquet Instana Python :

Infrastructures Web

Le tableau suivant répertorie les cadres web HTTP pris en charge par le paquet Instana Python :

Tableau 4. Les cadres web HTTP pris en charge
Infrastructure Politique de support Version minimale Version maximale Version du paquet Instana Python
Django 45 jours 1.11.0 5.2.4 Tous
FastAPI 45 jours 0.51.0 0.115.14 Tous
Flask 45 jours 0.12.0 3.1.1 Tous
Pyramid 45 jours 1.6.5 2.0.2 Tous
Sanic A la demande 21.9.0 25.3.0 Tous
Starlette 45 jours 0.12.13 0.47.1 Tous
Tornado 45 jours 6.0.0 6.5.1 Tous

Clients et bibliothèques

Les tableaux suivants répertorient les clients et les bibliothèques HTTP pris en charge par le paquet Instana Python :

Tableau 5. Clients et bibliothèques HTTP pris en charge
Bibliothèque Politique de support Version minimale Version maximale Version du paquet Instana Python
aiohttp 45 jours 3.1.0 3.12.14 Tous ceux dont le site Python est >= 3.9
Httpx 45 jours 0.20.0 0.28.1 >= 3.5.0
Demandes 45 jours 2.16.1 2.32.4 Tous
Urllib3 45 jours 1.26.5 2.5.0 Tous

RPC

Les tableaux suivants répertorient les bibliothèques RPC prises en charge par le paquet Instana Python :

Tableau 6. Bibliothèques RPC prises en charge
Bibliothèque Politique de support Version minimale Version maximale Version du paquet Instana Python
grpcio 45 jours 1.14.1 1.73.1 Tous
Spyne 45 jours 2.13.1a0 2.14.0 >= 3.4.0 avec Python < 3.12

Bases de données

Les tableaux suivants répertorient les bibliothèques de bases de données prises en charge par le paquet Instana Python :

Tableau 7. Bibliothèques de base de données prises en charge
Bibliothèque Politique de support Version minimale Version maximale Version du paquet Instana Python
AWS DynamoDB [4] 45 jours 1.15.0 1.39.3 Tous
AWS S3 [4:1] 45 jours 1.15.0 1.39.3 Tous
Cassandra -conducteur 45 jours 3.20.2 3.29.2 Tous
Couchbase A la demande 2.3.5 2.5.12 Tous
mysqlclient 45 jours 1.3.14 2.2.7 Tous
PyMySQL 45 jours 0.6.7 1.1.1 Tous
pymongo 45 jours 3.7.0 4.13.2 Tous
Psycopg2 45 jours 2.7.2 2.9.10 Tous
Redis 45 jours 2.10.6 6.2.0 Tous
SQLAlchemy 45 jours 1.1.5 2.0.41 Tous

Messagerie

Les tableaux suivants répertorient les bibliothèques de messagerie prises en charge par le paquet Instana Python :

Tableau 8. Bibliothèques de messagerie prises en charge
Bibliothèque Politique de support Version minimale Version maximale Version du paquet Instana Python
Aioamqp 45 jours 0.15.0 0.15.0 >= 3.4.0
Aio-pika 45 jours 9.1.0 9.5.5 >= 3.5.0
Confluent Kafka 45 jours 2.0.0 2.11.0 >= 3.4.0
Kafka -python 45 jours 2.0.0 2.2.15 >= 3.4.0 avec Python < 3.12
Kafka -python-ng 45 jours 2.0.0 2.2.3 >= 3.4.0 avec Python >= 3.12
pika 45 jours 1.0.0 1.3.2 Tous

Services de cloud

Les tableaux suivants listent les bibliothèques de services en nuage prises en charge par le paquet Instana Python :

Tableau 9. Bibliothèques de services en nuage prises en charge
Bibliothèque Politique de support Version minimale Version maximale Version du paquet Instana Python
Boto3 ( AWS SDK) 45 jours 1.15.0 1.39.3 Tous
Google -cloud-pubsub [5] 45 jours 2.0.0 2.30.0 Tous
google-cloud-storage 45 jours 1.24.0 3.1.1 Tous

Python modules intégrés

Les tableaux suivants répertorient les bibliothèques intégrées de Python prises en charge par le paquet Instana Python :

Tableau 10. Bibliothèques intégrées prises en charge Python
Bibliothèque Politique de support Version minimale Version maximale Version du paquet Instana Python
Asyncio 0 jour 1.4 23.7.0 Tous
Journalisation 0 jour 4.3.0 5.5.3 Tous

Autres bibliothèques

Les tableaux suivants répertorient les autres bibliothèques prises en charge par le paquet Instana Python :

Tableau 11. Autres bibliothèques prises en charge
Bibliothèque Politique de support Version minimale Version maximale Version du paquet Instana Python
gevent A la demande 1.4 23.7.0 Tous
Celery 45 jours 4.3.0 5.5.3 Tous

Notes de traçage et limitations

Vérifiez les autorisations et les limitations de l'Instana Python Tracer.

Autorisation de démarrage du fil

Le traceur Instana Python a besoin d'une autorisation pour créer et démarrer des objets Python threading.Timer . Sur la plupart des systèmes, cette autorisation est accordée par défaut. Dans certains scénarios de conteneurisation imbriquée, par exemple dans certaines versions du conteneur Docker -in- Docker, l'autorisation n'est pas accordée par défaut.

Si vous voyez des exceptions comme RuntimeError: can't start new thread, des permissions insuffisantes sont la cause la plus probable. Si vous mettez à niveau ou modifiez le conteneur Docker -in- Docker, mais que les autorisations nécessaires ne sont pas accordées pour le conteneur d'application interne, vous pouvez utiliser l'autorisation --privileged en dernier recours pour démarrer le conteneur d'application.

Traçage à travers les frontières des fils

Le paquet Instana Python ne prend pas en charge le traçage à travers les limites des threads. Par exemple, lorsqu'une demande est d'abord traitée par un seul thread, puis que la charge de travail est distribuée à plusieurs autres threads à l'aide de multiprocessing.ThreadPool, les appels sortants qui se produisent dans ces autres threads ne sont pas pris en compte. Étant donné que chaque plage de sortie doit avoir une plage d'entrée et que la plage d'entrée initiatrice est hors de la portée du thread, de tels appels sortants ne sont pas enregistrés. Cela est dû à la caractéristique inhérente à la valeur par défaut de OpenTracing ThreadLocalScopeManager, et à l'absence d'un gestionnaire de champ d'application spécifique à ThreadPool .

Traçage des fonctions non synchrone dans FastAPI

Le paquet Instana Python ne prend en charge que le traçage de la concurrence basée sur les coroutines dans FastAPI. En effet, les fonctions non asynchrones exécutées dans un pool de threads ne peuvent pas être suivies à travers les limites des threads.

Traçage avec plusieurs traceurs

Il n'est pas possible de tracer une seule application Python avec Instana et un traceur tiers, par exemple, avec New Relic tracer ou OpenTelemetry en même temps.

Serveurs Web pris en charge

Le paquet Instana Python supporte les serveurs web suivants :

  • uWSGI
  • Gunicorn
  • mod_wsgi
  • Nginx WSGI
  • uvicorn

Collecte de données du capteur

Le capteur Instana Python recueille les données suivantes :

Configuration suivie

Le capteur Instana Python collecte les données de configuration suivantes :

  • Nom
  • Environnement d'exécution
  • PID
  • Modules chargés

Métriques

Le capteur Instana Python collecte les données suivantes :

  • Activité GC
  • Utilisation de la mémoire
  • Unités d'exécution
  • Pagination
  • E-S
  • Evénements
  • Changement de contexte

AutoProfile

Le paquet Instana Python génère les profils suivants :

Profils Versions de Python Plateformes
Utilisation de l'UC >= 2.7 et >= 3.4 Linux et macOS
Taux d'allocation de mémoire >= 3.4 Linux et macOS
Appels bloquants >= 2.7 et >= 3.4 Linux et macOS

Informations supplémentaires


  1. Le paquet Instana Python prend en charge les versions Red Hat Enterprise Linux suivantes : RHEL 8.10, RHEL 9.6, et RHEL 10.0.

  2. Le paquet Instana Python supporte les versions suivantes de Windows : Windows 11 et Windows Server 2025.

  3. Docker, Podman, et Rancher sont les moteurs de conteneurs et les outils de gestion de conteneurs pris en charge.

  4. AWS DynamoDB et AWS S3 sont instrumentés par le biais du paquet Boto3 . ↩︎ ↩︎

  5. Le paquet Instana Python ne prend en charge que la livraison de messages en mode pull de Google Pub/Sub.