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 :
Le tableau suivant répertorie les fonctionnalités de profiling qui nécessitent une version minimale de la bibliothèque dd-trace-php
:
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 :
Si vous utilisez déjà Datadog, mettez votre Agent à niveau vers la version 7.20.2 ou 6.20.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.
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.
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
Documentation, liens et articles supplémentaires utiles: