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

<!--
Copyright 2022 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 ChromeOS clipboard-related
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="Ash.Clipboard.ConsecutiveCopies" units="times"
    expires_after="2024-06-01">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of consecutive copies in the user session. Recorded when a paste
    occurs.

    Warning: This histogram was expired from 2021-09-01 to 2022-01-05; data may
    be missing.
  </summary>
</histogram>

<histogram name="Ash.Clipboard.ConsecutivePastes" units="times"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of consecutive pastes in the user session. Includes pastes from
    clipboard history. Recorded when a copy occurs.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ConsecutivePastes" units="times"
    expires_after="2024-08-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of consecutive pastes from the clipboard history menu in the user
    session. Recorded at the time of a copy or a paste that is not through the
    clipboard history menu, such as pressing Ctrl+V or using a context menu's
    Paste option.

    Warning: This histogram was expired from 2022-01-02 to 2022-01-05; data may
    be missing.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ContextMenu.DisplayFormatDeleted"
    enum="ClipboardHistoryDisplayFormat" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The data format of an item deleted from the clipboard history menu. Recorded
    when the user deletes an item.

    Note: Prior to M112, this histogram erroneously recorded two samples when an
    item was deleted by clicking the delete button. Deleting an item using the
    Backspace key correctly recorded one sample.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ContextMenu.DisplayFormatPasted"
    enum="ClipboardHistoryDisplayFormat" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The data format of an item pasted from the clipboard history menu. Recorded
    when the user pastes an item.

    Note: Prior to M112, this histogram erroneously recorded samples only when
    an item was pasted by clicking or pressing Enter with an item selected.
    Other methods of pasting, such as toggling the menu closed or using the
    virtual keyboard, were not counted at all.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ContextMenu.DisplayFormatShown"
    enum="ClipboardHistoryDisplayFormat" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The data format of an item shown in the clipboard history menu. Recorded
    when the item's view is created.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ContextMenu.MenuOptionSelected"
    units="index" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The index of a clipboard history menu item selected by the user. Recorded
    when the item is selected.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ContextMenu.NumberOfItemsShown"
    units="Items Shown" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of items shown in the clipboard history menu. Recorded each time
    the menu is shown.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ContextMenu.ShowMenu"
    enum="ClipboardHistoryTriggerType" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The way a user made the clipboard history menu show. Recorded each time the
    menu is shown.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ContextMenu.UserJourneyTime" units="ms"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The length of time between the user opening the clipboard history menu and
    the menu closing. Recorded every time the clipboard history menu is closed,
    regardless of whether the user selected one of the menu's options.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ControlToVDelayV2" units="ms"
    expires_after="2024-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time between a user's Ctrl key press and the user's V key press when
    pasting via keyboard. Recorded when V is pressed. Only recorded for the
    first V press in a sequence. Sample scenario: User holds Ctrl, waits 200ms,
    presses V (histogram entry recorded), and presses V again without releasing
    Ctrl (no histogram entry recorded).

    Note: Version 1 of this histogram incorrectly recorded the Ctrl pressed time
    in some cases such that it seemed closer to the V pressed time than it
    really was. This histogram's entries are more accurate.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ControlVHeldTime" units="ms"
    expires_after="2024-08-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The time between a user's V key press in a Ctrl+V sequence and the end of
    the paste. Recorded when Ctrl is released, V is released, or a different key
    is pressed.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ImageModelRequest.Lifetime" units="ms"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The lifetime of a request created by the clipboard image model factory. This
    factory reuses one request object for disinct logical requests until no new
    rendering requests are issued for some period of time, at which point the
    request object is deemed idle and destroyed. Recorded when a request object
    is destroyed, either because it was idle or the system is shutting down.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ImageModelRequest.Runtime" units="ms"
    expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The delay between the issue time of a request to render a clipboard history
    item preview and the request's completion time. Recorded when a rendering
    request finishes.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ImageModelRequest.StopReason"
    enum="RequestStopReason" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The end result of a request to render an image preview for the clipboard
    history menu. Recorded when a request finishes, whether successful or not.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.Nudges.{NudgeType}.ShownCount"
    enum="BooleanHit" expires_after="2024-12-08">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of times the clipboard history {NudgeType} has been shown.
    Recorded when the {NudgeType} is shown.

    This histogram can be used in conjunction with the ToFeatureOpen and
    ToFeaturePaste histograms to understand a nudge's efficacy in getting users
    to engage with the feature.
  </summary>
  <token key="NudgeType">
    <variant name="DuplicateCopyNudge" summary="duplicate copy nudge"/>
    <variant name="OnboardingNudge" summary="onboarding nudge"/>
    <variant name="ScreenshotNotificationNudge"
        summary="screenshot notification nudge"/>
    <variant name="ZeroStateNudge" summary="zero state nudge"/>
  </token>
