Page MenuHomePhabricator

Decrease FFMPEG overhead for webdriver.io tests
Closed, ResolvedPublic3 Estimated Story Points

Description

We use ffmpeg to record a video of the browser window when we run our webdriver.io test. Make sure ffmpeg configuration follow best practices to be as fast as possible and add as little overhead as possible.

AC:

  • Review the current ffmpeg configuration compared to best practices and suggest improvement in a Gerrit change or if there are no improvements that can be made, document that

Details

Related Changes in Gerrit:

Event Timeline

Change #1198688 had a related patch set uploaded (by Phedenskog; author: Phedenskog):

[mediawiki/core@master] selenium: Decrease ffmoeg overhead

https://gerrit.wikimedia.org/r/1198688

Peter moved this task from Backlog to Ready to Refine on the Test Platform board.

I've made many changes today and looked at the outcome. I think is the best I can do for now.

Peter set the point value for this task to 3.
Peter edited projects, added Test Platform (Taormina One 16); removed Test Platform.
Peter moved this task from Backlog to In Review on the Test Platform (Taormina One 16) board.

Change #1198688 merged by jenkins-bot:

[mediawiki/core@master] selenium: Decrease FFmpeg overhead

https://gerrit.wikimedia.org/r/1198688

Peter moved this task from In Review to Done on the Test Platform (Taormina Three 18) board.

I quantified the difference here by running on a bare metal server, runnng perf (perf stat -r 50 -- npm run selenium-test) both before and after the change. I tested on a machine with 8 core.

  • The change makes the run about 12–13% faster.
  • It remove ~26% of the CPU time.
  • Remove ~1/3 of the total instructions.
  • Reduce CPU utilization from ~3.38 cores to ~2.84 cores on average.
  • Are more stable run-to-run.