Description
I'm trying to improve the PerformanceRequestTiming support in firefox when a request is intercepted by a service worker. I've implemented workerStart
, but its a bit unclear what requestStart
, responseStart
, and responseEnd
mean in this context.
Looking at the output from chrome it seems like these are being set:
fetchStart:1.9050000000000002
requestStart:2.325
responseEnd:6.73
responseStart:5.495000000000001
startTime:0
workerStart:2.32
Here requestStart
is slightly after workerStart
. Is this when respondWith()
was called?
The responseStart
is a few milliseconds later. Does this measure when the respondWith()
promise resolves?
I assume responseEnd
is when the synthesized body is complete.
Also, the WPT test here:
Wants workerStart
to occur before fetchStart
, but that is not what chrome is doing for this request. Also, this requirement was a bit awkward to implement in firefox. We trigger workerStart
after we create our network channel, so its more natural for fetchStart
to occur first. I plan to relax this requirement in the WPT test.