Vous pouvez activer Cloud Trace pour les applications PHP à l'aide d'OpenCensus. OpenCensus est un ensemble de bibliothèques d'instrumentation permettant de collecter des données de trace et de métrique compatibles avec plusieurs backends. Pour obtenir les dernières informations sur OpenCensus pour PHP, ainsi que de la documentation supplémentaire et des exemples, consultez la page opencensus-php-exporter-stackdriver
.
Installer la bibliothèque
Installez le package du compositeur d'exportateur OpenCensus Stackdriver :
composer require opencensus/opencensus-exporter-stackdriver
La commande précédente installe également les packages combinés d'OpenCensus et Trace.
Pour utiliser les intégrations de framework décrites dans une section ultérieure de cette page, installez l'extension OpenCensus :
pecl install opencensus-alpha
Ajoutez la ligne suivante à votre fichier
php.ini
:extension=opencensus.so
Sous Windows, téléchargez le fichier DLL depuis la page de téléchargement pecl dans le répertoire de votre installation PHP, puis ajoutez la ligne suivante à votre fichier
php.ini
:extension=opencensus.dll
Configurer le client
Pour activer la bibliothèque OpenCensus pour PHP, procédez comme suit :
Importez les classes obligatoires :
Initialisez l'objet
StackdriverExporter
:Si vous utilisez une infrastructure Google Cloud, vous n'avez pas besoin de définir
projectId
sur votre ID de projet Google Cloud. Si vous ne définissez pas ce champ, la bibliothèque cliente pour PHP collecte automatiquement ces données à partir d'un serveur de métadonnées Google Cloud.Si vous n'exécutez pas sur l'infrastructure Google Cloud, vous devez fournir l'ID de votre projet Google Cloud à votre application.
Quelle que soit votre infrastructure, pour PHP, lorsque vous ne définissez pas explicitement l'ID du projet Google Cloud, la bibliothèque PHP
google-cloud
, appelée par OpenCensus, détermine automatiquement si la variable d'environnementGOOGLE_CLOUD_PROJECT
est définie et, le cas échéant, utilise la valeur deGOOGLE_CLOUD_PROJECT
comme ID de projet Google Cloud. Pour en savoir plus, consultez la section Authentification. Pour définir la variable d'environnement, procédez comme suit :Linux ou macOS
export GOOGLE_CLOUD_PROJECT=your-project-id
Windows
set GOOGLE_CLOUD_PROJECT=your-project-id
Powershell :
$env:GOOGLE_CLOUD_PROJECT="your-project-id"
Démarrez le traceur :
Créez l'exportateur et démarrez le traceur dès que possible dans votre application.
Personnalisations
Vous pouvez personnaliser le comportement de la bibliothèque Cloud Trace pour PHP.
Pour obtenir la liste des options de configuration de l'exportateur, accédez à opencensus-php-exporter-stackdriver
ou à l'API OpenCensus PHP.
L'environnement flexible App Engine vous permet de réduire l'impact sur les performances des rapports de données de trace en envoyant les données par un processus en arrière-plan. Pour activer la création de rapports en arrière-plan, procédez comme suit :
Modifiez la section
runtime_config
de votre fichierapp.yaml
pour spécifier l'indicateurenable_stackdriver_integration
:Cette option entraîne la génération du daemon de traitement par lot PHP,
BatchRunner
.Définissez la variable d'environnement
IS_BATCH_DAEMON_RUNNING
surtrue
.Incluez l'option
async
avec la valeur définie surtrue
dans les optionsclientConfig
transmises à l'option OpenCensusStackdriverExporter
. Pour en savoir plus, consultezStackdriverExporter
.
Ajouter un délai de trace personnalisé
La bibliothèque Cloud Trace pour PHP crée automatiquement un enregistrement de trace pour chaque requête HTTP. Vous pouvez également ajouter des délais de trace personnalisés dans la requête :
Intégration pour les frameworks
La bibliothèque OpenCensus offre des intégrations utiles pour les frameworks et les fonctions Web. Pour en savoir plus, consultez les intégrations disponibles et les exemples pour certains frameworks.
Configurer votre plate-forme
Vous pouvez utiliser Cloud Trace sur Google Cloud et d'autres plates-formes.
Exécuter des applications sur Google Cloud
Lorsque votre application s'exécute sur Google Cloud, vous n'avez pas besoin de fournir des identifiants d'authentification sous la forme d'un compte de service à la bibliothèque cliente. Cependant, vous devez vous assurer que le niveau d'accès de l'API Cloud Trace est activé sur votre plate-forme Google Cloud.
Pour les configurations suivantes, les paramètres de niveau d'accès par défaut activent l'API Cloud Trace :
- Environnement flexible App Engine
Environnement standard App Engine
Google Kubernetes Engine (GKE)
Compute Engine
Si vous utilisez des niveaux d'accès personnalisés, assurez-vous que le niveau d'accès de l'API Cloud Trace est activé. Pour les utilisateurs gcloud
, spécifiez les niveaux d'accès à l'aide de l'indicateur --scopes
et incluez le niveau d'accès à l'API Cloud Trace trace.append
.
Par exemple, pour créer un cluster GKE avec uniquement l'API Cloud Trace activée, procédez comme suit :
gcloud container clusters create example-cluster-name --scopes=https://www.googleapis.com/auth/trace.append
Exécuter en local et depuis un autre emplacement
Si votre application s'exécute en dehors de Google Cloud, vous devez fournir les identifiants d'authentification sous la forme d'un compte de service à la bibliothèque cliente. Le compte de service doit contenir le rôle d'agent Cloud Trace. Pour savoir comment faire, consultez la page Créer un compte de service.
Les bibliothèques clientes Google Cloud utilisent les identifiants par défaut de l'application (ADC) pour trouver les identifiants de votre application. Vous fournissez ces identifiants en définissant la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS
:
Linux/macOS
export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
Windows
set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key
Powershell :
$env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"
Afficher les traces
Après le déploiement, vous pouvez afficher les traces dans la visionneuse de traces de Cloud Console.
Accéder à la page Lecteur de traces
Dépannage
Pour en savoir plus sur la résolution des problèmes liés à Cloud Trace, consultez la page Dépannage.
Ressources
- OpenCensus
- GitHub :
census-ecosystem/opencensus-php-exporter-stackdriver
- API OpenCensus PHP
- Provenance
- Outil de suivi des problèmes GitHub
- Stack Overflow