diff --git a/src/Middleware/CakeSentryPerformanceMiddleware.php b/src/Middleware/CakeSentryPerformanceMiddleware.php index 80f7757..ffc981a 100644 --- a/src/Middleware/CakeSentryPerformanceMiddleware.php +++ b/src/Middleware/CakeSentryPerformanceMiddleware.php @@ -28,8 +28,10 @@ use Psr\Http\Server\RequestHandlerInterface; use Sentry\SentrySdk; use Sentry\Tracing\SpanContext; +use Sentry\Tracing\SpanStatus; use Sentry\Tracing\TransactionContext; use Sentry\Tracing\TransactionSource; +use Throwable; use function Sentry\startTransaction; /** @@ -116,6 +118,16 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface } return $response; + } catch (Throwable $exception) { + $span + ->setStatus(SpanStatus::internalError()) + ->finish(); + SentrySdk::getCurrentHub()->setSpan($transaction); + $transaction + ->setStatus(SpanStatus::internalError()) + ->finish(); + + throw $exception; } finally { $eventManager->off($listener); $eventManager->off($httpListener);