<!--
Copyright 2020 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<!--
This file is used to generate a comprehensive list of Quota histograms
along with a detailed description for each histogram.
For best practices on writing histogram descriptions, see
https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md
Please follow the instructions in the OWNERS file in this directory to find a
reviewer. If no OWNERS file exists, please consider signing up at
go/reviewing-metrics (Googlers only), as all subdirectories are expected to
have an OWNERS file. As a last resort you can send the CL to
[email protected].
-->
<histogram-configuration>
<histograms>
<histogram name="Quota.AgeOfDataInDays" units="days" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
How many kilobytes are how old. Similar to |AgeOfOrigin| except a sample is
added for each kilobyte of an origin's data. Logged hourly for all origins
with stored data.
</summary>
</histogram>
<histogram name="Quota.AgeOfOriginInDays" units="days"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
How many days it's been since an origin's temporary storage has been
accessed. Logged hourly for all origins with stored data.
</summary>
</histogram>
<histogram name="Quota.AvailableDiskSpace" units="MB"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Amount of free disk space for the storage directory. Logged at irregular
intervals.
</summary>
</histogram>
<histogram name="Quota.AvailableDiskSpace2" units="MB"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Amount of free disk space for the storage directory. Logged when collecting
usage information.
</summary>
</histogram>
<histogram name="Quota.DatabaseMigration{VersionUpgrades}"
enum="BooleanSuccess" expires_after="2025-05-24">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether the database migration was successful. Recorded after
attempting to migrate the database.
</summary>
<token key="VersionUpgrades">
<variant name="FromV7ToV8"/>
<variant name="FromV8ToV9"/>
<variant name="FromV9ToV10"/>
</token>
</histogram>
<histogram name="Quota.DatabaseSpecificError.{Statement}"
enum="SqliteLoggedResultCode" expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records error codes returned by SQLite for operations on the quota database.
These are logged separately for each database operation to help isolate
issues the quota db might be facing.
</summary>
<token key="Statement">
<variant name="BootstrapDefaultBucket"/>
<variant name="Commit"/>
<variant name="CountBuckets"/>
<variant name="CreateBucket"/>
<variant name="CreateTable"/>
<variant name="DeleteBucket"/>
<variant name="GetBucket"/>
<variant name="GetBucketById"/>
<variant name="GetBucketsForEviction"/>
<variant name="GetBucketsForHost"/>
<variant name="GetBucketsForStorageKey"/>
<variant name="GetBucketsForType"/>
<variant name="GetBucketsModifiedBetween"/>
<variant name="GetExpired"/>
<variant name="GetOrphan"/>
<variant name="GetStale"/>
<variant name="GetStorageKeys"/>
<variant name="Open"/>
<variant name="SetBucketLastAccessTime"/>
<variant name="SetBucketLastModifiedTime"/>
<variant name="SetStorageKeyLastAccessTime"/>
<variant name="UpdateBucketExpiration"/>
<variant name="UpdateBucketPersistence"/>
</token>
</histogram>
<histogram name="Quota.DaysSinceLastAccessed400DaysGT" units="days"
expires_after="2025-04-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Emitted when the browsing context loads a quota bucket for use and updates
the last_accessed field in the database.
Number of days since a quota bucket was accessed (for values over 400 days).
</summary>
</histogram>
<histogram name="Quota.DaysSinceLastAccessed400DaysLTE" units="days"
expires_after="2025-04-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Emitted when the browsing context loads a quota bucket for use and updates
the last_accessed field in the database.
Number of days since a quota bucket was accessed (for values under 400
days).
</summary>
</histogram>
<histogram name="Quota.DiskspaceShortage" units="MB" expires_after="2025-01-14">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Difference between acceptable lower limit of diskspace and actual free
diskspace at beginning of an eviction round. Recorded after every eviction
round is finished.
</summary>
</histogram>
<histogram name="Quota.EvictedBucketAccessCount" units="units"
expires_after="2025-07-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of times the evicted bucket was accessed. Logged when the bucket
is evicted. Replaces Quota.EvictedOriginAccessCount when eviction was per
origin.
</summary>
</histogram>
<histogram name="Quota.EvictedBucketDaysSinceAccess" units="units"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of days since the evicted bucket was last accessed. Logged when
the bucket is evicted. Replaces Quota.EvictedOriginDaysSinceAccess when
eviction was per origin.
</summary>
</histogram>
<histogram name="Quota.EvictedBucketsPerHour" units="buckets"
expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Number of evicted buckets in an hour. Replaces Quota.EvictedOriginPerHour
when eviction was per origin.
</summary>
</histogram>
<histogram name="Quota.EvictedBytesPerRound" units="MB"
expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Amount of usage used by evicted buckets in an eviction round. Prior to M94,
evictions were based on per origin instead of per bucket.
</summary>
</histogram>
<histogram name="Quota.EvictionRoundsPerHour" units="units"
expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Number of eviction rounds in an hour. Histogram expired between 2020/10 and
2022/06.
</summary>
</histogram>
<histogram name="Quota.GlobalTemporaryPoolSize" units="MB"
expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The size of the global temporary storage pool. Logged at irregular
intervals.
</summary>
</histogram>
<histogram name="Quota.GlobalUsageOfTemporaryStorage" units="MB"
expires_after="2024-12-24">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Global usage of temporary storage.</summary>
</histogram>
<histogram name="Quota.NumberOfEvictedBucketsPerRound" units="units"
expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Number of evicted buckets per round.</summary>
</histogram>
<histogram name="Quota.OrphanBucketCount" units="areas"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the amount of orphan (nonce-bound buckets which will never be
loaded) on QuotaTemporaryStorageEvictor rounds. Starts recording one minute
after initialization of QuotaDatabase to ensure session restore has
completed.
See crbug.com/353555346 for more info.
</summary>
</histogram>
<histogram name="Quota.PercentDiskAvailable" units="%"
expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Percentage of the storage device that is free. Logged at irregular
intervals.
</summary>
</histogram>
<histogram name="Quota.PercentDiskAvailable2" units="%"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Percentage of the storage device that is free. Logged when collecting usage
information.
</summary>
</histogram>
<histogram name="Quota.PercentUsedByOrigin" units="%"
expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Percentage of an origin's quota that is being used by the origin. Logged at
irregular intervals.
</summary>
</histogram>
<histogram name="Quota.PercentUsedForTemporaryStorage2" units="%"
expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Percentage of the storage device that is being use for temporary storage.
Logged when collecting usage information.
</summary>
</histogram>
<histogram name="Quota.QuotaDatabaseDisabled"
enum="QuotaDatabaseDisabledReason" expires_after="2024-07-21">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records at which step the QuotaDatabase failed to bootstrap.
</summary>
</histogram>
<histogram name="Quota.QuotaDatabaseError" enum="SqliteLoggedResultCode"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>Errors reported by SQLite while using the quota database.</summary>
</histogram>
<histogram name="Quota.QuotaDatabaseReset" enum="QuotaDatabaseResetReason"
expires_after="2025-01-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the reason the QuotaDatabase was reset to understand how frequently
and why this happens. This will inform us on how we should implement data
recovery for storage data when the QuotaDatabase is reset.
</summary>
</histogram>
<histogram name="Quota.QuotaForOrigin" units="MB" expires_after="2024-12-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The quota value computed for an origin using temporary storage. Logged at
irregular intervals. (In the process of writing new data, storage systems
consult the quota system for "usage and quota" to determine if
there is sufficient space available for the new data. This value is logged
at the time of that consultation. The frequency is dependent on how
individual websites use the various storage apis.)
</summary>
</histogram>
<histogram name="Quota.StaleBucketCount" units="areas"
expires_after="2025-02-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the amount of stale (400 days since last access or write and not
persistent) storage buckets on QuotaTemporaryStorageEvictor rounds.
Emitted without knowledge of eviction success or failure.
See crbug.com/40281870 for more info.
</summary>
</histogram>
<histogram name="Quota.TimeSpentToAEvictionRound" units="units"
expires_after="2025-05-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Time spent to an eviction round. Histogram expired between 2018/08 and
2022/06.
</summary>
</histogram>
<histogram name="Quota.TotalBucketCount" units="buckets"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Total number of entries in the QuotaDatabase buckets table for a profile.
Logged hourly.
</summary>
</histogram>
<histogram name="Quota.TotalDiskSpace" units="MB" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Total disk space for the storage directory. Logged at irregular intervals.
</summary>
</histogram>
<histogram name="Quota.TotalDiskSpaceIsZero" enum="BooleanVolumeZero"
expires_after="2024-12-30">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether base::SysInfo::AmountOfTotalDiskSpace() returned zero or a negative
number to the quota system. Logged whenever something is pinging the system
for quota or device info.
</summary>
</histogram>
<histogram name="Quota.UsageByOrigin" units="MB" expires_after="2025-07-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Disk space (in MB) currently used by an origin. Logged hourly.
</summary>
</histogram>
</histograms>
</histogram-configuration>