11import "../polyfills" ;
22
3+ import { recordRequestStats } from "@/lib/dev-request-stats" ;
34import * as Sentry from "@sentry/nextjs" ;
45import { EndpointDocumentation } from "@stackframe/stack-shared/dist/crud" ;
56import { KnownError , KnownErrors } from "@stackframe/stack-shared/dist/known-errors" ;
@@ -10,7 +11,6 @@ import { runAsynchronously, wait } from "@stackframe/stack-shared/dist/utils/pro
1011import { traceSpan } from "@stackframe/stack-shared/dist/utils/telemetry" ;
1112import { NextRequest } from "next/server" ;
1213import * as yup from "yup" ;
13- import { recordRequestStats } from "@/lib/dev-request-stats" ;
1414import { DeepPartialSmartRequestWithSentinel , MergeSmartRequest , SmartRequest , createSmartRequest , validateSmartRequest } from "./smart-request" ;
1515import { SmartResponse , createResponse , validateSmartResponse } from "./smart-response" ;
1616
@@ -103,7 +103,8 @@ export function handleApiRequest(handler: (req: NextRequest, options: any, reque
103103 }
104104
105105 // request duration warning
106- if ( req . nextUrl . pathname !== "/api/latest/internal/email-queue-step" ) {
106+ const allowedLongRequestPaths = [ "/api/latest/internal/email-queue-step" , "/api/latest/internal/analytics/query" , "/health/email" , "/api/latest/internal/metrics" ] ;
107+ if ( ! allowedLongRequestPaths . includes ( req . nextUrl . pathname ) ) {
107108 const warnAfterSeconds = 12 ;
108109 runAsynchronously ( async ( ) => {
109110 await wait ( warnAfterSeconds * 1000 ) ;
0 commit comments