-
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[EPIC] Frames Delay #160
Comments
@philipphofmann Is there a reason why we'd want to capture this information the difference between expected frame render time and actual duration ie |
Yes, because the frame rate can change at any moment. You could have 120 fps or 60 fps or even a lower rate. If we would send the frame duration we would also need to send the frame rate. We still can't send multiple values for spans and transactions, so we need to narrow it down to one value. If we would send only the frame duration, we don't include the frame rate. Frame delay tells you how much a frame was delayed, no matter the frame rate. It's also what the user perceives as a hitch in the UI. That's how I came up with the calculation.
Here is a sample transaction with slow and frozen frames and a profile. |
I see - I was also thinking frame duration as a single metric (ie the total duration of your slow/frozen frames) but good point about the different frame rates. I think for the top level metric, Frame Delay makes sense - although we should also report a normalized version of this metric (like Apple's scroll hitch ratio). Do the SDKs have access to the expected number of frame renders and frame rate @philipphofmann? That way we can calculate the total expected duration of frame renders and report a ratio like (frame delay in ms) / (total expected render time in s). |
On iOS yes. We still trying to figure that out on Android, but I think yes @markushi and @stefanosiano? |
On Android we could calculate the expected number of frames based on the last known frame rate, the last kown frame drawn timestamp and the span end timestamp. So yes, we can do that on Android! |
Specification is here https://develop.sentry.dev/sdk/performance/frames-delay/.
Internal Notion SDK Roadmap Doc
Tasks
The text was updated successfully, but these errors were encountered: