New issue
Advanced search Search tips

Issue 805831 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 10
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug



Sign in to add a comment

performance.timing.redirectStart has greater value thanperformance.timing.requestStart

Reported by nn1436...@gmail.com, Jan 25 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0

Steps to reproduce the problem:
I don't have a pure reproduction.
It seems that it happens with cross-origin redirects.
When I compare performance.timing.redirectStart with performance.timing.requestStart, the redirectStart somehow has smaller value.

What is the expected behavior?
According to HTML5 Performance Timing specification the values are sequential and not overlapping.

What went wrong?
Browser doesn't behave according to spec.

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 63  Channel: n/a
OS Version: 10.0
Flash Version: Shockwave Flash 28.0 r0
 

Comment 1 by nn1436...@gmail.com, Jan 25 2018

Navigate to: https://httpbin.org/redirect-to?status_code=307&url=/
performance.timing.redirectEnd > performance.timing.requestStart In Chrome it returns true, in other browsers false.
Cc: skyos...@chromium.org
Components: Blink>PerformanceAPIs
Labels: Needs-Triage-M63
Owner: npm@chromium.org
Status: Assigned (was: Unconfirmed)
+npm@, could you take a look?

Comment 5 by npm@chromium.org, Jan 31 2018

Cc: igrigo...@chromium.org tdres...@chromium.org
Components: -Blink>PerformanceAPIs Blink>PerformanceAPIs>NavigationTiming
The Navigation Timing spec [1] says

"The following graph illustrates the timing attributes defined by the PerformanceTiming interface and the PerformanceNavigation interface with or without redirect, respectively. Attributes underlined may not be available in navigation involving documents from different origins. User agents may perform internal processing in between timings, which allow for non-normative intervals between timings."

redirectEnd is underlined so if I'm interpreting correctly it is an optional attribute? And if present, does redirectEnd need to be <= requestStart? Maybe the NavigationTiming experts can answer that.

[1] https://www.w3.org/TR/navigation-timing/#process
It is optional.
We set requestStart in step 13.
We set redirectEnd in step 16, but then return to step 6 with a new resource, without clearing redirectEnd.

My understanding is that this implies redirectEnd must be less than requestStart, if present.


Any update ?

Comment 8 by npm@chromium.org, Feb 5 2018

No updates yet, I haven't figured out how to fix this.
Do you know what caused this to happen ?

Comment 10 by npm@chromium.org, Feb 6 2018

It looks like the redirect is not properly triggering a new requestStart. Did this work properly for you on a previous version of Chrome? If it worked before, we can bisect to find the cause. But my guess is that this has never worked properly.
I ran Chromium 48 and I see the same behavior there.
However, there is no problem on Mac.
I'll try older Chromium , hopefully find something.
I checked Chromium 30 and it works fine there.

Comment 13 by npm@chromium.org, Feb 7 2018

Ok, thanks for looking into it! Such an old problem is probably not worth bisecting, but I'll look into the problem when I get a chance.

Comment 14 by npm@chromium.org, Feb 16 2018

Cc: -tdres...@chromium.org npm@chromium.org
Owner: tdres...@chromium.org
I'll be away from speed-metrics a month, reassigning to tdresser@.
It seems that this bug is not only with redirectStart but with other measurements.

When I go to
https://httpbin.org/redirect-to?status_code=307&url=/ 

performance.timing.domainLookupStart>performance.timing.requestStart
true
performance.timing.domainLookupEnd>performance.timing.requestStart
true

https://www.w3.org/TR/navigation-timing/timing-overview.png

timing-overview.png
61.4 KB View Download
Cc: -npm@chromium.org tdres...@chromium.org
Labels: -Needs-Triage-M63 OS-Android OS-Chrome OS-Linux OS-Mac
Status: npmchromium.org (was: Assigned)
I'm not going to get to this before npm@ gets back.
Owner: npm@chromium.org
Status: Assigned (was: npmchromium.org)
Any update ?

Comment 19 by npm@chromium.org, May 24 2018

Cc: yhirano@chromium.org
I think this has been fixed recently, probably by yhirano@. nn1436401@ can you check if that's the case for you on dev channel? I tested 68.0.3432.3 on Linux.

Comment 20 by npm@chromium.org, May 24 2018

Cc: kinuko@chromium.org
Sorry or was it kinuko@ with https://chromium-review.googlesource.com/c/chromium/src/+/974673? I feel like there have been several fixes to nav timing recently so not sure what fixed this bug.
Ping. Any update?
Status: Fixed (was: Assigned)
This is fixed. I didn't hear back from bug reporter to confirm.

Sign in to add a comment