New issue
Advanced search Search tips

Issue 605758 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature



Sign in to add a comment

Allow experimentation with quota allocation logic

Project Member Reported by dk...@chromium.org, Apr 21 2016

Issue description

In an effort to give sites more storage quota, we want to be able to do experiment with quota allocation. 

To do this, we need to hook quota allocation logic up to Finch. Specifically, the following logic should be configurable through Finch:

- How much space Chrome takes up on a device.
- How much space an origin can take up on Chrome.
- When Chrome decides to evict an origin's storage.

Specifically, the experiments we would like to enable are:

- Allowing Chrome to use more space
- Allowing sites to use more of Chrome's space
- Preemptively evicting old sites, even when not under storage pressure.
 

Comment 1 by jsb...@chromium.org, Aug 29 2016

Labels: -Type-Bug Type-Feature
Project Member

Comment 2 by bugdroid1@chromium.org, May 23 2017

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

commit 93ccede540fea5eab25f65c15bc284a5c2c2dfbf
Author: michaeln <michaeln@chromium.org>
Date: Tue May 23 00:01:22 2017

Add uma stats to help evaluate the impact of changes to the quota allocation logic.

This CL adds several Storage.BytesRead.XXX and Storage.BytesWritten.XXX histograms.
The size of each read or write is logged at a low level for:
CacheStorage, IndexedDB, ServiceWorker, and AppCache.

Storage.BytesXXX.LevelDBEnv.IDB corresponds to IndexedDB. Some other leveldb consumers
are also instrumented, for example LevelDBEnv.ServiceWorker, but not all of them are
differentiated from one another, they are logged as LevelDBEnv, and some aren't
instrumented at all.

Here are the labels...

<histogram_suffixes name="Storage.Bytes" separator=".">
  <suffix name="DiskCache.AppCache" label="AppCache usage."/>
  <suffix name="DiskCache.CacheStorage" label="CacheStorage usage."/>
  <suffix name="DiskCache.ServiceWorker"
      label="ServiceWorker scriptcache usage."/>
  <suffix name="LevelDBEnv" label="Undifferentiated leveldb usage."/>
  <suffix name="LevelDBEnv.IDB" label="IndexedDB usage."/>
  <suffix name="LevelDBEnv.ServiceWorker"
      label="ServiceWorker database usage."/>
  <suffix name="MojoLevelDBEnv" label="Mojo leveldb component usage."/>
  <affected-histogram name="Storage.BytesRead"/>
  <affected-histogram name="Storage.BytesWritten"/>
</histogram_suffixes>

BUG= 605758 

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

[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/components/leveldb/env_mojo.cc
[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/components/leveldb/env_mojo.h
[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/content/browser/appcache/appcache_disk_cache.cc
[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/content/browser/appcache/appcache_response.cc
[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/content/browser/appcache/appcache_response.h
[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/content/browser/cache_storage/cache_storage_blob_to_disk_cache.cc
[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/content/browser/cache_storage/cache_storage_cache.cc
[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/content/browser/service_worker/service_worker_disk_cache.cc
[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/storage/browser/blob/blob_reader.cc
[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/storage/common/BUILD.gn
[add] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/storage/common/storage_histograms.cc
[add] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/storage/common/storage_histograms.h
[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/third_party/leveldatabase/env_chromium.cc
[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/third_party/leveldatabase/env_chromium.h
[modify] https://crrev.com/93ccede540fea5eab25f65c15bc284a5c2c2dfbf/tools/metrics/histograms/histograms.xml

Labels: -Pri-1 Pri-2

Comment 4 by jsb...@chromium.org, Mar 20 2018

Owner: ----
Status: Fixed (was: Assigned)
We may do more, but closing this bug out for now.

Sign in to add a comment