New issue
Advanced search Search tips

Issue 706628 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

[offline-pages] Add Loading Signal data to the saved MHTML file

Project Member Reported by petewil@chromium.org, Mar 29 2017

Issue description

To make a better determination of when to snapshot the page, we plan to collect loading signal data.  We will store the data in the MHTML file itself, in an extra section at the end of the file.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 10 2017

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

commit 2abcf0413069159c73bceba72f0b6f124021bca5
Author: petewil <petewil@chromium.org>
Date: Mon Apr 10 21:45:00 2017

Get signals working in the EXTRA_DATA section of MHTML

The intent of this change is to add some signal data to the bottom of
a MHTML file when generating an offline file if the new OfflinePagesLoadSignalCollecting flag is set.  The signal data
will be analyzed to find a better time to take snapshots, and will eventually be used to decide at runtime when to take snapshots.  Design docs here:
https://docs.google.com/document/d/1AcoZOIb81V68_KDSOCatFSYYMLOTSYj6resg-VAxLgo

BUG= 706628 

Review-Url: https://codereview.chromium.org/2683493002
Cr-Commit-Position: refs/heads/master@{#463407}

[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/chrome/browser/about_flags.cc
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/chrome/browser/android/offline_pages/prerendering_loader.cc
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/chrome/browser/android/offline_pages/prerendering_loader.h
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/chrome/browser/android/offline_pages/prerendering_offliner.cc
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/chrome/browser/android/offline_pages/prerendering_offliner.h
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/components/offline_pages/core/offline_page_feature.cc
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/components/offline_pages/core/offline_page_feature.h
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/components/offline_pages/core/offline_page_model_impl_unittest.cc
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/content/browser/BUILD.gn
[add] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/content/browser/download/mhtml_extra_parts_impl.cc
[add] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/content/browser/download/mhtml_extra_parts_impl.h
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/content/browser/download/mhtml_generation_browsertest.cc
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/content/browser/download/mhtml_generation_manager.cc
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/content/public/browser/BUILD.gn
[add] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/content/public/browser/mhtml_extra_parts.h
[modify] https://crrev.com/2abcf0413069159c73bceba72f0b6f124021bca5/tools/metrics/histograms/histograms.xml

Additional work is required:
Add a way to send extra headers as headers instead of in the body.
Make the extra data JSON.
Add loading signal data to the BackgroundLoaderOfflienr

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 18 2017

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

commit 73cbc9649a4cda766fbedb4e27d38872f87f5018
Author: petewil <petewil@chromium.org>
Date: Tue Apr 18 20:50:58 2017

Write loading signal extra data in JSON

Our first attempt wrote siganls in plain text strings.  We think
they will be easier to handle and more extensible if we use JSON
instead.

BUG= 706628 

Review-Url: https://codereview.chromium.org/2821133003
Cr-Commit-Position: refs/heads/master@{#465359}

[modify] https://crrev.com/73cbc9649a4cda766fbedb4e27d38872f87f5018/chrome/browser/android/offline_pages/prerendering_loader.cc
[modify] https://crrev.com/73cbc9649a4cda766fbedb4e27d38872f87f5018/chrome/browser/android/offline_pages/prerendering_loader.h
[modify] https://crrev.com/73cbc9649a4cda766fbedb4e27d38872f87f5018/chrome/browser/android/offline_pages/prerendering_offliner.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Apr 20 2017

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

commit b00919686f1472b84a9f928aa22af4d47b0ffd5a
Author: petewil <petewil@chromium.org>
Date: Thu Apr 20 17:46:35 2017

Collect loading signal data from the background loader offliner

We currently collect loading signal from the prerendering offliner, but
not the background loader offliner.  This adds collection from the
background loader offliner too.  The signals will be sent as JSON.

BUG= 706628 

Review-Url: https://codereview.chromium.org/2819393002
Cr-Commit-Position: refs/heads/master@{#466056}

[modify] https://crrev.com/b00919686f1472b84a9f928aa22af4d47b0ffd5a/chrome/browser/android/offline_pages/background_loader_offliner.cc
[modify] https://crrev.com/b00919686f1472b84a9f928aa22af4d47b0ffd5a/chrome/browser/android/offline_pages/background_loader_offliner.h
[modify] https://crrev.com/b00919686f1472b84a9f928aa22af4d47b0ffd5a/chrome/browser/android/offline_pages/background_loader_offliner_unittest.cc

Status: Fixed (was: Started)

Sign in to add a comment