<!--
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 GCM 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="GCM.AccountMappingMessageReceived" enum="BooleanReceived"
expires_after="2022-01-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records that a message has been received from a delivery channel powered by
the GCM account mappings.
</summary>
</histogram>
<histogram name="GCM.CheckinRequestStatus" enum="GCMCheckinRequestStatus"
expires_after="2024-11-12">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Status code of the outcome of a GCM checkin request. Warning: this histogram
was expired from 2023-11-12 to 2024-01-17; data may be missing.
</summary>
</histogram>
<histogram name="GCM.ClientStartDelay" units="ms" expires_after="2025-01-26">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time for which GCM client start task has been delayed. Recorded
whenever GCM client is requested to start.
</summary>
</histogram>
<histogram name="GCM.ConnectionHandlerNetCode" enum="NetErrorCodes"
expires_after="2025-01-17">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records network error code for the ConnectionHandler whenever a connection
is established or there is a socket error.
</summary>
</histogram>
<histogram name="GCM.Crypto.DecryptMessageResult" enum="GCMDecryptionResult"
expires_after="never">
<!-- expires-never: Used to monitor push encryption and debug issues. -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Result of decryption on a received GCM message, which includes unencrypted
messages, successfully decrypted messages and decryption failures.
</summary>
</histogram>
<histogram name="GCM.Crypto.RemoveKeySuccessRate" enum="BooleanSuccess"
expires_after="M94">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Success rate of removing keying material from the GCM key store.
</summary>
</histogram>
<histogram name="GCM.Database.Open" enum="LevelDBStatus" expires_after="never">
<!-- expires-never: core storage metric; consumed in separate dashboard (go/chrome-storage-dashboard) -->
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>The result of a database open attempt by the GCM store.</summary>
</histogram>
<histogram name="GCM.DelayedTaskControlledReadyTime" units="ms"
expires_after="2025-01-19">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records the time for which tasks in GCM driver were delayed. Recorded once
GCM driver is ready (normally this means that GCM client is initialized).
</summary>
</histogram>
<histogram name="GCM.DeliveredToAppHandler{AppHandler}" enum="BooleanDelivered"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Whether a received GCM message could be delivered to an app handler
({AppHandler}). Recorded for each received GCM message that didn't have
encryption issues. This metric was expired between July 2021 and January
2023, and may be missing data until M111.
</summary>
<token key="AppHandler">
<variant name="" summary="all handlers"/>
<variant name=".FcmInvalidations" summary="FCM invalidations"/>
<variant name=".SyncInvalidations" summary="Sync standalone invalidations"/>
</token>
</histogram>
<histogram name="GCM.MCSClientConnectionNetworkCode" enum="NetErrorCodes"
expires_after="2025-01-17">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Records network error code for MCS client connection whenever a connection
attempt is finished (e.g. after a network change, connection reset, etc).
</summary>
</histogram>
<histogram name="GCM.MessageValid" enum="BooleanSuccess"
expires_after="2025-02-16">
<owner>[email protected]</owner>
<summary>
Records whether or not a received GCM message is valid and will proceed to
running a background task.
</summary>
</histogram>
<histogram name="GCM.RegistrationCacheStatus" enum="GCMRegistrationCacheStatus"
expires_after="2023-04-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Reports the status of cached GCM registration. This is recorded when a new
registration request is considered on the GCM client.
</summary>
</histogram>
<histogram name="GCM.RegistrationRequest" units="requests"
expires_after="2023-04-16">
<owner>[email protected]</owner>
<summary>
Number of registration requests sent to Google Cloud Messaging. Recorded
immediately after the request has started.
</summary>
</histogram>
<histogram name="GCM.RegistrationRequest.NetErrorCode" enum="NetErrorCodes"
expires_after="2023-04-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Net error code from a GCM registration attempt. Recorded when URL loading
completes.
</summary>
</histogram>
<histogram name="GCM.RegistrationRequestStatus"
enum="GCMRegistrationRequestStatus" expires_after="2025-02-10">
<owner>[email protected]</owner>
<summary>
Status code of the outcome of a GCM registration request. The Unknown error
case was split up in M56 (merged mid-beta to M55) to separate out the
Response parsing failed, Internal server error, Quota exceeded, and Device
has too many registrations cases.
</summary>
</histogram>
<histogram name="GCM.SendWebPushMessageResult" enum="SendWebPushMessageResult"
expires_after="2025-01-05">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Result of sending web push messages. Recorded when the message has either
been sent, or has been dropped because an error happened.
</summary>
</histogram>
<histogram name="GCM.StoreSizeKB" units="KB" expires_after="2022-01-16">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Size of the GCM persistent store in kilobytes at startup. Warning: this
histogram was expired from 2018-08-30 to 2021-09-20; data may be missing.
</summary>
</histogram>
<histogram name="GCM.WebPushReceived.DeviceState" enum="WebPushDeviceState"
expires_after="2022-01-02">
<owner>[email protected]</owner>
<owner>[email protected]</owner>
<summary>
Device state when receiving a web push message. Indicates if the message was
sent with a high priority and if the device was in idle mode. Recorded when
a web push message got received.
</summary>
</histogram>
</histograms>
</histogram-configuration>