Exigences de compatibilité

Le dernier traceur Python prend en charge les versions 2.7 et 3.5-3.10 de CPython.

Pour obtenir la liste complète des frameworks et versions Python pris en charge (y compris les anciennes versions et les versions de maintenance), consultez la page relative aux exigences de compatibilité.

Installation et démarrage

Configurer l’Agent Datadog pour APM

Installez et configurez l’Agent Datadog de façon à ce qu’il reçoive des traces à partir de votre application nouvellement instrumentée. Par défaut, l’Agent Datadog est activé dans votre fichier datadog.yaml sous apm_config avec enabled: true, et écoute les données de tracing sur http://localhost:8126. Pour les environnements conteneurisés, suivez les liens ci-dessous afin d’activer la collecte de traces au sein de l’Agent Datadog.

  1. Définissez apm_non_local_traffic: true dans la section apm_config de votre fichier de configuration principal datadog.yaml.

  2. Consultez les instructions de configuration spécifiques pour vous assurer que l’Agent est configuré de façon à recevoir des traces dans un environnement conteneurisé :

Docker
Kubernetes
Amazon ECS
ECS Fargate

  1. Une fois l’application instrumentée, le client de tracing tente d’envoyer les traces au socket de domaine Unix /var/run/datadog/apm.socket par défaut. Si le socket n’existe pas, les traces sont envoyées à http://localhost:8126.

    Si vous souhaitez spécifier un autre socket, host ou port, utilisez la variable d’environnement DD_TRACE_AGENT_URL. Voici quelques exemples :

    DD_TRACE_AGENT_URL=http://custom-hostname:1234
    DD_TRACE_AGENT_URL=unix:///var/run/datadog/apm.socket
    

    Pour les traces, la connexion peut également être configurée dans le code :

    from ddtrace import tracer
    
    # Network sockets
    tracer.configure(
        https=False,
        hostname="custom-hostname",
        port="1234",
    )
    
    # Unix domain socket configuration
    tracer.configure(
        uds_path="/var/run/datadog/apm.socket",
    )
    

    Là encore, le client de tracing tente d’envoyer les statistiques au socket de domaine Unix /var/run/datadog/dsd.socket. Si le socket n’existe pas, les statistiques sont envoyées à http://localhost:8125.

    Si vous souhaitez spécifier une autre configuration, vous pouvez utiliser la variable d’environnement DD_DOGSTATSD_URL. Voici quelques exemples :

    DD_DOGSTATSD_URL=udp://custom-hostname:1234
    DD_DOGSTATSD_URL=unix:///var/run/datadog/dsd.socket
    

    La connexion pour les statistiques peut également être configurée dans le code :

    from ddtrace import tracer
    
    # Network socket
    tracer.configure(
      dogstatsd_url="udp://localhost:8125",
    )
    
    # Unix domain socket configuration
    tracer.configure(
      dogstatsd_url="unix:///var/run/datadog/dsd.socket",
    )
    

  1. Définissez DD_SITE dans l’Agent Datadog sur pour vous assurer que l’Agent envoie les données au bon site Datadog.

Pour configurer la solution APM Datadog dans AWS Lambda, consultez la documentation dédiée au tracing de fonctions sans serveur.

Le tracing est disponible pour un certain nombre d’environnements, tels que Heroku, Cloud Foundry et AWS Elastic Beanstalk.

Pour les autres environnements, consultez la documentation relative aux intégrations pour l’environnement qui vous intéresse. Contactez l’assistance si vous rencontrez des problèmes de configuration.

Choisir votre méthode d’instrumentation

Une fois votre Agent Datadog déployé ou installé et configuré, la prochaine étape consiste à instrumenter votre application. Il existe différentes méthodes en fonction de l’infrastructure sur laquelle votre application s’exécute, du langage dans lequel elle est écrite et du niveau de configuration requis.

Consultez les pages suivantes pour découvrir les scénarios de déploiement et les langages pris en charge :

Instrumenter votre application

Si vous recueillez des traces à partir d'une application Kubernetes, plutôt que de suivre les instructions ci-dessous, vous pouvez injecter la bibliothèque de tracing dans votre application en utilisant le contrôleur d'admission de l'Agent de cluster. Consultez la section Injection de bibliothèques à l'aide du contrôleur d'admission pour connaître la marche à suivre.

Une fois l’Agent installé, pour commencer le tracing d’applications écrites en Python, installez la bibliothèque de tracing Datadog, ddtrace, avec pip :

pip install ddtrace

Remarque : cette commande nécessite la version 18.0.0 (ou une version ultérieure) de pip. Pour Ubuntu, Debian ou tout autre gestionnaire de packages, mettez à jour votre version de pip à l’aide de la commande suivante :

pip install --upgrade pip

Pour instrumenter votre application Python, utilisez alors la commande ddtrace-run incluse. Pour l’utiliser, ajoutez ddtrace-run en préfixe à la commande de votre point d’entrée Python.

Par exemple, si votre application est lancée avec python app.py, exécutez la commande suivante :

ddtrace-run python app.py

Une fois le traceur configuré et exécuté avec votre application, utilisez la commande ddtrace-run --info pour vérifier que les configurations fonctionnent comme prévu. Notez que la sortie de cette commande ne reflète pas les changements de configuration effectués dans le code pendant l’exécution.

Configuration

Au besoin, configurez la bibliothèque de tracing pour envoyer des données de télémétrie relatives aux performances de l’application, notamment en configurant le tagging de service unifié. Consultez la section Configuration de la bibliothèque pour en savoir plus.

Passage à la v1

Si vous souhaitez passer à la v1 de ddtrace, consultez le guide de mise à niveau et les notes de version dans la documentation de la bibliothèque pour en savoir plus.

Pour aller plus loin