</histogram>

<histogram
    name="Ash.ClipboardHistory.Nudges.{NudgeType}.ToFeature{Action}TimeV2"
    units="seconds" expires_after="2024-10-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The delay between the user being shown the clipboard history {NudgeType} and
    the user's {Action} action. Recorded at the time of the {Action}.

    Note: Version 1 of this histogram counted opening the clipboard history menu
    via context menu as an &quot;open&quot; action. However, the nudges suggest
    opening clipboard history via accelerator; they do not mention a context
    menu option. This histogram only records opens that the nudge may have
    actually led to.
  </summary>
  <token key="NudgeType">
    <variant name="DuplicateCopyNudge" summary="duplicate copy nudge"/>
    <variant name="OnboardingNudge" summary="onboarding nudge"/>
    <variant name="ScreenshotNotificationNudge"
        summary="screenshot notification nudge"/>
    <variant name="ZeroStateNudge" summary="zero state nudge"/>
  </token>
  <token key="Action">
    <variant name="Open" summary="opening the clipboard history menu"/>
    <variant name="Paste" summary="pasting from the clipboard history menu"/>
  </token>
</histogram>

<histogram name="Ash.ClipboardHistory.Operation"
    enum="ClipboardHistoryOperation" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    An operation such as a copy or paste detected by clipboard history. Recorded
    after any duplicate clipboard operations are debounced in clipboard history.

    The total number of copies and pastes in this histogram differ from the
    Clipboard.Write and Clipboard.Read histograms, respectively, because
    clipboard history debounces operations before emitting to this histogram. As
    a result, clipboard history avoids recording programmatic clipboard reads
    and writes that do not correspond to user actions.

    Warning: This histogram was expired from 2022-01-02 to 2022-01-05; data may
    be missing.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.PasteSource"
    enum="ClipboardHistoryTriggerType" expires_after="2024-10-06">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The way a user made the clipboard history menu show before selecting an item
    from that menu to paste. Recorded when an item is pasted from clipboard
    history.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.PasteType"
    enum="ClipboardHistoryPasteType" expires_after="2025-02-10">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The type (plain vs. rich text) and input source of a clipboard history
    paste. Recorded when an item is pasted from clipboard history.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.ReorderType"
    enum="ClipboardHistoryReorderType" expires_after="2024-08-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The operation (copy or paste) initiating a clipboard history reorder.
    Recorded each time the clipboard history list is reordered.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.UrlTitleFetcher.IsPrimaryProfileActive"
    enum="BooleanActive" expires_after="2024-08-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether the primary user profile is also the active user profile. Recorded
    when the primary profile is retrieved for the purpose of querying its
    browsing history.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.UrlTitleFetcher.NumProfiles"
    units="count" expires_after="2024-08-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    The number of user profiles added to the current session. Recorded when the
    primary profile is retrieved for the purpose of querying its browsing
    history.
  </summary>
</histogram>

<histogram name="Ash.ClipboardHistory.UrlTitleFetcher.UrlFound"
    enum="BooleanHit" expires_after="2024-08-04">
  <owner>[email protected]</owner>
  <owner>[email protected]</owner>
  <summary>
    Whether the primary user has a browsing history entry for a piece of text
    that they copied. Recorded on retrieval of a result from the history service
    API, after already verifying that the current session has exactly one user.
  </summary>
</histogram>

</histograms>

</histogram-configuration>