From 5dcf9da22d97957026fc9d5b0bdbd154767f30a2 Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Thu, 25 Apr 2024 12:17:13 +0000 Subject: [PATCH] feat(astro): Add `transactionName` to isolation scope for requests --- packages/astro/src/server/middleware.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/astro/src/server/middleware.ts b/packages/astro/src/server/middleware.ts index ec0dbb11d09a..adfac32843f8 100644 --- a/packages/astro/src/server/middleware.ts +++ b/packages/astro/src/server/middleware.ts @@ -66,8 +66,8 @@ export const handleRequest: (options?: MiddlewareOptions) => MiddlewareResponseH if (getActiveSpan()) { return instrumentRequest(ctx, next, handlerOptions); } - return withIsolationScope(() => { - return instrumentRequest(ctx, next, handlerOptions); + return withIsolationScope(isolationScope => { + return instrumentRequest(ctx, next, handlerOptions, isolationScope); }); }; }; @@ -76,6 +76,7 @@ async function instrumentRequest( ctx: Parameters[0], next: Parameters[1], options: MiddlewareOptions, + isolationScope?: Scope, ): Promise { // Make sure we don't accidentally double wrap (e.g. user added middleware and integration auto added it) const locals = ctx.locals as AstroLocalsWithSentry; @@ -121,6 +122,8 @@ async function instrumentRequest( attributes['http.fragment'] = ctx.url.hash; } + isolationScope?.setTransactionName(`${method} ${interpolatedRoute || ctx.url.pathname}`); + const res = await startSpan( { attributes,