Prérequis

Le profileur Datadog nécessite la version 7.1 ou une version ultérieure de PHP sur une machine Linux 64 bits.

Les versions suivantes ne sont pas prises en charge :

  • Builds ZTS de PHP
  • Builds de debugging de PHP
  • Fibers (PHP 8.1 ou version ultérieure)

Vous devez utiliser un système d’exploitation doté de glibc 2.17+. Les versions minimales suivantes sont compatibles :

  • CentOS 7
  • Debian 8 (en fin de vie)
  • Ubuntu 14.04 (en fin de vie)

Datadog vous conseille d’exécuter une version d’un système d’exploitation qui n’est pas en fin de vie.

La version 3.13 ou une version ultérieure d’Alpine Linux est requise, car le profileur tire profit de musl 1.2.

Vous devez également installer libgcc_s avec la commande suivante :

apk add libgcc

Le tableau suivant répertorie les fonctionnalités de profiling qui nécessitent une version minimale de la bibliothèque dd-trace-php :

FonctionnalitéVersion de dd-trace-php requise
Hotspots de code0.71+
Profiling des endpoints0.79.0+

Le profileur en continu n’est pas pris en charge sur les plateformes sans serveur, comme AWS Lambda.

Installation

Pour commencer le profiling d’applications, procédez comme suit :

  1. Si vous utilisez déjà Datadog, mettez votre Agent à niveau vers la version 7.20.2 ou 6.20.2+.

  2. Téléchargez le script datadog-setup.php depuis la page de téléchargement GitHub. La version 0.69.0 du traceur est la première à inclure ce programme d’installation.

  3. Exécutez le programme d’installation pour installer le traceur et le profileur. Utilisez par exemple la commande php datadog-setup.php --enable-profiling. Ce script fonctionne de façon interactive et vous demande où vous souhaitez effectuer l’installation parmi les emplacements PHP détectés. Une fois l’installation terminée, le script affiche les arguments de commande non interactifs afin de pouvoir les utiliser ultérieurement.

    Définissez les variables d’environnement avant d’appeler PHP. Exemple :

    # DD_PROFILING_ENABLED n'est pas requis pour la version 0.82.0 et les versions ultérieures.
    export DD_PROFILING_ENABLED=true
    
    export DD_SERVICE=app-name
    export DD_ENV=prod
    export DD_VERSION=1.3.2
    
    php hello.php
    

    Utilisez la directive env dans le fichier www.conf de php-fpm. Exemple :

    ; DD_PROFILING_ENABLED n'est pas requis pour la version 0.82.0 et les versions ultérieures
    env[DD_PROFILING_ENABLED] = true
    
    env[DD_SERVICE] = app-name
    env[DD_ENV] = prod
    env[DD_VERSION] = 1.3.2
    

    Utilisez SetEnv depuis la configuration du serveur, le host virtuel, le répertoire ou le fichier .htaccess :

    # DD_PROFILING_ENABLED n'est pas requis pour la version 0.82.0 et les versions ultérieures.
    SetEnv DD_PROFILING_ENABLED true
    
    SetEnv DD_SERVICE app-name
    SetEnv DD_ENV prod
    SetEnv DD_VERSION 1.3.2
    

    Consultez la documentation relative à la configuration du profileur PHP pour obtenir des variables d’environnement supplémentaires.

  4. Une ou deux minutes après la réception d’une requête, vous pouvez visualiser vos profils en accédant à l’APM Datadog puis à la page Profiler.

Vous avez des doutes sur les prochaines étapes à suivre ?

Le guide Premier pas avec le profileur en continu présente un exemple de service problématique et vous explique comment utiliser le profileur en continu pour mieux comprendre le problème et le corriger.

Pour aller plus loin