From d80596db166d6d37c580d615b8dce839496343cd Mon Sep 17 00:00:00 2001 From: guandeng Date: Sat, 13 Dec 2025 23:02:20 +0800 Subject: [PATCH 1/3] optimize(telescope): refine GuzzleHttpClientAspect client request recording --- src/telescope/src/Aspect/GuzzleHttpClientAspect.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/telescope/src/Aspect/GuzzleHttpClientAspect.php b/src/telescope/src/Aspect/GuzzleHttpClientAspect.php index 7476e5aac..e81f6d301 100644 --- a/src/telescope/src/Aspect/GuzzleHttpClientAspect.php +++ b/src/telescope/src/Aspect/GuzzleHttpClientAspect.php @@ -68,14 +68,15 @@ public function process(ProceedingJoinPoint $proceedingJoinPoint) 'method' => $request->getMethod(), 'uri' => $request->getUri()->__toString(), 'headers' => $request->getHeaders(), - 'duration' => $stats->getTransferTime() * 1000, + 'duration' => round(($stats->getTransferTime() ?? 0) * 1000), ]; - - if ($response = $stats->getResponse()) { + if ($response) { $content['response_status'] = $response->getStatusCode(); $content['response_headers'] = $response->getHeaders(); $content['response_reason'] = $response->getReasonPhrase(); - $content['response_payload'] = $this->getResponsePayload($response, $options); + $responsePayload = $this->getResponsePayload($response, $options); + $content['response_payload'] = $responsePayload; + $content['response'] = $responsePayload; } Telescope::recordClientRequest(IncomingEntry::make($content)); From c1318b763fbde59ee34145e65ec96fc18749c79d Mon Sep 17 00:00:00 2001 From: guandeng Date: Sat, 13 Dec 2025 23:11:42 +0800 Subject: [PATCH 2/3] change duration calculation to use floor instead of round in GuzzleHttpClientAspect --- src/telescope/src/Aspect/GuzzleHttpClientAspect.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/telescope/src/Aspect/GuzzleHttpClientAspect.php b/src/telescope/src/Aspect/GuzzleHttpClientAspect.php index e81f6d301..46848360a 100644 --- a/src/telescope/src/Aspect/GuzzleHttpClientAspect.php +++ b/src/telescope/src/Aspect/GuzzleHttpClientAspect.php @@ -68,7 +68,7 @@ public function process(ProceedingJoinPoint $proceedingJoinPoint) 'method' => $request->getMethod(), 'uri' => $request->getUri()->__toString(), 'headers' => $request->getHeaders(), - 'duration' => round(($stats->getTransferTime() ?? 0) * 1000), + 'duration' => floor(($stats->getTransferTime() ?? 0) * 1000), ]; if ($response) { $content['response_status'] = $response->getStatusCode(); From e8e484e96f2ab0bbe69c7339f1989d53738d4ba1 Mon Sep 17 00:00:00 2001 From: guandeng Date: Sat, 13 Dec 2025 23:15:37 +0800 Subject: [PATCH 3/3] refactor(telescope): streamline response handling in GuzzleHttpClientAspect --- src/telescope/src/Aspect/GuzzleHttpClientAspect.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/telescope/src/Aspect/GuzzleHttpClientAspect.php b/src/telescope/src/Aspect/GuzzleHttpClientAspect.php index 46848360a..b33f6a604 100644 --- a/src/telescope/src/Aspect/GuzzleHttpClientAspect.php +++ b/src/telescope/src/Aspect/GuzzleHttpClientAspect.php @@ -74,9 +74,7 @@ public function process(ProceedingJoinPoint $proceedingJoinPoint) $content['response_status'] = $response->getStatusCode(); $content['response_headers'] = $response->getHeaders(); $content['response_reason'] = $response->getReasonPhrase(); - $responsePayload = $this->getResponsePayload($response, $options); - $content['response_payload'] = $responsePayload; - $content['response'] = $responsePayload; + $content['response'] = $this->getResponsePayload($response, $options); } Telescope::recordClientRequest(IncomingEntry::make($content));