(In reply to Dave Hunt [:davehunt] [he/him] ⌚️UTC from comment #1)
Is this profile generated by an automated test? I ask because Marionette should be disabled by default, and is only enabled to enable automation of the browser.
Yes, these profiles are captured using Browsertime, so Marionette presence is required and some overhead is expected. We just want to understand and limit the overhead.
:whimboo is there a way to reduce the verbosity of Marionette? Perhaps we could try adjusting the polling when checking if the page has loaded?
Yes, there are ways to reduce the verbosity; if we were to see a huge amount of logging activity we can drop the loglevel.
I dug in just a tiny bit and definitely see a significant issue: Browsertime uses
Condition implementation, and under the hood that basically does
setTimeout(check, 0) in a loop to figure out if pageload is complete. (This is all working around Web Driver's unidirectional HTTP architecture, but that's for another day.)
It appears impossible to slow down the
setTimeout busy loop using
selenium-webdriver flags and configuration, but we should be able to use alternate asynchronous evaluation methods to reduce traffic significantly. That's not really a Marionette issue, per se; but I expect we will discover some Marionette issues so we can keep this ticket to collect them.