Revision control
Copy as Markdown
# 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
# This file defines the metrics that are recorded by the Glean SDK.
# APIs to use these pings are automatically generated at build time using
# the `glean_parser` PyPI package.
# Metrics in this file may make use of SDK reserved ping names. See
# for additional information.
# Disable line-length rule because of links in descriptions.
# yamllint disable rule:line-length
---
glean.baseline:
duration:
type: timespan
description: |
The duration of the last foreground session.
time_unit: second
send_in_pings:
- baseline
bugs:
data_reviews:
data_sensitivity:
- technical
- interaction
notification_emails:
- glean-team@mozilla.com
expires: never
glean.internal.metrics:
os:
type: string
lifetime: application
send_in_pings:
- glean_client_info
description: |
The name of the operating system.
Possible values:
Android, iOS, Linux, Darwin, Windows,
FreeBSD, NetBSD, OpenBSD, Solaris, Unknown
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
os_version:
type: string
lifetime: application
send_in_pings:
- glean_client_info
description: |
The user-visible version of the operating system (e.g. "1.2.3").
If the version detection fails, this metric gets set to `Unknown`.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
windows_build_number:
type: quantity
lifetime: application
send_in_pings:
- glean_client_info
description: |
The optional Windows build number, reported by Windows
(e.g. 22000) and not set for other platforms.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
unit: build_number
device_manufacturer:
type: string
lifetime: application
send_in_pings:
- glean_client_info
description: |
The manufacturer of the device the application is running on.
Not set if the device manufacturer can't be determined (e.g. on Desktop).
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
device_model:
type: string
lifetime: application
send_in_pings:
- glean_client_info
description: |
The model of the device the application is running on.
On Android, this is Build.MODEL, the user-visible marketing name,
like "Pixel 2 XL".
Not set if the device model can't be determined (e.g. on Desktop).
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
architecture:
type: string
lifetime: application
send_in_pings:
- glean_client_info
description: |
The architecture of the device, (e.g. "arm", "x86").
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
client_id:
type: uuid
description:
A UUID uniquely identifying the client.
send_in_pings:
- glean_client_info
lifetime: user
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
app_build:
type: string
lifetime: application
send_in_pings:
- glean_client_info
description: |
The build identifier generated by the CI system (e.g. "1234/A").
If the value was not provided through configuration,
this metric gets set to `Unknown`.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
app_display_version:
type: string
lifetime: application
send_in_pings:
- glean_client_info
description: |
The user visible version string (e.g. "1.0.3").
If the value was not provided through configuration,
this metric gets set to `Unknown`.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
app_channel:
type: string
lifetime: application
send_in_pings:
- glean_client_info
description: |
The channel the application is being distributed on.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
build_date:
type: datetime
time_unit: second
lifetime: application
send_in_pings:
- glean_client_info
description: |
The date & time the application was built.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
- jrediger@mozilla.com
expires: never
first_run_date:
type: datetime
lifetime: user
send_in_pings:
- glean_client_info
time_unit: day
description: |
The date of the first run of the application.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
locale:
type: string
lifetime: application
send_in_pings:
- glean_client_info
description: |
The locale of the application during initialization (e.g. "es-ES").
If the locale can't be determined on the system, the value is
to indicate "undetermined".
bugs:
data_reviews:
data_sensitivity:
- technical
- interaction
notification_emails:
- glean-team@mozilla.com
expires: never
telemetry_sdk_build:
type: string
lifetime: ping
send_in_pings:
- glean_internal_info
description: |
The version of the Glean SDK
at the time the ping was collected (e.g. 25.0.0).
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
seq:
type: counter
lifetime: user
send_in_pings:
- glean_internal_info
description: |
A running counter of the number of times pings of this type have been
sent.
This metric definition is only used for documentation purposes:
internally, Glean instantiates the metric manually and calls it
`sequence`.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
experiments:
type: string # It's not, but we don't have a way to specify its type
lifetime: application
send_in_pings:
- glean_internal_info
description: |
Optional. A dictionary of active experiments.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
start_time:
type: datetime
time_unit: millisecond
lifetime: user
send_in_pings:
- glean_internal_info
description: |
The time of the start of collection of the data in the ping,
in local time and with minute precision, including timezone information.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
end_time:
type: datetime
time_unit: millisecond
lifetime: ping
send_in_pings:
- glean_internal_info
description: |
The time of the end of collection of the data in the ping,
in local time and with minute precision, including timezone information.
This is also the time this ping was generated
and is likely well before ping transmission time.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
reason:
type: string
lifetime: ping
send_in_pings:
- glean_internal_info
description: |
The optional reason the ping was submitted.
The specific values for reason are specific to each ping, and are
documented in the ping's pings.yaml file.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
glean.internal.metrics.attribution:
source:
type: string
lifetime: user
send_in_pings:
- glean_internal_info
description: |
The optional attribution source.
Similar to or the same as UTM `source`.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
medium:
type: string
lifetime: user
send_in_pings:
- glean_internal_info
description: |
The optional attribution medium.
Similar to or the same as UTM `medium`.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
campaign:
type: string
lifetime: user
send_in_pings:
- glean_internal_info
description: |
The optional attribution campaign.
Similar to or the same as UTM `campaign`.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
term:
type: string
lifetime: user
send_in_pings:
- glean_internal_info
description: |
The optional attribution term.
Similar to or the same as UTM `term`.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
content:
type: string
lifetime: user
send_in_pings:
- glean_internal_info
description: |
The optional attribution `content`.
Similar to or the same as UTM `content`.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
glean.internal.metrics.distribution:
name:
type: string
lifetime: user
send_in_pings:
- glean_internal_info
description: |
The optional distribution name.
Can be a partner name, or a distribution configuration preset.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
glean.client.annotation:
experimentation_id:
type: string
lifetime: application
send_in_pings:
- all-pings
description: |
An experimentation identifier derived and provided by the application
for the purpose of experimentation enrollment.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
glean.error:
invalid_value:
type: labeled_counter
description: |
Counts the number of times a metric was set to an invalid value.
The labels are the `category.name` identifier of the metric.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
send_in_pings:
- all-pings
no_lint:
- COMMON_PREFIX
invalid_label:
type: labeled_counter
description: |
Counts the number of times a metric was set with an invalid label.
The labels are the `category.name` identifier of the metric.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
send_in_pings:
- all-pings
no_lint:
- COMMON_PREFIX
invalid_state:
type: labeled_counter
description: |
Counts the number of times a timing metric was used incorrectly.
The labels are the `category.name` identifier of the metric.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
send_in_pings:
- all-pings
no_lint:
- COMMON_PREFIX
invalid_overflow:
type: labeled_counter
description: |
Counts the number of times a metric was set a value that overflowed.
The labels are the `category.name` identifier of the metric.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
send_in_pings:
- all-pings
no_lint:
- COMMON_PREFIX
preinit_tasks_overflow:
version: 1
type: counter
description: |
The number of tasks that overflowed the pre-initialization buffer.
Only sent if the buffer ever overflows.
In Version 0 this reported the total number of tasks enqueued.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
no_lint:
- COMMON_PREFIX
io:
type: counter
description: |
The number of times we encountered an IO error
when writing a pending ping to disk.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
- jrediger@mozilla.com
expires: never
glean.upload:
ping_upload_failure:
type: labeled_counter
description: |
Counts the number of ping upload failures, by type of failure.
This includes failures for all ping types,
though the counts appear in the next successfully sent `metrics` ping.
labels:
- "status_code_4xx"
- "status_code_5xx"
- "status_code_unknown"
- "unrecoverable"
- "recoverable"
- "incapable"
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
no_lint:
- COMMON_PREFIX
discarded_exceeding_pings_size:
type: memory_distribution
description: |
The size of pings that exceeded the maximum ping size allowed for upload.
memory_unit: kilobyte
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
no_lint:
- COMMON_PREFIX
pending_pings_directory_size:
type: memory_distribution
description: |
The size of the pending pings directory upon initialization of Glean.
This does not include the size of the deletion request pings directory.
memory_unit: kilobyte
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
no_lint:
- COMMON_PREFIX
deleted_pings_after_quota_hit:
type: counter
description: |
The number of pings deleted after the quota
for the size of the pending pings directory or number of files is hit.
Since quota is only calculated for the pending pings directory,
and deletion request ping live in a different directory,
deletion request pings are never deleted.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
no_lint:
- COMMON_PREFIX
pending_pings:
type: counter
description: |
The total number of pending pings at startup.
This does not include deletion-request pings.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
- jrediger@mozilla.com
expires: never
no_lint:
- COMMON_PREFIX
send_success:
type: timing_distribution
time_unit: millisecond
description: |
Time needed for a successful send of a ping to the servers and getting a reply back
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
- jrediger@mozilla.com
expires: never
send_failure:
type: timing_distribution
time_unit: millisecond
description: |
Time needed for a failed send of a ping to the servers and getting a reply back.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
- jrediger@mozilla.com
expires: never
in_flight_pings_dropped:
type: counter
description: |
How many pings were dropped because we found them already in-flight.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
- chutten@mozilla.com
expires: never
missing_send_ids:
type: counter
description: |
How many ping upload responses did we not record as a success or failure
(in `glean.upload.send_success` or `glean.upload.send_failue`,
respectively) due to an inconsistency in our internal bookkeeping?
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
- chutten@mozilla.com
expires: never
glean.database:
size:
type: memory_distribution
description: |
The size of the database file at startup.
memory_unit: byte
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
rkv_load_error:
type: string
description: |
If there was an error loading the RKV database, record it.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires: never
write_time:
type: timing_distribution
time_unit: microsecond
description: |
The time it takes for a write-commit for the Glean database.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
- jrediger@mozilla.com
expires: never
disabled: true
glean.validation:
foreground_count:
type: counter
description: |
On mobile, the number of times the application went to foreground.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires:
never
pings_submitted:
type: labeled_counter
description: |
A count of the built-in pings submitted, by ping type.
This metric appears in both the metrics and baseline pings.
- On the metrics ping, the counts include the number of pings sent since
the last metrics ping (including the last metrics ping)
- On the baseline ping, the counts include the number of pings send since
the last baseline ping (including the last baseline ping)
Note: Previously this also recorded the number of submitted custom pings.
Now it only records counts for the Glean built-in pings.
send_in_pings:
- metrics
- baseline
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
expires:
never
shutdown_wait:
type: timing_distribution
time_unit: millisecond
description: |
Time waited for the uploader at shutdown.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
- jrediger@mozilla.com
expires: never
shutdown_dispatcher_wait:
type: timing_distribution
time_unit: millisecond
description: |
Time waited for the dispatcher to unblock during shutdown.
Most samples are expected to be below the 10s timeout used.
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- glean-team@mozilla.com
- jrediger@mozilla.com
expires: never
glean:
restarted:
type: event
description: |
Recorded when the Glean SDK is restarted.
Only included in custom pings that record events.
For more information, please consult the
[Custom Ping documentation](https://mozilla.github.io/glean/book/user/pings/custom.html#the-gleanrestarted-event).
send_in_pings:
- all-pings
bugs:
data_reviews:
data_sensitivity:
- technical
notification_emails:
- chutten@mozilla.com
- glean-team@mozilla.com
expires: never