New Relic supports versions 7 and 8 of the Guzzle HTTP client library.
Guzzle ライブラリでは、順次リクエストと並列リクエストの両方が許可されます。 このページでは、各タイプのリクエストが New Relic UI のSummaryページにどのように表示されるかについて説明します。 どの通話が最も遅かったかを確認するには、個々の外部通話のタイミングを表示する「外部サービス」ページを表示します。
連続したリクエスト
このPHPコードは、Guzzleで複数のシーケンシャルなリクエストを行います。
$client = new \GuzzleHttp\Client;$response = $client->get('http://YOUR_SITE.com/api/foo');$client->delete('http://YOUR_SITE.com/api/foo/'.$response->getBody());このコードは、New RelicのUIに次のように表示されます。

one.newrelic.com > All capabilities > APM & services > (select an app) > Overview > Web transactions time: New Relic UI での Guzzle による連続リクエスト。
応答時間は濃い青の線で表示されます。 緑色のweb external time Guzzle ライブラリで費やされた時間を表します。 equalリクエストは順番に行われたため、応答時間は、PHP、MySQL 、および Web 外部アクティビティに費やされた 合計時間 の になります。
並列リクエスト
このPHPコードは、プロミスの配列をアンラッピングすることで、複数のリクエストを並行して行います。
$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);このコードは、New RelicのUIに次のように表示されます。

one.newrelic.com > All capabilities > APM & services > (select an app) > Summary > Web transactions time: New Relic UI での Guzzle による並列リクエスト
緑色のweb external time Guzzle ライブラリで費やされた時間を表します。 リクエストは非同期で実行されたため、PHP、 、および Web 外部で費やされた 合計時間 MySQLgreaterは、レスポンス時間よりも 長くなります。
Timing with Guzzle 7 and 8
Unlike previous versions, Guzzle 7 and 8 do not generate an event when a request is sent. Instead, the agent begins timing a request when the request object is created. If a request object is created and additional work is done before sending, New Relic may report that the request took longer than it actually did.
ガズルのサポートを無効にする
ガズルのサポートを無効にするには
newrelic.guzzle.enabled = falseをnewrelic.iniファイルに追加します。- Webサーバー (Apache、Nginx、PHP-FPMなど)を再起動します。