
I want to point to how the options in the image above are configured in lighthouse.
We need to add more options for customizing the cpu and throttling values.
If you're using the CLI, there are a few flags for disabling some of the settings, but that's it. If you're interested in where the device emulation numbers and default UA string come from, that's https://github.com/GoogleChrome/lighthouse/blob/63b4ac14d0a871ade0630db2885edd7848843243/lighthouse-core/lib/emulation.js.
@ebidel thank , I'll see if
Concur with what is said above. I have a web application that will never see a mobile device, nor be served over a mobile network, so the audit tab does not pass my audit as a sufficient audit tab.
Looking forward to the option to change it.
Advanced tab for config:

This will be great for folks who want to monitor raw perf numbers only (among other things less affected by throttling), but scoring and how the HTML report displays results aren't set up for handling different throttling settings. Issues to figure out to do this right:
I believe it was @patrickhulce who originally mentioned we could just use the big error message at the top of the report (#1512) whenever a non-throttled or non-emulated run is done. That should address the above, even giving a reminder in the sticky case, though @paulirish just brought up that WPT or anyone using better throttling (e.g. https://github.com/tylertreat/comcast) will also get this warning, which won't really be true for them (and generally be bad for users of WPT or other tools with LH integration who might not understand why they're seeing that)
I thought we already talked about this a while back but can't remember for sure 😛
Weren't we going to use something like navigator.connection to show the warning or not? Not sure
First up, we need to sort out the product plan here. to @vinamratasingal
A proposal for handling disabled emulation..
--disable-network-emulation will change the report in two ways--disable-network-emulation=provided which will bypass these report changes. Took some time to think about this and here are the features we should support:
First, let's scope this down to just DevTools. Reasoning- it's our biggest entry point to Lighthouse, and we already have a configuration UI.
[P1] In the future, for mobile users, we might want to add additional throttling values- 2G, Fast 3G, Slow 3G, and 4G (let's align with whatever is in Chrome UX Report).
if we are scoping down to devtools why not reuse

Perhaps we should create device presets that combine cpu & network together?
This makes sense to me- however, I'm not sure what value CPU throttling provides besides mobile/desktop. Are there additional usecases that CPU throttling unlocks?
this is a bit far fetched but you could say an iphone 7 has 2x cpu, moto g 4 has 5x cpu, samsung s7 has 3x cpu
There are a few conversations around preset alignment with DevTools and WebPageTest, so we'll need to align with them. (our network throttling preset is the exact same already). I also favor just including cpu throttling within it and not making that configurable. so:
ThrottlingFast 3G w/ 4x CPU slowdownNo throttlingAnd later perhaps we add a "Slow 3G w/ 6x CPU slowdown" preset, but I don't think it's a big priority.
And I'm thinking for device emulation we have:
EmulationMobile browser (Nexus 5X Chrome on Android)No emulation (Chrome Desktop)IMO trying to offer more presets than this gets into messy territory.
+1 to Paul's suggestion.
We did some internal analysis and found rough buckets of desktop/mid-tier mobile/low-end mobile to be sufficient. Presenting anything more than that gets messy and suggests more precision than we're really offering.
Sounds good! I don't mean we need more presets. I think we should "name" them as Fast 3g w 4x cpu slowdown is hard to point down what "phone" it is. What does that mean for a user? Is that throttling against a nexus 5x or more like an iPhone? So if we could say Fast 3g on an emulated nexus 5x that would be great but that's just an implementation detail.
Is that throttling against a nexus 5x or more like an iPhone?
After the research we did on this, the conclusion was that the 4x slowdown is basically both nexus 5x and iphone. So attempting to be more precise isn't possible right now. :)
The alternative to my comment above is what @vinamratasingal suggested--a single dropdown:
Device profileMobile - Chrome on Android - Fast 3G Network w/ 4x CPU slowdownDesktop - Chrome Desktop - No throttlingThe benefit to having two independent controls are the two use cases:
Ok thanks now I get the full picture. Sounds great @vinamratasingal
As discussed in the Lighthouse team meeting, we have a product plan to move forward with the P0s. In the next few sprints, eng work for this feature will commence.
Currently blocked by https://chromium-review.googlesource.com/c/chromium/src/+/809912
In the meantime, is there a workaround for auditing sites from the CLI with the current user's data? I'm trying to audit a desktop site behind 2FA, so when I use the CLI it gets redirected to the login screen and audits that instead (which makes me realize how great it is to have Lighthouse in the Chrome DevTools).
I've tried some of the Chrome flags in addition to --disable-device-emulation --disable-storage-reset but I'd like it to pick up my cookies and login from my regular Chrome user.
@epeterson320 You can launch Chrome with the remote debugging port set and pass that port to Lighthouse instead of having Lighthouse launch Chrome for you.
example on Mac
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
lighthouse --port=9222 --disable-storage-reset --disable-device-emulation <url>
this will use the default user profile in Chrome, alternatively you can launch Chrome with the specific --user-data-dir you want it to use
We're going with 2 dropdowns instead of checkboxes
Device Type:
Throttling:
also..
I like the above approach.
If we're concerned about the length of labels (e.g for Fast 3G Network and 4x CPU slowdown..), we could include a more info link that documents what the throttling entails for that drop-down and just go with On/Off.
after some iteration with paul, this is what we got right now.

we moved the settings to the toolbar as all the variations we tried in the dialog felt forced/disruptive to the existing flow and the toolbar is where all existing throttling/emulation settings tend to live, also keeps the existing default flow pretty much identical while being pretty clear to users that these options exist now
This LGTM'es to me- thanks Paul/Patrick for taking care of this!
This has landed in ToT ✈️
Hi. I'm sorry for disturbing you, but we are eagerly waiting for this feature.
Could you please answer when it will be in live, at least for Lighthouse extension?
Thanks a lot.
@Alexadra you can see it in Chrome Canary. it'll be in chrome stable in ~2 months.
Hi folks, it's in my chrome, but not working - the desktop option also runs as mobile emulation, in the snip below I hover over the desktop button

@ognik777 it's a bug in v71 see #6772
Most helpful comment
after some iteration with paul, this is what we got right now.
we moved the settings to the toolbar as all the variations we tried in the dialog felt forced/disruptive to the existing flow and the toolbar is where all existing throttling/emulation settings tend to live, also keeps the existing default flow pretty much identical while being pretty clear to users that these options exist now