@@ -175,21 +175,16 @@ export interface RouteOptionsWithHandler<
175175 handler : RouteHandler < ResponseType , BodyType , Params > ;
176176}
177177
178- const HTTP_VERBS = [
179- "DELETE" ,
180- "GET" ,
181- "HEAD" ,
182- "OPTIONS" ,
183- "PATCH" ,
184- "POST" ,
185- "PUT" ,
186- ] as const ;
187-
188- const HANDLE_START = "handle start" ;
189-
190178let RequestEventCtor : typeof CloudFlareRequestEvent | undefined ;
191179
192- type HTTPVerbs = typeof HTTP_VERBS [ number ] ;
180+ type HTTPVerbs =
181+ | "DELETE"
182+ | "GET"
183+ | "HEAD"
184+ | "OPTIONS"
185+ | "PATCH"
186+ | "POST"
187+ | "PUT" ;
193188
194189/** A string that represents a range of HTTP response {@linkcode Status} codes:
195190 *
@@ -302,7 +297,7 @@ export class NotFoundEvent extends Event {
302297}
303298
304299interface HandledEventInit extends EventInit {
305- measure : PerformanceMeasure ;
300+ duration : number ;
306301 request : Request ;
307302 response : Response ;
308303 route ?: Route ;
@@ -312,15 +307,15 @@ interface HandledEventInit extends EventInit {
312307 *
313308 * This can be used to provide logging and reporting for the router. */
314309export class HandledEvent extends Event {
315- #measure: PerformanceMeasure ;
310+ #duration: number ;
316311 #request: Request ;
317312 #response: Response ;
318313 #route?: Route ;
319314
320- /** The performance measure from the start of handling the route until it
321- * finished, which can provide timing information about the processing . */
322- get measure ( ) : PerformanceMeasure {
323- return this . #measure ;
315+ /** Highest resolution timing available on the platform of the time to handle
316+ * the request/response by acorn in milliseconds . */
317+ get duration ( ) : number {
318+ return this . #duration ;
324319 }
325320
326321 /** The {@linkcode Request} that was handled. */
@@ -343,7 +338,7 @@ export class HandledEvent extends Event {
343338 this . #request = eventInitDict . request ;
344339 this . #response = eventInitDict . response ;
345340 this . #route = eventInitDict . route ;
346- this . #measure = eventInitDict . measure ;
341+ this . #duration = eventInitDict . duration ;
347342 }
348343}
349344
@@ -910,8 +905,7 @@ export class Router extends EventTarget {
910905 }
911906
912907 async #handle( requestEvent : RequestEvent ) : Promise < void > {
913- const uid = this . #uid++ ;
914- performance . mark ( `${ HANDLE_START } ${ uid } ` ) ;
908+ const start = performance . now ( ) ;
915909 const { promise, resolve } = createPromiseWithResolvers < Response > ( ) ;
916910 this . #handling. add ( promise ) ;
917911 requestEvent . respond ( promise ) ;
@@ -960,12 +954,9 @@ export class Router extends EventTarget {
960954 response ,
961955 ) ;
962956 resolve ( result ?? response ) ;
963- const measure = performance . measure (
964- `handle ${ uid } ` ,
965- `${ HANDLE_START } ${ uid } ` ,
966- ) ;
957+ const duration = performance . now ( ) - start ;
967958 this . dispatchEvent (
968- new HandledEvent ( { request, route, response, measure } ) ,
959+ new HandledEvent ( { request, route, response, duration } ) ,
969960 ) ;
970961 return ;
971962 }
@@ -985,12 +976,9 @@ export class Router extends EventTarget {
985976 }
986977 resolve ( response ) ;
987978 this . #handling. delete ( promise ) ;
988- const measure = performance . measure (
989- `handle ${ uid } ` ,
990- `${ HANDLE_START } ${ uid } ` ,
991- ) ;
979+ const duration = performance . now ( ) - start ;
992980 this . dispatchEvent (
993- new HandledEvent ( { request, route, response, measure } ) ,
981+ new HandledEvent ( { request, route, response, duration } ) ,
994982 ) ;
995983 return ;
996984 }
@@ -1006,11 +994,8 @@ export class Router extends EventTarget {
1006994 ) ;
1007995 resolve ( result ?? response ) ;
1008996 this . #handling. delete ( promise ) ;
1009- const measure = performance . measure (
1010- `handle ${ uid } ` ,
1011- `${ HANDLE_START } ${ uid } ` ,
1012- ) ;
1013- this . dispatchEvent ( new HandledEvent ( { request, response, measure } ) ) ;
997+ const duration = performance . now ( ) - start ;
998+ this . dispatchEvent ( new HandledEvent ( { request, response, duration } ) ) ;
1014999 return ;
10151000 }
10161001 let response = await this . #handleStatus(
@@ -1023,11 +1008,8 @@ export class Router extends EventTarget {
10231008 }
10241009 resolve ( response ) ;
10251010 this . #handling. delete ( promise ) ;
1026- const measure = performance . measure (
1027- `handle ${ uid } ` ,
1028- `${ HANDLE_START } ${ uid } ` ,
1029- ) ;
1030- this . dispatchEvent ( new HandledEvent ( { request, response, measure } ) ) ;
1011+ const duration = performance . now ( ) - start ;
1012+ this . dispatchEvent ( new HandledEvent ( { request, response, duration } ) ) ;
10311013 }
10321014
10331015 #notFound( request : Request ) : Response {
0 commit comments