Source code
Revision control
Copy as Markdown
Other Tools
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# Adding a new metric? We have docs for that!
---
$tags:
- 'Core :: Storage: Quota Manager'
dom.quota.try:
error_step:
type: event
description: >
An event recorded on an error of the quota manager or its clients.
Since errors are usually propagated up the call chain, all such
propagation steps are recorded for an error. This is only active
during specific contexts, in particular during storage
initialization. No dynamic data is included in the event beyond the
This event was generated to correspond to the Legacy Telemetry event
dom.quota.try.error#step.
bugs:
data_reviews:
notification_emails:
- jvarga@mozilla.com
- storage-telemetry@mozilla.com
expires: never
extra_keys:
context:
description: >
The context in which the error occurred, e.g. during a storage initialization.
Telemetry events are only emitted for selected contexts.
type: string
frame_id:
description: >
Optionally, the frame within stack_id.
type: string
process_id:
description: >
Optionally, the process in which the error occured.
type: string
result:
description: >
Optionally, the name of the error that occurred.
type: string
seq:
description: >
Sequence number.
type: quantity
severity:
description: >
One of WARNING or ERROR.
type: string
source_file:
description: >
The name of the source code file where the error occurred.
type: string
source_line:
description: >
The line within source_file where the error occurred.
type: quantity
stack_id:
description: >
Optionally, the stack within process_id.
type: string
telemetry_mirror: DomQuotaTry_Error_Step
quotamanager.initialize.repository:
number_of_iterations:
type: labeled_custom_distribution
description: >
This metric logs the count of directory entries iterated within the
QuotaManager::InitializeRepository function for each repository type.
Each instance of this metric is labeled with one of three repository
types: "persistent", "temporary" or "default" (there's also "private"
repository but that should never be iterated by the function).
The main purpose is to track and analyze iteration counts during the
initialization process of each repository type, helping to identify
performance trends or potential inefficiencies across these repositories.
This can provide insight into the impacts of specific code changes,
including potential optimizations or regressions.
range_min: 0
range_max: 65535
bucket_count: 50
histogram_type: exponential
unit: integer
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- jvarga@mozilla.com
- storage-telemetry@mozilla.com
expires: never
labels:
- persistent
- temporary
- default
- private
quotamanager.initialize.temporarystorage:
total_time_excluding_suspend:
type: timing_distribution
time_unit: millisecond
description: >
This metric logs the total time required to initialize temporary storage
within the QuotaManager after startup on the I/O thread. The duration
excludes any periods when the system was suspended (e.g. system sleep or
hibernation), to better reflect actual time spent performing temporary
storage initialization.
The primary goal is to measure the actual runtime cost of temporary
storage initialization under typical conditions, without distortion from
system-level suspension delays.
This data can help detect performance regressions or improvements during
startup-related phases, particularly for users with significant amounts
of temporary storage data on disk.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- jvarga@mozilla.com
- storage-telemetry@mozilla.com
expires: 141
quotamanager.shutdown:
total_time_excluding_suspend:
type: timing_distribution
time_unit: millisecond
description: >
This metric logs the total time required to shut down the QuotaManager
instance on the PBackground thread. The duration excludes any periods
when the system was suspended (system sleep or hibernation), to better
reflect actual time spent performing shutdown.
While the shutdown process is measured on the PBackground thread, it
involves spinning the event loop and thus waiting for operations on other
threads (especially I/O threads) to complete.
The primary goal is to measure the actual runtime cost of shutdown under
typical conditions, without distortion from system-level suspension
delays.
This data can help detect performance regressions or improvements related
to QuotaManager shutdown behavior, especially in scenarios involving
large amounts of user storage data.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- jvarga@mozilla.com
- storage-telemetry@mozilla.com
expires: 141
dom.quota:
info_load_time:
type: labeled_timing_distribution
description: >
Time (ms) for the QuotaManager to load quota information. Keyed by
conditions during quota info loading, see RecordTimeDeltaHelper::Run in
This metric was generated to correspond to the Legacy Telemetry
exponential histogram QM_QUOTA_INFO_LOAD_TIME_V0.
time_unit: millisecond
bugs:
data_reviews:
notification_emails:
- ttung@mozilla.com
- storage-telemetry@mozilla.com
expires: never
telemetry_mirror: QM_QUOTA_INFO_LOAD_TIME_V0
shutdown_time:
type: labeled_timing_distribution
description: >
Time (ms) for the QuotaManager to shutdown. Keyed by conditions during
shutdown, see RecordTimeDeltaHelper::Run in
This metric was generated to correspond to the Legacy Telemetry
exponential histogram QM_SHUTDOWN_TIME_V0.
time_unit: millisecond
bugs:
data_reviews:
notification_emails:
- jvarga@mozilla.com
- storage-telemetry@mozilla.com
expires: never
telemetry_mirror: QM_SHUTDOWN_TIME_V0