New issue
Advanced search Search tips

Issue 786997 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Index network quality by signal strength

Project Member Reported by tbansal@chromium.org, Nov 20 2017

Issue description

Currently, network quality estimator (NQE) persists the network quality of different networks indexed by Connection type and SSID/MCCMNC. However, for the same network, changes in signal strength can significantly affect the quality of the network. To handle this, NQE should persist the quality of the networks indexed by Connection type, SSID/MCCMNC and signal strength.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9414bae7c07caf9a334b0374d0cbae32f6bd0e42

commit 9414bae7c07caf9a334b0374d0cbae32f6bd0e42
Author: Tarun Bansal <tbansal@chromium.org>
Date: Tue Nov 21 01:37:23 2017

Refactor network ID implementation to a separate file

Bug:  786997 
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Ic500cf4496f7a2e763ef92dde1de8edcdc74be67
TBR: chili@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/777811
Reviewed-by: Cathy Li <chili@chromium.org>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Doug Arnett <dougarnett@chromium.org>
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518042}
[modify] https://crrev.com/9414bae7c07caf9a334b0374d0cbae32f6bd0e42/components/offline_pages/core/recent_tabs/recent_tabs_ui_adapter_delegate.cc
[modify] https://crrev.com/9414bae7c07caf9a334b0374d0cbae32f6bd0e42/net/BUILD.gn
[add] https://crrev.com/9414bae7c07caf9a334b0374d0cbae32f6bd0e42/net/nqe/network_id.cc
[modify] https://crrev.com/9414bae7c07caf9a334b0374d0cbae32f6bd0e42/net/nqe/network_id.h

Project Member

Comment 2 by bugdroid1@chromium.org, Nov 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/af5a7a48ffa1d8692529b797fb5ca0870e5b5ef4

commit af5a7a48ffa1d8692529b797fb5ca0870e5b5ef4
Author: Tarun Bansal <tbansal@chromium.org>
Date: Wed Nov 22 02:01:47 2017

Remove duplicate code for reading the cached network quality

Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Bug:  786997 
Change-Id: Iac638169bf8a6f4363f55edeebeddaa86db5c468
Reviewed-on: https://chromium-review.googlesource.com/782699
Reviewed-by: Doug Arnett <dougarnett@chromium.org>
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518498}
[modify] https://crrev.com/af5a7a48ffa1d8692529b797fb5ca0870e5b5ef4/net/nqe/network_quality_estimator.cc
[modify] https://crrev.com/af5a7a48ffa1d8692529b797fb5ca0870e5b5ef4/net/nqe/network_quality_estimator.h

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cdfa34b0e186de336d403a86641708b05553185e

commit cdfa34b0e186de336d403a86641708b05553185e
Author: Tarun Bansal <tbansal@chromium.org>
Date: Thu Nov 23 05:11:17 2017

Add NetworkID proto which makes it simpler to serialize network IDs

In a future CL, signal strength would be added to the network ID proto
and the struct.

Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Bug:  786997 
Change-Id: I2d9c8962639fe93821d6ee851346c958b4238e9e
Reviewed-on: https://chromium-review.googlesource.com/786539
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Doug Arnett <dougarnett@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518854}
[modify] https://crrev.com/cdfa34b0e186de336d403a86641708b05553185e/net/BUILD.gn
[modify] https://crrev.com/cdfa34b0e186de336d403a86641708b05553185e/net/nqe/network_id.cc
[add] https://crrev.com/cdfa34b0e186de336d403a86641708b05553185e/net/nqe/network_id_unittest.cc
[modify] https://crrev.com/cdfa34b0e186de336d403a86641708b05553185e/net/nqe/network_qualities_prefs_manager_unittest.cc
[add] https://crrev.com/cdfa34b0e186de336d403a86641708b05553185e/net/nqe/proto/network_id_proto.proto

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b187d71895ad00e5f0c2f9406f309daae5386a0

commit 8b187d71895ad00e5f0c2f9406f309daae5386a0
Author: Tarun Bansal <tbansal@chromium.org>
Date: Sat Dec 02 01:26:26 2017

Add signal strength value to the network ID struct

signal strength value is added to the network ID struct. This makes it
possible to store multiple network qualities for the same network
(e.g., a cellular network) along with the signal strength at which
the quality was computed.

When reading the cached network quality, the entry with the signal
closest to the strength of the current network is used.

Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Bug:  786997 
Change-Id: Ib0f1ad2dacc8590cba7fc0d5180ef0547fb5c6e6
Reviewed-on: https://chromium-review.googlesource.com/785554
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Doug Arnett <dougarnett@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521170}
[modify] https://crrev.com/8b187d71895ad00e5f0c2f9406f309daae5386a0/chrome/browser/net/nqe/ui_network_quality_estimator_service_browsertest.cc
[modify] https://crrev.com/8b187d71895ad00e5f0c2f9406f309daae5386a0/net/nqe/network_id.cc
[modify] https://crrev.com/8b187d71895ad00e5f0c2f9406f309daae5386a0/net/nqe/network_id.h
[modify] https://crrev.com/8b187d71895ad00e5f0c2f9406f309daae5386a0/net/nqe/network_id_unittest.cc
[modify] https://crrev.com/8b187d71895ad00e5f0c2f9406f309daae5386a0/net/nqe/network_quality_estimator.cc
[modify] https://crrev.com/8b187d71895ad00e5f0c2f9406f309daae5386a0/net/nqe/network_quality_estimator.h
[modify] https://crrev.com/8b187d71895ad00e5f0c2f9406f309daae5386a0/net/nqe/network_quality_estimator_test_util.cc
[modify] https://crrev.com/8b187d71895ad00e5f0c2f9406f309daae5386a0/net/nqe/network_quality_estimator_unittest.cc
[modify] https://crrev.com/8b187d71895ad00e5f0c2f9406f309daae5386a0/net/nqe/network_quality_store.cc
[modify] https://crrev.com/8b187d71895ad00e5f0c2f9406f309daae5386a0/net/nqe/network_quality_store.h
[modify] https://crrev.com/8b187d71895ad00e5f0c2f9406f309daae5386a0/net/nqe/network_quality_store_unittest.cc
[modify] https://crrev.com/8b187d71895ad00e5f0c2f9406f309daae5386a0/net/nqe/proto/network_id_proto.proto

Project Member

Comment 5 by bugdroid1@chromium.org, Dec 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9a42d057fb28c8901e5566f37f80485ae3ce66d3

commit 9a42d057fb28c8901e5566f37f80485ae3ce66d3
Author: Tarun Bansal <tbansal@chromium.org>
Date: Tue Dec 05 17:16:40 2017

Read and write network quality when there is a change in the signal strength

When there is a change in the signal strength, the current network quality
(using the older value of signal strength) is written to the cache.
At the same time, the cached network quality (with the updated
signal strength) is read.

Currently, the reading/writing of cached network quality is enabled
only for WiFi and Ethernet. This CL also enables reading/writing of
cached network quality for all connection types.

Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Bug:  786997 
Change-Id: Ifb9d838691a3b22bc05bd559d21b722c9d4a8529
Reviewed-on: https://chromium-review.googlesource.com/806798
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Doug Arnett <dougarnett@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521727}
[modify] https://crrev.com/9a42d057fb28c8901e5566f37f80485ae3ce66d3/chrome/browser/net/nqe/ui_network_quality_estimator_service_browsertest.cc
[modify] https://crrev.com/9a42d057fb28c8901e5566f37f80485ae3ce66d3/net/nqe/network_qualities_prefs_manager_unittest.cc
[modify] https://crrev.com/9a42d057fb28c8901e5566f37f80485ae3ce66d3/net/nqe/network_quality_estimator.cc
[modify] https://crrev.com/9a42d057fb28c8901e5566f37f80485ae3ce66d3/net/nqe/network_quality_estimator_unittest.cc
[modify] https://crrev.com/9a42d057fb28c8901e5566f37f80485ae3ce66d3/net/nqe/network_quality_store.cc
[modify] https://crrev.com/9a42d057fb28c8901e5566f37f80485ae3ce66d3/net/nqe/network_quality_store.h
[modify] https://crrev.com/9a42d057fb28c8901e5566f37f80485ae3ce66d3/net/nqe/network_quality_store_unittest.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Dec 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f202467e384162c9f3a14fb026240893d02817bd

commit f202467e384162c9f3a14fb026240893d02817bd
Author: Tarun Bansal <tbansal@chromium.org>
Date: Thu Dec 07 20:58:30 2017

Do not cache observed network quality if it matches the default value.

If the default effective connection type of the connection matches
the observed network quality, then the network quality is not
persisted on the prefs. The goal here is to reduce the
pref size.

Also, increase the pref size from 10 to 20.

Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Bug:  786997 
Change-Id: I6feb2ddf6c598e02433c9c175d56916360835bd3
Reviewed-on: https://chromium-review.googlesource.com/809781
Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522540}
[modify] https://crrev.com/f202467e384162c9f3a14fb026240893d02817bd/net/nqe/network_qualities_prefs_manager.cc
[modify] https://crrev.com/f202467e384162c9f3a14fb026240893d02817bd/net/nqe/network_qualities_prefs_manager_unittest.cc
[modify] https://crrev.com/f202467e384162c9f3a14fb026240893d02817bd/net/nqe/network_quality_estimator.h
[modify] https://crrev.com/f202467e384162c9f3a14fb026240893d02817bd/net/nqe/network_quality_estimator_params.cc
[modify] https://crrev.com/f202467e384162c9f3a14fb026240893d02817bd/net/nqe/network_quality_estimator_params.h
[modify] https://crrev.com/f202467e384162c9f3a14fb026240893d02817bd/net/nqe/network_quality_estimator_params_unittest.cc
[modify] https://crrev.com/f202467e384162c9f3a14fb026240893d02817bd/net/nqe/network_quality_estimator_unittest.cc

Labels: -M-64 M-65
Fixed in 65.0.3288.3.
Status: Fixed (was: Started)

Sign in to add a comment