Add effective connection type change events to the system profile proto |
|||||
Issue descriptionAdd effective connection type change events to the system profile proto. This will make it easier to breakdown the UMA metrics based on the network quality.
,
Jan 4 2017
,
Jan 6 2017
Hi,I have a question. Now, the module about NQE has been used in chromium, or is a experimental technology.
,
Jan 6 2017
NQE is being used in Chromium, so it is no longer experimental.
,
Jan 10 2017
I am interested in the NQE module. Recently I checked the chromium codes, I found the function enableNetworkQualityEstimator in CronetEngine.java is the switch of NQE, but only the test file invoking it. This replies that NQE is in use?
,
Jan 10 2017
To enable NQE you need to do 3 things: (1) Create an NQE object (2) Set NQE on UrlRequestContext (see https://cs.chromium.org/chromium/src/chrome/browser/io_thread.cc?rcl=0&l=901) (3) Set NQE as a socket performance watcher factory on the Http Network Session params (see https://cs.chromium.org/chromium/src/chrome/browser/profiles/profile_io_data.cc?rcl=1484065239&l=1279). For embedders that want to use Cronet, they need to explicitly call enableNetworkQualityEstimator() which automatically does all the 3 steps above.
,
Jan 11 2017
Thank you for you answer. I am developing a browser core based on chromium. Now I will invoke this function to enable the network quality estimator.Thank you.
,
Jan 11 2017
NQE can check the network connection type according to the rtt threshold and throughput threshold. But the thresholds are not defined. I know the standard is difficult to fix. Thank you for you answers!
,
Jan 11 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9b3dd2bc8783876fdf3d9e242b4240a3537d19e2 commit 9b3dd2bc8783876fdf3d9e242b4240a3537d19e2 Author: tbansal <tbansal@chromium.org> Date: Wed Jan 11 06:12:59 2017 Add EffectiveConnectionType enum to the system profile proto Value of the EffectiveConnectionType enum is provided by the NetworkMetricsProvider. A new class EffectiveConnectionTypeObserver has been added which listens to the changes in the EffectiveConnectionType, and lives on the same thread as the NetworkQualityEstimator. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_cronet_tester BUG= 677158 Review-Url: https://codereview.chromium.org/2605553002 Cr-Commit-Position: refs/heads/master@{#442821} [modify] https://crrev.com/9b3dd2bc8783876fdf3d9e242b4240a3537d19e2/chrome/browser/BUILD.gn [modify] https://crrev.com/9b3dd2bc8783876fdf3d9e242b4240a3537d19e2/chrome/browser/metrics/chrome_metrics_service_client.cc [add] https://crrev.com/9b3dd2bc8783876fdf3d9e242b4240a3537d19e2/chrome/browser/metrics/network_quality_estimator_provider_impl.cc [add] https://crrev.com/9b3dd2bc8783876fdf3d9e242b4240a3537d19e2/chrome/browser/metrics/network_quality_estimator_provider_impl.h [modify] https://crrev.com/9b3dd2bc8783876fdf3d9e242b4240a3537d19e2/components/metrics/BUILD.gn [modify] https://crrev.com/9b3dd2bc8783876fdf3d9e242b4240a3537d19e2/components/metrics/net/DEPS [modify] https://crrev.com/9b3dd2bc8783876fdf3d9e242b4240a3537d19e2/components/metrics/net/network_metrics_provider.cc [modify] https://crrev.com/9b3dd2bc8783876fdf3d9e242b4240a3537d19e2/components/metrics/net/network_metrics_provider.h [add] https://crrev.com/9b3dd2bc8783876fdf3d9e242b4240a3537d19e2/components/metrics/net/network_metrics_provider_unittest.cc [modify] https://crrev.com/9b3dd2bc8783876fdf3d9e242b4240a3537d19e2/components/metrics/proto/system_profile.proto
,
Jan 11 2017
Thresholds are hard-coded here: https://cs.chromium.org/chromium/src/net/nqe/network_quality_estimator_params.cc?rcl=0&l=257, although they can be overridden using field trials. For your case, you can pass in an empty map (|variation_params|) to NQE's constructor. In that case, it will use the hard-coded thresholds.
,
Jan 11 2017
,
Feb 13 2017
,
Feb 14 2017
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by tbansal@chromium.org
, Jan 3 2017