From fe3b1de9ae6c27ef09a14e244589b82a2e268448 Mon Sep 17 00:00:00 2001 From: Kevin Pfeifer Date: Sun, 9 Aug 2026 11:42:42 +0200 Subject: [PATCH] Finish performance traces on handler exceptions --- .../CakeSentryPerformanceMiddleware.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Middleware/CakeSentryPerformanceMiddleware.php b/src/Middleware/CakeSentryPerformanceMiddleware.php index cce0493..13ca118 100644 --- a/src/Middleware/CakeSentryPerformanceMiddleware.php +++ b/src/Middleware/CakeSentryPerformanceMiddleware.php @@ -27,8 +27,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; /** @@ -84,7 +86,19 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface EventManager::instance()->on(new CacheEventListener()); } - $response = $handler->handle($request); + try { + $response = $handler->handle($request); + } catch (Throwable $exception) { + $span + ->setStatus(SpanStatus::internalError()) + ->finish(); + SentrySdk::getCurrentHub()->setSpan($transaction); + $transaction + ->setStatus(SpanStatus::internalError()) + ->finish(); + + throw $exception; + } $listener->addSpans();