diff --git a/src/Tracing/GuzzleTracingMiddleware.php b/src/Tracing/GuzzleTracingMiddleware.php index 454923c5d..4fb1b45f7 100644 --- a/src/Tracing/GuzzleTracingMiddleware.php +++ b/src/Tracing/GuzzleTracingMiddleware.php @@ -84,9 +84,17 @@ public static function trace(?HubInterface $hub = null): \Closure $response = $responseOrException->getResponse(); } + $breadcrumbLevel = Breadcrumb::LEVEL_INFO; + if ($response !== null) { $spanAndBreadcrumbData['http.response.body.size'] = $response->getBody()->getSize(); $spanAndBreadcrumbData['http.response.status_code'] = $response->getStatusCode(); + + if ($response->getStatusCode() >= 400 && $response->getStatusCode() < 500) { + $breadcrumbLevel = Breadcrumb::LEVEL_WARNING; + } elseif ($response->getStatusCode() >= 500) { + $breadcrumbLevel = Breadcrumb::LEVEL_ERROR; + } } if ($childSpan !== null) { @@ -99,7 +107,7 @@ public static function trace(?HubInterface $hub = null): \Closure } $hub->addBreadcrumb(new Breadcrumb( - Breadcrumb::LEVEL_INFO, + $breadcrumbLevel, Breadcrumb::TYPE_HTTP, 'http', null,