Uh oh!
There was an error while loading. Please reload this page.
fix: Try to use a better performance API - #3356
Conversation
- Trying to address the inconsistencies between browsers - Always try to use the timeOrigin first, as long as its consistent with either the navigationStart or the current time - Otherwise, use the navigationStart if its consistent with the current time - And still fallback to date if all else fails
size-limit report
|
dashed
commented
Mar 30, 2021
@wmak were you able to test this change in Safari, Chrome, and Firefox? |
wmak
commented
Mar 30, 2021
@dashed |
Uh oh!
There was an error while loading. Please reload this page.
rhcarvalho
left a comment
There was a problem hiding this comment.
I like this, it can likely mitigate the problems we're seeing on FF.
Thanks @wmak <3
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Rodolfo Carvalho <rodolfo.carvalho@sentry.io>
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Rodolfo Carvalho <rodolfo.carvalho@sentry.io>
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…ry/sentry-javascript into wmak/fix/performance-time-origin
wmak
commented
Mar 30, 2021
Also, starting with Threshold == 1 hour, but this will likely mean we start seeing inaccurate durations up to an hour, if this solution works out we could drop Threshold down to a few seconds instead, just want to start with something safer for now |
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Alberto Leal <mail4alberto@gmail.com>
rhcarvalho
left a comment
There was a problem hiding this comment.
I'd love to see this in prod.
@wmak I had one idea since yesterday -- as a way to debug and quantify how this is working, we could set some internal variable with a string depending on what time origin is being used (timeOrigin, navigationStart or dateNow) and then in Sentry we can use this + event processor to set a tag on every transaction, so we can filter and see what fraction of users use which method, see if there is a clear browser correlation etc.
We could also mark/tag whenever we decided that timeOrigin or navigationStart is reliable or not.
@kamilogorek would you have some suggestion on how to implement the "internal global value"? E.g. how exactly to bind to the global sentry object?
rhcarvalho
commented
Mar 31, 2021
Getting this in so we can test across more browsers in the wild. |
Before submitting a pull request, please take a look at our
Contributing guidelines and verify:
yarn lint) & (yarn test).