• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Prise en charge de l'agent PHP pour Guzzle

New Relic prend en charge les versions 3, 4, 5, 6 et 7 de Guzzle HTTP client library avec l'agent PHP New Relic version 7.0 ou supérieure.

La bibliothèque Guzzle permet requests séquentielles et parallèles. Cette page décrit comment chaque type de demande apparaîtra dans la Summary page de l'UI New Relic. Pour découvrir quel appel a été le plus lent, consultez la page Services externes qui affiche le temps des appels externes individuels.

requestsséquentielles

Ce code PHP effectue plusieurs requests séquentielles avec Guzzle:

$client = new \GuzzleHttp\Client;
$response = $client->get('http://YOUR_SITE.com/api/foo');
$client->delete('http://YOUR_SITE.com/api/foo/'.$response->getBody());

Ce code apparaîtrait dans l' comme New Relic UI suit :

guzzle_sequential.png

one.newrelic.com > All capabilities > APM & services > (select an app) > Overview > Web transactions time: séquentielles requests avec Guzzle dans l'UI New Relic.

Le temps de réponse est indiqué par la ligne bleu foncé. Le web external time vert représente le temps passé dans la bibliothèque Guzzle. Étant donné que les requests ont été effectuées de manière séquentielle, le temps de réponse est de equal par rapport au temps total passé en PHP, MySQL et aux activités externes du Web.

requestsparallèles

Ce code PHP effectue plusieurs requests en parallèle en déballant un éventail de promesses :

$client = new \GuzzleHttp\Client;
$promises = [
$client->getAsync('http://YOUR_SITE.com/api/foo'),
$client->getAsync('http://YOUR_SITE.com/api/bar'),
$client->getAsync('http://YOUR_SITE.com/api/quux'),
];
\GuzzleHttp\Promise\unwrap($promises);

Ce code apparaîtrait dans l' comme New Relic UI suit :

Parallel requests with Guzzle

one.newrelic.com > All capabilities > APM & services > (select an app) > Summary > Web transactions time: parallèles requests avec Guzzle dans l'UI New Relic

Le web external time vert représente le temps passé dans la bibliothèque Guzzle. Étant donné que les requests ont été exécutées de manière asynchrone, le temps total passé dans PHP, MySQL et le Web externe est greater supérieur au temps de réponse.

Synchronisation avec Guzzle 6 et 7

Contrairement aux versions précédentes, Guzzle 6 et 7 ne génèrent pas d'événement lorsqu'une requête est envoyée. Au lieu de cela, l'agent commence à chronométrer une demande lorsque l'objet de demande est créé. Si un objet de demande est créé et qu'un travail supplémentaire est effectué avant l'envoi, New Relic peut signaler que la demande a pris plus de temps qu'elle ne l'a réellement pris.

Désactiver le support Guzzle

Pour désactiver la prise en charge de Guzzle :

  1. Ajoutez newrelic.guzzle.enabled = false à votre fichier newrelic.ini .
  2. Redémarrez votre serveur Web (Apache, Nginx, PHP-FPM, etc.).
Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.