Instrumentation sans code Python

L’instrumentation automatique avec Python utilise un agent Python qui peut être attaché à n’importe quelle application Python. Cet agent utilise principalement le monkey patching (ou “réouverture des classes”) pour modifier les fonctions des bibliothèques à l’exécution, permettant la capture de données de télémétrie de nombreuses bibliothèques et frameworks populaires.

Installation

Exécutez les commandes suivantes pour installer les paquets appropriés.

pip install opentelemetry-distro opentelemetry-exporter-otlp
opentelemetry-bootstrap -a install

Le paquet opentelemetry-distro installe l’API, le SDK, et les outils opentelemetry-bootstrap et opentelemetry-instrument.

La commande opentelemetry-bootstrap -a install parcourt la liste des paquets installés dans votre dossier site-packages actif, et installe les bibliothèques d’instrumentation correspondantes pour ces paquets, le cas échéant. Par exemple, si vous avez déjà installé le paquet flask, l’exécution de opentelemetry-bootstrap -a install installera opentelemetry-instrumentation-flask pour vous. L’agent Python OpenTelemetry utilisera le monkey patching pour modifier les fonctions de ces bibliothèques à l’exécution.

L’exécution de opentelemetry-bootstrap sans arguments liste les bibliothèques d’instrumentation recommandées à installer. Pour plus d’informations, voir opentelemetry-bootstrap.

Configuration de l’agent

L’agent est hautement configurable.

Une option est de configurer l’agent via des propriétés de configuration depuis l’interface de ligne de commande (CLI) :

opentelemetry-instrument \
    --traces_exporter console,otlp \
    --metrics_exporter console \
    --service_name votre-nom-de-service \
    --exporter_otlp_endpoint 0.0.0.0:4317 \
    python myapp.py

Alternativement, vous pouvez utiliser des variables d’environnement pour configurer l’agent :

OTEL_SERVICE_NAME=votre-nom-de-service \
OTEL_TRACES_EXPORTER=console,otlp \
OTEL_METRICS_EXPORTER=console \
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=0.0.0.0:4317
opentelemetry-instrument \
    python myapp.py

Pour voir la gamme complète des options de configuration, voir Configuration de l’agent.

Bibliothèques et frameworks supportés

Un certain nombre de bibliothèques Python populaires sont auto-instrumentées, y compris Flask et Django. Pour la liste complète, voir le Registre.

Dépannage

Pour les étapes de dépannage générales et les solutions à des problèmes spécifiques, voir Dépannage.