• /
  • EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Soporte de agente PHP para Guzzle

New Relic admite las versiones 3, 4, 5, 6 y 7 de Guzzle HTTP client library con el agente PHP de New Relic versión 7.0 o superior.

La biblioteca Guzzle permite solicitudes tanto secuenciales como paralelas. Esta página describe cómo aparecerá cada tipo de solicitud en la páginaSummary en la UI de New Relic. Para descubrir qué llamada fue la más lenta, consulte la página Servicios externos que muestra el tiempo para llamadas externas individuales.

Solicitudes secuenciales

Este código PHP realiza múltiples solicitudes secuenciales con Guzzle:

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

Este código aparecería en la UI de New Relic como:

guzzle_sequential.png

one.newrelic.com > All capabilities > APM & services > (select an app) > Overview > Web transactions time: Solicitudes secuenciales con Guzzle en la UI de New Relic.

El tiempo de respuesta se muestra como la línea azul oscuro. El verde web external time representa el tiempo pasado en la biblioteca de Guzzle. Debido a que las solicitudes se realizaron de forma secuencial, el tiempo de respuesta es equal del tiempo total dedicado a PHP, MySQL y actividades externas web.

Solicitudes paralelas

Este código PHP realiza múltiples solicitudes en paralelo desenvolviendo una matriz de promesas:

$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);

Este código aparecería en la UI de New Relic como:

Parallel requests with Guzzle

one.newrelic.com > All capabilities > APM & services > (select an app) > Summary > Web transactions time: Solicitudes paralelas con Guzzle en la UIde New Relic

El verde web external time representa el tiempo pasado en la biblioteca de Guzzle. Debido a que las solicitudes se realizaron de forma asincrónica, el tiempo total invertido en PHP, MySQL y web externa es greater mayor que el tiempo de respuesta.

Sincronización con Guzzle 6 y 7

A diferencia de las versiones anteriores, Guzzle 6 y 7 no generan un evento cuando se envía una solicitud. En cambio, el agente comienza a cronometrar una solicitud cuando se crea el objeto de solicitud. Si se crea un objeto de solicitud y se realiza trabajo adicional antes de enviarlo, New Relic puede informar que la solicitud tardó más de lo que realmente tardó.

Deshabilitar el soporte de Guzzle

Para desactivar la compatibilidad con Guzzle:

  1. Agregue newrelic.guzzle.enabled = false a su archivo newrelic.ini .
  2. Reinicie su servidor web (Apache, Nginx, PHP-FPM, etc.).
Copyright © 2024 New Relic Inc.

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