<!--
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 Notifications 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>
<variants name="MacOSNotificationStyle">
<variant name="Alert" summary="Alert: Stays on screen"/>
<variant name="AppShim" summary="AppShim: Attributed to a PWA"/>
<variant name="Banner" summary="Banner: Auto dismisses"/>
</variants>
<variants name="NotificationAction">
<variant name="ClickedBody.BadClick"
summary="User performed a 'bad click' on the body of a notification,
which is a click that did not do anything."/>
<variant name="ClickedBody.GoodClick"
summary="User performed a 'good click' on the body of a notification,
which is a click that did do some actions."/>
<variant name="CountOfNotificationShownInFirstMinutePerUser"
summary="Count of notifications displayed in the first minute since
login for a user"/>
<variant name="NotificationAdded"
summary="A notification was created and it was shown"/>
<variant name="Popup.ClickedActionButton"
summary="User clicks on an action button of a popup notification"/>
<variant name="Popup.ClickedBody"
summary="User clicks the body of a popup notification"/>
<variant name="Popup.ClosedByUser.Click"
summary="User closes a popup notification by clicking on the close
button"/>
<variant name="Popup.ClosedByUser.Swipe"
summary="User closes a popup notification by swiping it away"/>
<variant name="Popup.ExpireToTray"
summary="A popup notification times out and is hidden (but still
visible in the message center)"/>
<variant name="Popup.Hover"
summary="User hover on the body of a popup notification"/>
<variant name="Popup.InlineReplySent"
summary="User sends an inline reply in a popup notification"/>
<variant name="Popup.SettingsShown.HoverControls"
summary="User opens the settings of a popup notification by clicking on
the hover button"/>
<variant name="Popup.Shown" summary="A popup notification is shown"/>
<variant name="Popup.Snoozed.HoverControls"
summary="User clicks on the snooze button of a popup notification"/>
<variant name="Tray.ClickedActionButton"
summary="User clicks on the action button of a notification in the tray"/>
<variant name="Tray.ClickedBody"
summary="User clicks on the body of a notification in the tray"/>
<variant name="Tray.ClosedByClearAll"
summary="A tray notification is closed after the user clicks on the
Clear All button (note that this is logged for each
notification dismissed)"/>
<variant name="Tray.ClosedByUser.Click"
summary="User closes a tray notification by clicking on the close
button"/>
<variant name="Tray.ClosedByUser.Swipe"
summary="User closes a tray notification by swiping it away"/>
<variant name="Tray.Hover"
summary="User hover on the body of a notification in the tray"/>
<variant name="Tray.InlineReplySent"
summary="User sends an inline reply for a tray notification"/>
<variant name="Tray.SettingsShown.HoverControls"
summary="User opens the settings by clicking on the hover button of a
tray notification"/>
<variant name="Tray.SettingsShown.SlideControls"
summary="User opens the settings by clicking on the slide settings
button of a tray notification"/>
<variant name="Tray.Snoozed.HoverControls"
summary="User snoozes a notification by clicking on the hover button of
a tray notification"/>
<variant name="Tray.Snoozed.SlideControls"
summary="User snoozes a notification by clicking on the snooze button
of a tray notification"/>
</variants>
<histogram name="Notifications.Actions" enum="NotificationActionType"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The actions taken on notifications, recorded every time they happen. This
histogram will record every single event that happens separately.
</summary>
</histogram>
<histogram name="Notifications.Android.Build" enum="BooleanSuccess"
expires_after="2024-01-14">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records whether we could successfully build a notification using Android's
Notification Builder. If unsuccessful, we will silently drop the
notification display request.
</summary>
</histogram>
<histogram
name="Notifications.Android.CachedChannelsStatusOnFirstGetRuleIterator"
enum="BooleanInitialized" expires_after="2024-12-31">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Recorded when the first GetRuleIterator() is called to retrieve notification
channel content settings, whether cached channels are initialized. This is
only recorded on non-incognito profile and is only recorded once per browser
session.
</summary>
</histogram>
<histogram name="Notifications.Android.JobIsAlreadyPending{IntentAction}"
enum="Boolean" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Recorded before a call to JobScheduler.schedule() in response to a
notification intent, and indicates whether there was a job already pending
with the same ID.
</summary>
<token key="IntentAction">
<variant name="" summary="Counts intents with every action."/>
<variant name=".PreUnsubscribe"
summary="Counts only intents with action PRE_UNSUBSCRIBE."/>
</token>
</histogram>
<histogram name="Notifications.Android.JobNativeStartupDuration{IntentAction}"
units="ms" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records how long native start-up took before dispatching a notification
event to the NotificationPlatformBridge. For completeness, a sample is
recorded also when native start-up was already partially or fully complete,
in which cases significantly shorter durations are expected. Only measured
on Android N and above.
</summary>
<token key="IntentAction">
<variant name="" summary="Counts intents with every action."/>
<variant name=".PreUnsubscribe"
summary="Counts only intents with action PRE_UNSUBSCRIBE."/>
</token>
</histogram>
<histogram name="Notifications.Android.JobPendingReason{IntentAction}"
enum="NotificationPendingJobReason" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
After a call to JobScheduler.schedule() to handle a notification click,
records whether the job ends up pending, and if so, the reason why. Recorded
only in Android U and later.
</summary>
<token key="IntentAction">
<variant name="" summary="Counts intents with every action."/>
<variant name=".PreUnsubscribe"
summary="Counts only intents with action PRE_UNSUBSCRIBE."/>
</token>
</histogram>
<histogram name="Notifications.Android.JobScheduleResult{IntentAction}"
enum="BooleanSuccess" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records wheher JobScheduler.schedule() succeeds when it is called to
schedule a job with the JobScheduler to handle a notification click.
</summary>
<token key="IntentAction">
<variant name="" summary="Counts intents with every action."/>
<variant name=".PreUnsubscribe"
summary="Counts only intents with action PRE_UNSUBSCRIBE."/>
</token>
</histogram>
<histogram name="Notifications.Android.JobStage{IntentAction}"
enum="NotificationJobStage" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
After a call to JobScheduler.schedule() to handle a notification click,
records a sample into a specific bucket whenever the job reaches a specific
stage.
</summary>
<token key="IntentAction">
<variant name="" summary="Counts intents with every action."/>
<variant name=".PreUnsubscribe"
summary="Counts only intents with action PRE_UNSUBSCRIBE."/>
</token>
</histogram>
<histogram name="Notifications.Android.JobStartDelay{IntentAction}" units="ms"
expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the delay between scheduling a job with the JobScheduler (with a
desired latency of 0ms, in response to a notification click) and receiving
the onStartJob callback. Only measured on Android N and above.
</summary>
<token key="IntentAction">
<variant name="" summary="Counts intents with every action."/>
<variant name=".PreUnsubscribe"
summary="Counts only intents with action PRE_UNSUBSCRIBE."/>
</token>
</histogram>
<histogram name="Notifications.Android.SitesChannel" enum="BooleanUsage"
expires_after="2025-01-26">
<owner>[email protected]</owner>
<summary>
Recorded when the Sites channel (which we hope to deprecate) is used as a
fallback, when a site-specific notification channel is expected to exist but
does not. Note, we only log when the sites channel is *used*, not when it is
not used.
</summary>
</histogram>
<histogram name="Notifications.AppNotificationStatus"
enum="NotificationAppStatus" expires_after="never">
<!-- expires-never: Indicates whether Chrome has notification permission. -->
<owner>[email protected]</owner>
<summary>
Records whether notifications are enabled for Chrome, as the Android app,
for each Web Notification that is being shown to the user.
</summary>
</histogram>
<histogram name="Notifications.Blocker.ScreenCapture.ClosedCount"
units="notifications" expires_after="2023-11-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of muted notifications that got closed programmatically (e.g. by
the developer via JS) during a screen capture session before they were shown
to the user. Logged once after each screen capture session ends.
This metric may be logged at possibly inappropriate times, such as when
system profiles are being used. We expect that the number of "0"
samples is likely an overestimate because of this. This issue is tracked in
crbug.com/1385455.
</summary>
</histogram>
<histogram name="Notifications.Blocker.ScreenCapture.MutedCount"
units="notifications" expires_after="2023-09-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of notifications that got muted during a screen capture session
instead of being shown to the user. This number might be higher than the
actual number of queued notifications at the end of a session as some
notifications might have been closed programmatically before that. Logged
once after each screen capture session ends.
This metric was expired between August 2022 and January 2023, and may be
missing data until M111.
This metric may be logged at possibly inappropriate times, such as when
system profiles are being used. We expect that the number of "0"
samples is likely an overestimate because of this. This issue is tracked in
crbug.com/1385455.
</summary>
</histogram>
<histogram name="Notifications.Blocker.ScreenCapture.ReplacedCount"
units="notifications" expires_after="2023-09-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of muted notifications that got replaced during a screen capture
session. The user will only see the final state of the notification without
the previous versions. Logged once after each screen capture session ends.
This metric may be logged at possibly inappropriate times, such as when
system profiles are being used. We expect that the number of "0"
samples is likely an overestimate because of this. This issue is tracked in
crbug.com/1385455.
</summary>
</histogram>
<histogram name="Notifications.Blocker.ScreenCapture.RevealDuration" units="ms"
expires_after="2023-07-09">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time from the start of a screen capture session until the user
decided to reveal notification content again. Only logged if and when the
user takes that action.
This metric was expired between June 2022 and January 2023, and may be
missing data until M111.
This metric may be logged at possibly inappropriate times, such as when
system profiles are being used. We expect that the number of "0"
samples is likely an overestimate because of this. This issue is tracked in
crbug.com/1385455.
</summary>
</histogram>
<histogram name="Notifications.Blocker.ScreenCapture.SessionDuration"
units="ms" expires_after="2023-11-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the length of a screen capture session. Notifications will be muted
initially but the user may reveal them during a session. This metric will be
logged after the screen capture session ends.
This metric was expired between December 2022 and January 2023, and may be
missing data until M111.
This metric may be logged at possibly inappropriate times, such as when
system profiles are being used. We expect that the number of "0"
samples is likely an overestimate because of this. This issue is tracked in
crbug.com/1385455.
</summary>
</histogram>
<histogram name="Notifications.Blocker.ScreenCapture.SnoozedCount"
units="notifications" expires_after="2023-07-09">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of snoozed notifications that got prevented from showing up on
screen during a screen capture session. This means that the user clicked on
the "Snooze" action of a muted notification and continued to
receive notifications but we queued them without notifying the user at all.
Logged once after each screen capture session ends.
This metric was expired between August 2022 and January 2023, and may be
missing data until M111.
This metric may be logged at possibly inappropriate times, such as when
system profiles are being used. We expect that the number of "0"
samples is likely an overestimate because of this. This issue is tracked in
crbug.com/1385455.
</summary>
</histogram>
<histogram name="Notifications.Chime.Android.Events" enum="ChimeEvent"
expires_after="never">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<!-- expires-never: Monitors Chime notification stability. -->
<summary>
Various events when Chrome interacts with Chime notification platform.
Recorded when Chrome registers to Chime service, receives notifications, and
the user interacts with the notification.
</summary>
</histogram>
<histogram name="Notifications.Chime.Android.Registration"
enum="BooleanSuccess" expires_after="never">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<!-- expires-never: Monitors Chime notification stability. -->
<summary>
Records the result of Chime notification platform registration. Each device
may have multiple accounts registered. The registration happens right after
opening Chrome.
</summary>
</histogram>
<histogram name="Notifications.Cros.Actions.{NotificationAction}"
enum="NotificationTypeDetailed" expires_after="2025-02-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the notification type when a notification interaction occurs:
{NotificationAction}. ChromeOS only.
</summary>
<token key="NotificationAction" variants="NotificationAction"/>
</histogram>
<histogram
name="Notifications.Cros.Actions.{NotificationAction}.GroupedByCatalog"
enum="NotificationCatalogName" expires_after="2025-03-10">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the notification catalog name when a notification interaction
occurs: {NotificationAction}. ChromeOS only.
</summary>
<token key="NotificationAction" variants="NotificationAction"/>
</histogram>
<histogram name="Notifications.Database.DeleteAllForOriginsResult"
enum="NotificationDatabaseStatus" expires_after="M98">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result status codes of deleting all notification data for given
origins. This happens when notification permissions are revoked for a site.
</summary>
</histogram>
<histogram name="Notifications.Database.DeleteBeforeWriteResult"
enum="NotificationDatabaseStatus" expires_after="2024-01-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result status codes of deleting notification data from the Web
Notification database that share their tag (replacement identifier) with a
notification that's about to be shown.
This metric was expired between May 2022 and July 2023 and may be missing
data.
</summary>
</histogram>
<histogram name="Notifications.Database.DeleteResult"
enum="NotificationDatabaseStatus" expires_after="2024-01-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result status codes of deleting notification data from the Web
Notification database.
This metric was expired between May 2022 and July 2023 and may be missing
data.
</summary>
</histogram>
<histogram name="Notifications.Database.DestroyResult"
enum="NotificationDatabaseStatus" expires_after="2024-01-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result status codes of destroying the Web Notification database
altogether.
This metric was expired between May 2022 and July 2023 and may be missing
data.
</summary>
</histogram>
<histogram name="Notifications.Database.ExpiredNotificationCount"
units="notifications" expires_after="2023-10-22">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of expired notifications that were stored in the database
and therefore got removed and closed on the system. Logged once at startup
and every time we synchronize notifications after that (e.g. to schedule the
next notification trigger event).
</summary>
</histogram>
<histogram name="Notifications.Database.OldestNotificationTimeInMinutes"
units="minutes" expires_after="2022-04-17">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the age of the oldest notification for an origin. Logged after
handling a push event for that origin.
</summary>
</histogram>
<histogram name="Notifications.Database.OpenAfterCorruptionResult"
enum="NotificationDatabaseStatus" expires_after="2024-01-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result status codes of opening the Web Notification database
after it has been destroyed in response to data corruption.
This metric was expired between May 2022 and July 2023 and may be missing
data.
</summary>
</histogram>
<histogram name="Notifications.Database.OpenResult"
enum="NotificationDatabaseStatus" expires_after="never">
<!-- expires-never: core storage metric; consumed in separate dashboard (go/chrome-storage-dashboard) -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result status codes of opening the Web Notification database.
This metric may be logged at possibly inappropriate times, such as when
system profiles are being used, for which the notification database is
usually not required. This issue is tracked in crbug.com/1385455.
</summary>
</histogram>
<histogram name="Notifications.Database.ReadForServiceWorkerResult"
enum="NotificationDatabaseStatus" expires_after="2024-01-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result status codes of reading data of all notifications
associated with a Service Worker from the Web Notification database.
This metric was expired between May 2022 and July 2023 and may be missing
data.
</summary>
</histogram>
<histogram name="Notifications.Database.ReadResult"
enum="NotificationDatabaseStatus" expires_after="2023-06-18">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result status codes of reading data of a single notification
from the Web Notification database.
</summary>
</histogram>
<histogram name="Notifications.Database.WriteResult"
enum="NotificationDatabaseStatus" expires_after="2023-04-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result status codes of writing data for a notification to the
Web Notification database.
</summary>
</histogram>
<histogram name="Notifications.LoadProfileResult" enum="BooleanSuccess"
expires_after="2022-04-17">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the result of loading the profile when forwarding a notification
event. Logged on each notification action (click, close, settings, disable)
on platforms that use system notifications (not on Chrome OS or when we're
using Chrome's notifications).
</summary>
</histogram>
<histogram name="Notifications.macOS.AppShimProcess.UptimeOnDisconnect"
units="ms" expires_after="2025-03-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The uptime of the notification service in an app shim (PWA) process. Logged
when the connection to the service in an app shim process is lost, either on
purpose or because the connection was lost unexpectedly.
</summary>
</histogram>
<histogram
name="Notifications.macOS.AppShimProcess.UptimeOnUnexpectedDisconnect"
units="ms" expires_after="2025-03-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The uptime of the notification service in an app shim (PWA) process before
it got killed unexpectedly (for example crashed). Logged when the connection
to the notification service in the app shim process dies, and this wasn't
because the user closed the app nor because chrome initiated the disconnect.
</summary>
</histogram>
<histogram name="Notifications.macOS.ServiceProcessKilled" units="ms"
expires_after="2024-08-07">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The uptime of the macOS notification service process to display alerts
before it got killed unexpectedly. Logged when the service process dies.
This histogram was expired between 2022-08-07 and 2023-09-06. Data might be
missing or incomplete for this period.
</summary>
</histogram>
<histogram name="Notifications.macOS.ServiceProcessRuntime" units="ms"
expires_after="2024-08-14">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The uptime of the macOS notification service process to display alerts.
Logged when we close the connection to the service process either on purpose
or after it got killed unexpectedly.
This histogram was expired between 2022-08-14 and 2023-09-06. Data might be
missing or incomplete for this period.
</summary>
</histogram>
<histogram name="Notifications.NonPersistentNotificationThirdPartyCount"
enum="Boolean" expires_after="2025-02-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of non-persistent notifications that are displayed from a
third-party context. Logged from
BlinkNotificationServiceImpl::DisplayNonPersistentNotification after the
notification passes the permissions check.
</summary>
</histogram>
<histogram name="Notifications.NotificationHelper.ComServerModuleStatus"
enum="NotificationHelperComServerModuleStatus" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The execute status of a ComServerModule class instance. Logged whenever a
notification_helper process is launched by Windows. Note: Not logged after
M87 until end of August 2022.
</summary>
</histogram>
<histogram
name="Notifications.NotificationHelper.NotificationActivatorPrimaryStatus"
enum="NotificationHelperNotificationActivatorPrimaryStatus"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The primary execute status of NotificationActivator::Activate. Logged
whenever a notification_helper process is launched by Windows. Note: Not
logged after M85 until end of August 2022, and also not at the beginning of
Sept 2023.
</summary>
</histogram>
<histogram
name="Notifications.NotificationHelper.NotificationActivatorSecondaryStatus"
enum="NotificationHelperNotificationActivatorSecondaryStatus"
expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The secondary execute status of NotificationActivator::Activate. Logged
whenever a notification_helper process is launched by Windows. Note: Not
logged after M85 until end of August 2022, and also not at the beginning of
Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.NotificationHelper.ServerRuntime" units="ms"
expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The runtime of the notification_helper server process. This process is
created when a notification is activated from the Windows Action Center.
Once created, this process does some COM class registration work, so that
Windows can call certain APIs to handle the notification activation. Upon
finishing the API calls, Windows signals this process to exit. Note: Not
logged after M87 until end of August 2022, and also not at the beginning of
Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.NotifierType" enum="NotifierType"
expires_after="2024-01-14">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of times a notification was added for the various types of
sources.
</summary>
</histogram>
<histogram name="Notifications.Permissions.RevokeDeleteCount" units="units"
expires_after="2022-08-28">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The number of notifications that got deleted from the NotificationDatabase
after the notification permissions got revoked.
</summary>
</histogram>
<histogram
name="Notifications.Permissions.UNNotification.{Style}.PermissionRequest"
enum="UNNotificationPermissionRequestResult" expires_after="M134">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The permission request result for sending out UNNotifications through the
MacNotificationServiceUN. This is recorded when instantiating the service
which happens at Chrome startup and each time we start the service after
shutting it down when there were no more notifications on screen.
</summary>
<token key="Style" variants="MacOSNotificationStyle"/>
</histogram>
<histogram
name="Notifications.Permissions.UNNotification.{Style}.PermissionStatus"
enum="UNNotificationPermissionStatus" expires_after="M134">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The permission status for sending out UNNotifications through the
MacNotificationServiceUN. This is recorded when instantiating the service
which happens at Chrome startup and each time we start the service after
shutting it down when there were no more notifications on screen.
</summary>
<token key="Style" variants="MacOSNotificationStyle"/>
</histogram>
<histogram name="Notifications.Permissions.UNNotification.{Style}.Style"
enum="UNNotificationStyle" expires_after="M134">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The style of notifications being used for sending out UNNotifications
through the MacNotificationServiceUN. This is recorded when instantiating
the service which happens at Chrome startup and each time we start the
service after shutting it down when there were no more notifications on
screen.
</summary>
<token key="Style" variants="MacOSNotificationStyle"/>
</histogram>
<histogram name="Notifications.PerNotificationActions"
enum="NotificationActionType" expires_after="2025-02-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The actions taken on notifications, recorded once per notification, when it
is closed. This differs from the Notifications.Actions histogram in that
multiple events of the same type on a single notification will only record a
single UMA event.
</summary>
</histogram>
<histogram name="Notifications.Persistent.Actions.Action.SizeInBytes"
units="bytes" expires_after="2023-10-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The action label size of one of the notification's actions.</summary>
</histogram>
<histogram name="Notifications.Persistent.Actions.Icon.SizeInBytes"
units="bytes" expires_after="2023-10-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The icon (URL) size of one of the notification's actions.</summary>
</histogram>
<histogram name="Notifications.Persistent.Actions.Placeholder.SizeInBytes"
units="bytes" expires_after="2023-10-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The placeholder size of one of the notification's actions.</summary>
</histogram>
<histogram name="Notifications.Persistent.Actions.Title.SizeInBytes"
units="bytes" expires_after="2023-10-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The title size of one of the notification's actions.</summary>
</histogram>
<histogram name="Notifications.Persistent.Badge.SizeInBytes" units="bytes"
expires_after="2023-10-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The size of the notification's badge (URL).</summary>
</histogram>
<histogram name="Notifications.Persistent.Body.SizeInBytes" units="bytes"
expires_after="2023-10-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The size of the notification's body.</summary>
</histogram>
<histogram name="Notifications.Persistent.Data.SizeInBytes" units="bytes"
expires_after="2023-10-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The size of the notification's data field.</summary>
</histogram>
<histogram name="Notifications.Persistent.Icon.SizeInBytes" units="bytes"
expires_after="2023-10-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The size of the notification's icon (URL).</summary>
</histogram>
<histogram name="Notifications.Persistent.Image.SizeInBytes" units="bytes"
expires_after="2023-10-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The size of the notification's image (URL).</summary>
</histogram>
<histogram name="Notifications.Persistent.Origin.SizeInBytes" units="bytes"
expires_after="2023-10-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The size of the notification's origin.</summary>
</histogram>
<histogram name="Notifications.Persistent.Title.SizeInBytes" units="bytes"
expires_after="2023-10-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The size of the notification's title.</summary>
</histogram>
<histogram name="Notifications.PersistentNotificationActionCount"
units="buttons" expires_after="2025-01-05">
<owner>[email protected]</owner>
<summary>
The number of action buttons the developer provided for a persistent Web
Notification. Logged whenever showNotification is called.
</summary>
</histogram>
<histogram name="Notifications.PersistentNotificationDisplayResult"
enum="PersistentNotificationDisplayResult" expires_after="2023-04-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The result of the promise returned by showNotification. Logged whenever
showNotification is called.
</summary>
</histogram>
<histogram name="Notifications.PersistentNotificationThirdPartyCount"
enum="Boolean" expires_after="2025-02-08">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of persistent notifications that are displayed from a
third-party context. Logged from
BlinkNotificationServiceImpl::DisplayPersistentNotification after the
notification passes the permissions check.
</summary>
</histogram>
<histogram name="Notifications.PersistentWebNotificationClickResult"
enum="PlatformNotificationStatus" expires_after="2023-04-23">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Recorded delivery status for persistent notification clicks to a Service
Worker when handling a click on a persistent WebNotification has finished.
</summary>
</histogram>
<histogram name="Notifications.PersistentWebNotificationCloseResult"
enum="PlatformNotificationStatus" expires_after="2022-09-11">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records delivery status for persistent notification close events sent to a
Service Worker when the event has been handled.
</summary>
</histogram>
<histogram name="Notifications.Scheduler.BackgroundTask.NotificationShown"
units="notifications" expires_after="2023-06-04">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the number of notifications shown in each background task run.
</summary>
</histogram>
<histogram name="Notifications.Scheduler.NotificationLifeCycleEvent"
enum="NotificationSchedulerNotificationLifeCycleEvent"
expires_after="2023-03-05">
<!-- Name completed by histogram_suffixes name="NotificationSchedulerClientType" -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records life cycle events for a scheduled notification, when notification is
scheduled, shown or encountering any error.
</summary>
</histogram>
<histogram name="Notifications.UsingSystemNotificationCenter"
enum="BooleanSystemNotifications" expires_after="never">
<!-- expires-never: core to the notification user experience. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Indicates if Chrome is using system notifications or the Chrome notification
center. Logged on each start up.
</summary>
</histogram>
<histogram name="Notifications.WebPlatformV2.{Action}.TimeToActivity"
units="ms" expires_after="M112">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the delay between the user clicking on the {Action} of a web
platform notification, and an Activity being launched. Only records if the
duration is less than 10 seconds.
</summary>
<token key="Action">
<variant name="ActionButton" summary="action button"/>
<variant name="Body" summary="body"/>
</token>
</histogram>
<histogram name="Notifications.WebPlatformV2.{Action}.TimeToClose" units="ms"
expires_after="M112">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the delay between the user clicking on the {Action} of a web
platform notification, and the notification being closed. Only records if
the duration is less than 10 seconds.
</summary>
<token key="Action">
<variant name="ActionButton" summary="action button"/>
<variant name="Body" summary="body"/>
</token>
</histogram>
<histogram name="Notifications.Windows.ActivationStatus"
enum="WindowsNotificationActivationStatus" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of Activation requests in NotificationPlatformBridgeWin (Windows
only). Logged whenever an activation from a notification occurs. Note: Not
logged from January 2021 to end of August 2022.
</summary>
</histogram>
<histogram name="Notifications.Windows.CloseStatus"
enum="WindowsNotificationCloseStatus" expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of Close requests in NotificationPlatformBridgeWin (Windows
only). Logged whenever a notification is closed. Note: Not logged after M98
until end of August 2022, and also not at the beginning of Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.CreateToastManagerErrorCode"
enum="Hresult" expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The HRESULT returned by the Windows Action Center, when trying to create a
toast manager fails. This provides a more detailed error in the cases the
histogram Notifications.Windows.DisplayStatus reported
CREATE_TOAST_NOTIFIER_WITH_ID_FAILED. Note: Not logged after M89 until end
of August 2022, and also not at the beginning of Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.DisplayFailure" enum="Hresult"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The HRESULT returned by the Windows Action Center, when showing a
notification fails. Note: Not logged at the beginning of Sept 2023
</summary>
</histogram>
<histogram name="Notifications.Windows.DisplayStatus"
enum="WindowsNotificationDisplayStatus" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of Display requests in NotificationPlatformBridgeWin (Windows
only). Logged whenever a notification is displayed. For a more detailed
error about CREATE_TOAST_NOTIFIER_WITH_ID_FAILED and SHOWING_TOAST_FAILED,
see Notification.Windows histograms CreateToastManagerErrorCode and
ShowFailedErrorCode (respectively). Note: Not logged between January 2022
until end of August 2022.
</summary>
</histogram>
<histogram name="Notifications.Windows.GetDisplayedLaunchIdStatus"
enum="WindowsNotificationGetDisplayedLaunchIdStatus"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of decoding launch ids while processing a GetDisplayed requests
in NotificationPlatformBridgeWin (Windows only). Logged whenever a request
to retrieve all displayed notifications comes in. Note: Not logged after M98
until end of August 2022, and also not at the beginning of Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.GetDisplayedStatus"
enum="WindowsNotificationGetDisplayedStatus" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of GetDisplayedStatus requests in NotificationPlatformBridgeWin
(Windows only). Logged whenever a request to retrieve all displayed
notifications comes in. Note: Not logged after M98 until end of August 2022,
and also not at the beginning of Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.GetNotificationLaunchIdStatus"
enum="WindowsNotificationGetNotificationLaunchIdStatus"
expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of GetNotificationLaunchId requests in
NotificationPlatformBridgeWin (Windows only). Logged whenever a request to
decode the GetNotificationLaunchId comes in. Note: Not logged between
January 2022 until end of August 2022, and also not at the beginning of Sept
2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.GetSettingPolicy"
enum="WindowsNotificationGetSettingPolicy" expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The policy value provided by get_Setting in NotificationPlatformBridgeWin
(Windows only). Logged whenever a request to show a notification comes in.
Note: Not logged after M98 until end of August 2022, and not at the
beginning of Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.GetSettingPolicyStartup"
enum="WindowsNotificationGetSettingPolicy" expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The policy value provided by get_Setting in NotificationPlatformBridgeWin
(Windows only). Logged only once at startup on a task runner. Note: Not
logged at the beginning of Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.GetSettingStatus"
enum="WindowsNotificationGetSettingStatus" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The return value of get_Setting calls in NotificationPlatformBridgeWin
(Windows only). Logged whenever a request to show a notification comes in.
Note: Not logged at the beginning of Sept 2023
</summary>
</histogram>
<histogram name="Notifications.Windows.GetSettingStatusStartup"
enum="WindowsNotificationGetSettingStatus" expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The return value of get_Setting calls in NotificationPlatformBridgeWin
(Windows only). Logged only once at startup on a task runner. Note: Not
logged at the beginning of Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.HandleEventStatus"
enum="WindowsNotificationHandleEventStatus" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of HandleEvent requests in NotificationPlatformBridgeWin (Windows
only). Logged whenever a notification event is being handled. Note: Not
logged between January 2022 and end of August 2022, and not at the beginning
of Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.HistoryStatus"
enum="WindowsNotificationHistoryStatus" expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of History requests in NotificationPlatformBridgeWin (Windows
only). Logged whenever history is requested for notifications. Note: Not
logged after M98 until end of August 2022, and also not at the beginning of
Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.LaunchIdDecodeStatus"
enum="WindowsNotificationLaunchIdDecodeStatus" expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Used to indicate the status of decoding an input launch id string (Windows
only). Logged whenever a notification event is being handled. Note: Not
logged after M87 until end of August 2022, and also not at the beginning of
Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.OnFailedStatus"
enum="WindowsNotificationOnFailedStatus" expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of OnFailed requests in NotificationPlatformBridgeWin (Windows
only). Logged whenever a failed event is handled. Note: Not logged after M98
until end of August 2022, and also not at the beginning of Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.SetReadyCallbackStatus2"
enum="WindowsNotificationSetReadyCallbackStatus2"
expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The status of SetReadyCallback requests in NotificationPlatformBridgeWin
(Windows only). Logged once at startup. Note: Not logged after M98 until end
of August 2022, and also not at the beginning of Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.ShowFailedErrorCode" enum="Hresult"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
The HRESULT returned by the Windows Action Center, when trying to create a
toast manager fails. This provides a more detailed error in the cases the
histogram Notifications.Windows.DisplayStatus reported SHOWING_TOAST_FAILED.
Note: Not logged after M98 until end of August 2022, and not at the
beginning of Sept 2023.
</summary>
</histogram>
<histogram name="Notifications.Windows.StartMenuShortcutStatus"
enum="WindowsNotificationStartMenuShortcutStatus"
expires_after="2024-09-01">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Used to indicate the status of start menu shortcut (Windows only). Logged
whenever a notification display attempt is made. Note: Not logged after M98
until end of August 2022, and also not at the beginning of Sept 2023.
</summary>
</histogram>
</histograms>
</histogram-configuration>