-
-
Notifications
You must be signed in to change notification settings - Fork 136
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
Geckoprofiler visualProgress timestamp is null #1746
Comments
Looking at the code (https://github.com/sitespeedio/browsertime/blob/main/lib/firefox/webdriver/firefox.js#L210-L213) that seems to be something that comes from the FirefoxWindowRecorder. That extra calculation should probably not be used when you use ffmpeg recorded video. |
I'm surprised that |
Including @gmierz: what do you think is the best way to get when in time the recording actually starts with ffmpeg (like firstFrameStartTime with window recorder)? |
@soulgalore assuming you mean when the page starts loading, that would be the first frame after the last orange frame. Note that I was poking around at the recordingStartTime metric and I think it might be causing issues:
It's unclear to me why this time needs to be a timestamp. However, if you absolutely need a UNIX timestamp here, I would check the creation time of the MP4 for a timestamp, and then modify it from there. I've noticed that I get folders without the timestamps that it's searching for. |
I don't need it, someone at Mozilla once needed it I guess? :D For me we could remove this but if you feel it adds value we should aim to fix it. |
The Firefox window recorder code contains the following comment which justifies the use of a timestamp: // The directory has the format of
// "[LayersWindowRecordingPath]/windowrecording-[mRecordingStartTime as unix
// timestamp]". We need mRecordingStart as a unix timestamp here because we
// want the consumer of these files to be able to compute an absolute
// timestamp of each screenshot, so that we can align screenshots with timed
// data from other sources, such as Gecko profiler information. |
And @brennie says: "I believe it needs a timestamp because all the frames we write have timestamps in them and we otherwise dont have the timestamp of when the recording started" |
In the Geckoprofiler.json the visual metrics progress field is broken as reported in firefox-devtools/profiler#3966 (comment)
"visualMetrics":{"FirstVisualChange":766,"LastVisualChange":2200,"SpeedIndex":832,"VisualProgress":[{"timestamp":null,"percent":0},{"timestamp":null,"percent":1},{"timestamp":null,"percent":100},{"timestamp":null,"percent":100},{"timestamp":null,"percent":100},{"timestamp":null,"percent":100},{"timestamp":null,"percent":100},{"timestamp":null,"percent":100},{"timestamp":null,"percent":100},{"timestamp":null,"percent":100},{"timestamp":null,"percent":100},{"timestamp":null,"percent":100},{"timestamp":null,"percent":100},{"timestamp":null,"percent":100}],"videoRecordingStart":3900,"VisualReadiness":1434,"VisualComplete85":833,"VisualComplete95":833,"VisualComplete99":833}}
There are some massaging of the data that seems broken in:
https://github.com/sitespeedio/browsertime/blob/main/lib/firefox/webdriver/firefox.js#L193-L230
The text was updated successfully, but these errors were encountered: