New issue
Advanced search Search tips

Issue 765378 link

Starred by 15 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 753436



Sign in to add a comment

User Agent Intervention: WebFonts overtriggering due to hanging GETs

Project Member Reported by tbansal@chromium.org, Sep 14 2017

Issue description

Branched from   Issue 764204  .

Feedback report filed by isherman:
http://shortn/_qk9GrPqrre
 
Looking at the histogram "NQE.MainFrame.RTT.Percentile50", the value was <268 msec 26 times. This would correctly correspond to an ECT of 4G. At one point, it was between 268 msec and 318 msec, which corresponds to ECT of 3G. That's when Webfonts intervention would trigger.

NQE.RTT.RawObservation.Http shows ~18% values are in buckets 268+ msec. Still looking at why. The current hypothesis is that it might be due to hanging GET requests where the server holds on to the HTTP request for longer times.
isherman comment from https://bugs.chromium.org/p/chromium/issues/detail?id=764204#c7:

In terms of the observed data speeds, that makes sense to me.  Our AppEngine frontend makes a query to the backend, which ends up running a Dremel query.  That query is relatively slow/expensive, so there's a long while until the server replies with data.  During that time, the observed data transfer rate is presumably 0.  Once it actually replies with the data, the data transfer rate should be quite fast.  I'm not sure whether your metric attempts to take this distinction into account in any way; I'm not even sure how realistic it is to measure from something like "first byte received".
Cc: toyoshim@chromium.org isherman@chromium.org
Re #2: Good to know that it's probably not the behavior observed by typical user.

On Android, Network Quality Estimator (NQE) also records transport RTT observations which are less affected by hanging GETs, and uses that to adjust estimates. Thus, estimates are more accurate on Android. Currently, NQE does not get the transport RTT estimates on non-Android platforms. So, it's possible that hanging GETs can skew the network quality result especially if a large percentage of the network requests are hanging GETs.

I have also filed Issue 765336 to explore opportunities to improve accuracy when majority of the recent network quality samples are inaccurate.


Thanks, and thanks for splitting off this bug!

Comment 6 by bengr@chromium.org, Sep 14 2017

Status: Available (was: Assigned)

Comment 7 by bengr@chromium.org, Dec 1 2017

Refreshed during triage.
Tarun, can this be a public bug?
Probably the user of  crbug.com/719844#c12  is hitting similar case.
Labels: -Restrict-View-Google
Summary: User Agent Intervention: WebFonts overtriggering due to hanging GETs (was: User Agent Intervention: WebFonts overtriggering)
Description: Show this description
Owner: tbansal@chromium.org
Status: Started (was: Available)
Project Member

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

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

commit 8914dbba60820721b2731ba61a6c227331a15921
Author: Tarun Bansal <tbansal@chromium.org>
Date: Tue Dec 12 21:03:59 2017

NQE: Hanging request and hanging throughput observation window detector

A URLRequest is heuristically marked as hanging if its value is M times more
than the transport RTT estimate, and/or N times the HTTP RTT estimate.

A throughput observation window is marked as hanging by comparing the duration
of the window with the HTTP RTT estimate, and the number of bytes received
during the window with the expected congestion window size.

Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Bug:  765378 
Change-Id: Ia215102194a4426cf6c447a629e29145fa8cb13c
Reviewed-on: https://chromium-review.googlesource.com/777855
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Reviewed-by: Ryan Sturm <ryansturm@chromium.org>
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523539}
[modify] https://crrev.com/8914dbba60820721b2731ba61a6c227331a15921/net/nqe/network_quality_estimator.cc
[modify] https://crrev.com/8914dbba60820721b2731ba61a6c227331a15921/net/nqe/network_quality_estimator.h
[modify] https://crrev.com/8914dbba60820721b2731ba61a6c227331a15921/net/nqe/network_quality_estimator_params.cc
[modify] https://crrev.com/8914dbba60820721b2731ba61a6c227331a15921/net/nqe/network_quality_estimator_params.h
[modify] https://crrev.com/8914dbba60820721b2731ba61a6c227331a15921/net/nqe/network_quality_estimator_test_util.h
[modify] https://crrev.com/8914dbba60820721b2731ba61a6c227331a15921/net/nqe/network_quality_estimator_unittest.cc
[modify] https://crrev.com/8914dbba60820721b2731ba61a6c227331a15921/net/nqe/throughput_analyzer.cc
[modify] https://crrev.com/8914dbba60820721b2731ba61a6c227331a15921/net/nqe/throughput_analyzer.h
[modify] https://crrev.com/8914dbba60820721b2731ba61a6c227331a15921/net/nqe/throughput_analyzer_unittest.cc
[modify] https://crrev.com/8914dbba60820721b2731ba61a6c227331a15921/testing/variations/fieldtrial_testing_config.json
[modify] https://crrev.com/8914dbba60820721b2731ba61a6c227331a15921/tools/metrics/histograms/histograms.xml

Cc: tbansal@chromium.org
 Issue 778477  has been merged into this issue.
Project Member

Comment 14 by bugdroid1@chromium.org, Jan 3 2018

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

commit 12acf8306648c145dc56085d50529d30cade07f5
Author: Tarun Bansal <tbansal@chromium.org>
Date: Wed Jan 03 01:08:25 2018

Fix the histogram name recorded by the network quality estimator in histograms.xml.

Bug:  765378 
Change-Id: I20e8e2fac148cfde6114ebf6a7af2a33d056b356
Reviewed-on: https://chromium-review.googlesource.com/846019
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Commit-Queue: Tarun Bansal <tbansal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526558}
[modify] https://crrev.com/12acf8306648c145dc56085d50529d30cade07f5/tools/metrics/histograms/histograms.xml

Refreshed during triage.
Any updates here? Can this bug be closed?
Blockedon: 753436
Labels: M-66
Status: Fixed (was: Started)
This should be fixed in M-66.
This is still not fixed in 68 it appears.

I am seeing constant warnings (now even more obnoxious in red "error" level), yet we specify a `font-display` property of other than `auto` as the documentation suggests to opt-out of these warnings.

See #881614 for more details

Sign in to add a comment