chromium/tools/metrics/histograms/metadata/gcm/histograms.xml

<!--
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>