From ad97a285ebaf0188a04e79a2f7056d72446d48a8 Mon Sep 17 00:00:00 2001 From: Deeka Wong <8337659+huangdijia@users.noreply.github.com> Date: Sat, 8 Feb 2025 21:31:18 +0800 Subject: [PATCH 1/2] Optimized `GuzzleHttpClientAspect` --- .../src/Aspect/GuzzleHttpClientAspect.php | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/telescope/src/Aspect/GuzzleHttpClientAspect.php b/src/telescope/src/Aspect/GuzzleHttpClientAspect.php index fcf7a5908..0ea0e8593 100644 --- a/src/telescope/src/Aspect/GuzzleHttpClientAspect.php +++ b/src/telescope/src/Aspect/GuzzleHttpClientAspect.php @@ -64,22 +64,25 @@ public function process(ProceedingJoinPoint $proceedingJoinPoint) try { $request = $stats->getRequest(); $response = $stats->getResponse(); - $data = [ - 'status' => $response->getStatusCode(), - 'reason' => $response->getReasonPhrase(), - 'headers' => $response->getHeaders(), - 'body' => $this->getResponsePayload($response), - ]; - - Telescope::recordClientRequest(IncomingEntry::make([ + $content = [ 'method' => $request->getMethod(), 'uri' => $request->getUri()->__toString(), 'headers' => $request->getHeaders(), - 'response_status' => $data['status'], - 'response_headers' => $data['headers'], - 'response_data' => $data, 'duration' => $stats->getTransferTime() * 1000, - ])); + ]; + + if ($response = $stats->getResponse()) { + $content['response_status'] = $response->getStatusCode(); + $content['response_headers'] = $response->getHeaders(); + $content['response_data'] = [ + 'status' => $response->getStatusCode(), + 'reason' => $response->getReasonPhrase(), + 'headers' => $response->getHeaders(), + 'body' => $this->getResponsePayload($response), + ]; + } + + Telescope::recordClientRequest(IncomingEntry::make($content)); } catch (Throwable $e) { // We will catch the exception to prevent the request from being interrupted. } From c72c168e6bb16b646c7de2c17b10c164a3c14234 Mon Sep 17 00:00:00 2001 From: Deeka Wong <8337659+huangdijia@users.noreply.github.com> Date: Sat, 8 Feb 2025 21:37:21 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BC=98=E5=8C=96=20GuzzleHttpClientAspect?= =?UTF-8?q?=20=E4=B8=AD=E7=9A=84=E5=93=8D=E5=BA=94=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/telescope/src/Aspect/GuzzleHttpClientAspect.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/telescope/src/Aspect/GuzzleHttpClientAspect.php b/src/telescope/src/Aspect/GuzzleHttpClientAspect.php index 0ea0e8593..127b85619 100644 --- a/src/telescope/src/Aspect/GuzzleHttpClientAspect.php +++ b/src/telescope/src/Aspect/GuzzleHttpClientAspect.php @@ -74,16 +74,12 @@ public function process(ProceedingJoinPoint $proceedingJoinPoint) if ($response = $stats->getResponse()) { $content['response_status'] = $response->getStatusCode(); $content['response_headers'] = $response->getHeaders(); - $content['response_data'] = [ - 'status' => $response->getStatusCode(), - 'reason' => $response->getReasonPhrase(), - 'headers' => $response->getHeaders(), - 'body' => $this->getResponsePayload($response), - ]; + $content['response_reason'] = $response->getReasonPhrase(); + $content['response_payload'] = $this->getResponsePayload($response); } Telescope::recordClientRequest(IncomingEntry::make($content)); - } catch (Throwable $e) { + } catch (Throwable $exception) { // We will catch the exception to prevent the request from being interrupted. }