<structured-metrics>

<project name="FastPair">
  <owner>jackshira@chromium.org</owner>
  <owner>chromeos-cross-device-eng@google.com</owner>
  <id>none</id>
  <scope>profile</scope>
  <key-rotation>30</key-rotation>
  <summary>
    Metrics for the ChromeOS Fast Pair implementation.
  </summary>

  <event name="DiscoveryNotificationShown">
    <summary>
      The user is shown a notification which can start the pairing process.
    </summary>
    <metric name="Protocol" type="int">
      <summary>
        The pairing protocol of the discovered device.
      </summary>
    </metric>
    <metric name="FastPairVersion" type="int">
      <summary>
        The Fast Pair spec version the device implements.
      </summary>
    </metric>
    <metric name="ModelId" type="int">
      <summary>
        The model ID of the discovered device.
      </summary>
    </metric>
    <metric name="RSSI" type="int">
      <summary>
        The inquiry RSSI of the discovered device, recorded at the time of metrics
        emission, with a range of -128 to 127. If inquiry RSSI is unknown,
        we report -129.
      </summary>
    </metric>
    <metric name="TxPower" type="int">
      <summary>
        The inquiry TxPower of the discovered device, recorded at the time of
        metrics emission, with a range of -128 to 127. If inquiry TxPower is
        unknown, we report -129.
      </summary>
    </metric>
  </event>

  <event name="PairingStart">
    <summary>
      The starting of the pairing process.
    </summary>
    <metric name="Protocol" type="int">
      <summary>
        The pairing protocol being started.
      </summary>
    </metric>
    <metric name="FastPairVersion" type="int">
      <summary>
        The Fast Pair spec version the device implements.
      </summary>
    </metric>
    <metric name="ModelId" type="int">
      <summary>
        The model ID of the device being paired.
      </summary>
    </metric>
    <metric name="RSSI" type="int">
      <summary>
        The inquiry RSSI of the pairing device, recorded at the time of metrics
        emission, with a range of -128 to 127. If inquiry RSSI is unknown,
        we report -129.
      </summary>
    </metric>
    <metric name="TxPower" type="int">
      <summary>
        The inquiry TxPower of the pairing device, recorded at the time of metrics
        emission, with a range of -128 to 127. If inquiry TxPower is
        unknown, we report -129.
      </summary>
    </metric>
  </event>

  <event name="PairingComplete">
    <summary>
      The end of the pairing process.
    </summary>
    <metric name="Protocol" type="int">
      <summary>
        The pairing protocol being started.
      </summary>
    </metric>
    <metric name="FastPairVersion" type="int">
      <summary>
        The Fast Pair spec version the device implements.
      </summary>
    </metric>
    <metric name="ModelId" type="int">
      <summary>
        The model ID of the device being paired.
      </summary>
    </metric>
    <metric name="RSSI" type="int">
      <summary>
        The inquiry RSSI of the paired device, recorded at the time of metrics
        emission, with a range of -128 to 127. If inquiry RSSI is unknown,
        we report -129.
      </summary>
    </metric>
    <metric name="TxPower" type="int">
      <summary>
        The inquiry TxPower of the paired device, recorded at the time of metrics
        emission, with a range of -128 to 127. If inquiry TxPower is
        unknown, we report -129.
      </summary>
    </metric>
  </event>

  <event name="PairFailure">
    <summary>
      The pairing process failed for the provided reason.
    </summary>
    <metric name="Protocol" type="int">
      <summary>
        The pairing protocol being started.
      </summary>
    </metric>
    <metric name="FastPairVersion" type="int">
      <summary>
        The Fast Pair spec version the device implements.
      </summary>
    </metric>
    <metric name="Reason" type="int">
      <summary>
        The pairing failure reason.
      </summary>
    </metric>
    <metric name="ModelId" type="int">
      <summary>
        The model ID of the device being paired.
      </summary>
    </metric>
  </event>
</project>

<project name="Hindsight">
  <owner>charleszhao@chromium.org</owner>
  <owner>tby@chromium.org</owner>
  <id>per-project</id>
  <scope>profile</scope>
  <key-rotation>90</key-rotation>
  <summary>
    Project for recording CrOSActions.
  </summary>

  <event name="CrOSActionEvent.FileOpened">
    <summary>
      Records whenever a file is opened in the File App on ChromeOS.
    </summary>
    <metric name="Filename" type="hmac-string">
      <summary>
        The absolute path of the file.
      </summary>
    </metric>
    <metric name="OpenType" type="int">
      <summary>
        The type of file open, defined in FileTaskObserver::OpenType.
      </summary>
    </metric>
    <metric name="SequenceId" type="int">
      <summary>
        Sequence of this action across all CrOSActionEvent.
      </summary>
    </metric>
    <metric name="TimeSinceLastAction" type="int">
      <summary>
        Time in milliseconds since last CrOSActionLogging.
      </summary>
    </metric>
  </event>

  <event name="CrOSActionEvent.SearchResultLaunched">
    <summary>
      Records information about the launch of an item from ChromeOS launcher.
    </summary>
    <metric name="Query" type="hmac-string">
      <summary>
        The search query associated with this launch.
      </summary>
    </metric>
    <metric name="ResultType" type="int">
      <summary>
        Which type of search provider the launched result was created by.
      </summary>
    </metric>
    <metric name="SearchResultId" type="hmac-string">
      <summary>
        The ID of the launched result result. For example, the app ID for app
        results, or the URL for omnibox results.
      </summary>
    </metric>
    <metric name="SequenceId" type="int">
      <summary>
        Sequence of this action across all CrOSActionEvent.
      </summary>
    </metric>
    <metric name="TimeSinceLastAction" type="int">
      <summary>
        Time in milliseconds since last CrOSActionLogging.
      </summary>
    </metric>
  </event>

  <event name="CrOSActionEvent.SettingChanged">
    <summary>
      Records when a setting is changed; only records quick settings for now.
    </summary>
    <metric name="CurrentValue" type="int">
      <summary>
        Value of the setting after the change.
      </summary>
    </metric>
    <metric name="PreviousValue" type="int">
      <summary>
        Value of the setting before the change.
      </summary>
    </metric>
    <metric name="SequenceId" type="int">
      <summary>
        Sequence of this action across all CrOSActionEvent.
      </summary>
    </metric>
    <metric name="SettingId" type="int">
      <summary>
        The setting id (in ash::ml::UserSettingsEvent::Event::SettingId) that
        represents the type of the changed setting.
      </summary>
    </metric>
    <metric name="SettingType" type="int">
      <summary>
        Enum that represents where the settings event originated from (in
        ash::ml::UserSettingsEvent::Event::SettingType).
      </summary>
    </metric>
    <metric name="TimeSinceLastAction" type="int">
      <summary>
        Time in milliseconds since last CrOSActionLogging.
      </summary>
    </metric>
  </event>

  <event name="CrOSActionEvent.TabEvent.TabNavigated">
    <summary>
      Records a tab activity of navigating to a new url.
    </summary>
    <metric name="PageTransition" type="int">
      <summary>
        The types of transition between pages. See more on ui::PageTransition.
      </summary>
    </metric>
    <metric name="SequenceId" type="int">
      <summary>
        Sequence of this action across all CrOSActionEvent.
      </summary>
    </metric>
    <metric name="TimeSinceLastAction" type="int">
      <summary>
        Time in milliseconds since last CrOSActionLogging.
      </summary>
    </metric>
    <metric name="URL" type="hmac-string">
      <summary>
        The URL of the current event.
      </summary>
    </metric>
    <metric name="Visibility" type="int">
      <summary>
        The visibility of this url, see more on content::Visibility.
      </summary>
    </metric>
  </event>

  <event name="CrOSActionEvent.TabEvent.TabOpened">
    <summary>
      Records a tab activity of opening a new url with ctrl+click.
    </summary>
    <metric name="SequenceId" type="int">
      <summary>
        Sequence of this action across all CrOSActionEvent.
      </summary>
    </metric>
    <metric name="TimeSinceLastAction" type="int">
      <summary>
        Time in milliseconds since last CrOSActionLogging.
      </summary>
    </metric>
    <metric name="URL" type="hmac-string">
      <summary>
        The URL of the current event.
      </summary>
    </metric>
    <metric name="URLOpened" type="hmac-string">
      <summary>
        The URL that is opened from the current url.
      </summary>
    </metric>
    <metric name="WindowOpenDisposition" type="int">
      <summary>
        Enum that indicates where the new tab is opened, see more on
        WindowOpenDisposition.
      </summary>
    </metric>
  </event>

  <event name="CrOSActionEvent.TabEvent.TabReactivated">
    <summary>
      Records a tab activity of reactivating an existing tab.
    </summary>
    <metric name="SequenceId" type="int">
      <summary>
        Sequence of this action across all CrOSActionEvent.
      </summary>
    </metric>
    <metric name="TimeSinceLastAction" type="int">
      <summary>
        Time in milliseconds since last CrOSActionLogging.
      </summary>
    </metric>
    <metric name="URL" type="hmac-string">
      <summary>
        The URL of the current event.
      </summary>
    </metric>
  </event>
</project>

<project name="LauncherUsage">
  <owner>tby@chromium.org</owner>
  <id>per-project</id>
  <scope>profile</scope>
  <key-rotation>90</key-rotation>
  <summary>
    See event summary.
  </summary>

  <event name="LauncherUsage">
    <summary>
      Records information about the launch of an item (such as an app or a file)
      from the ChromeOS launcher. One event is recorded for every launch
      originating from any launcher UI component, and this is the only
      circumstance that records events.
    </summary>
    <metric name="App" type="hmac-string">
      <summary>
        App ID of the most-recently-opened app when this launch occured. This can be
        an app ID of a Chrome app, Arc++ app, or PWA.
      </summary>
    </metric>
    <metric name="Domain" type="hmac-string">
      <summary>
        The most-recently-visited domain when this launch ocurred.
      </summary>
    </metric>
    <metric name="Hour" type="int">
      <summary>
        The hour of launch. This is the user's local time rounded to the nearest
        hour, 0 to 23 inclusive.
      </summary>
    </metric>
    <metric name="ProviderType" type="int">
      <summary>
        Which type of search provider the launched result was created by. This comes
        from the AppListSearchResultType enum.
      </summary>
    </metric>
    <metric name="Score" type="int">
      <summary>
        The relevance score of the launched result. This is a double multiplied by
        1000 and cast to an int64. Results that don't have a score report 0.
      </summary>
    </metric>
    <metric name="SearchQuery" type="hmac-string">
      <summary>
        The search query associated with this launch. Before hashing, the query is
        the empty string if there was no search query.
      </summary>
    </metric>
    <metric name="SearchQueryLength" type="int">
      <summary>
        String length of the search query associated with this launch. If there was
        no query, this is zero.
      </summary>
    </metric>
    <metric name="Target" type="hmac-string">
      <summary>
        The target item of this launch, eg. an app ID, filepath, or omnibox URL.
      </summary>
    </metric>
  </event>
</project>

<project name="NeutrinoDevices">
  <owner>pdyson@chromium.org</owner>
  <id>per-project</id>
  <scope>device</scope>
  <key-rotation>90</key-rotation>
  <summary>
    Project for recording events to monitor the creation of Neutrino Devices.
  </summary>

  <event name="ClientIdChanged">
    <summary>
      Records the client id being changed to a new value. This does not include
      when the client id is cleared (see ClientIdCleared below).
    </summary>
    <metric name="InitialClientId" type="hmac-string">
      <summary>
        The client id before it is changed.
      </summary>
    </metric>
    <metric name="FinalClientId" type="hmac-string">
      <summary>
        The client id after it is changed.
      </summary>
    </metric>
    <metric name="Log2TimeSinceInstallation" type="int">
      <summary>
        The time since installation. Recorded as the integer floor of the log
        base 2 of the time duration measured in days. Negative values indicate
        periods shorter than one day.
      </summary>
    </metric>
    <metric name="Log2TimeSinceMetricsEnabled" type="int">
      <summary>
        The time since metrics enabled. Recorded as the integer floor of the log
        base 2 of the time duration measured in days. Negative values indicate
        periods shorter than one day.
      </summary>
    </metric>
    <metric name="Location" type="int">
      <summary>
        An integer indicating the location in the code. This can be used to perform
        a partial stack trace to see which code was executed in the lead up to the
        client id being changed.
      </summary>
    </metric>
    <metric name="DaysSinceKeyRotation" type="int">
      <summary>
        The number of days since the key was rotated.
      </summary>
    </metric>
  </event>

  <event name="ClientIdCleared">
    <summary>
      Records when the client id is cleared.
    </summary>
    <metric name="InitialClientId" type="hmac-string">
      <summary>
        The client id before it is changed.
      </summary>
    </metric>
    <metric name="Log2TimeSinceInstallation" type="int">
      <summary>
        The time since installation. Recorded as the integer floor of the log
        base 2 of the time duration measured in days. Negative values indicate
        periods shorter than one day.
      </summary>
    </metric>
    <metric name="Log2TimeSinceMetricsEnabled" type="int">
      <summary>
        The time since metrics enabled. Recorded as the integer floor of the log
        base 2 of the time duration measured in days. Negative values indicate
        periods shorter than one day.
      </summary>
    </metric>
  </event>

  <event name="Enrollment">
    <summary>
      Records the enrollment status, either managed or unmanaged.
    </summary>
    <metric name="ClientId" type="hmac-string">
      <summary>
        The client id.
      </summary>
    </metric>
    <metric name="Location" type="int">
      <summary>
        An integer indicating the location in the code. This can be used to perform
        a partial stack trace to see which code was executed in the lead up to the
        client id being changed.
      </summary>
    </metric>
    <metric name="IsManagedDevice" type="int">
      <summary>
        Whether the device is managed. 1: Managed, 0: Unmanaged.
      </summary>
    </metric>
    <metric name="IsManagedPolicy" type="int">
      <summary>
        Whether the metrics reporting policy is managed. 1: Managed, 0:
        Unmanaged.
      </summary>
    </metric>
  </event>

  <event name="CodePoint">
    <summary>
      Records that execution reached a particular point in the code.
    </summary>
    <metric name="ClientId" type="hmac-string">
      <summary>
        The client id.
      </summary>
    </metric>
    <metric name="Location" type="int">
      <summary>
        An integer indicating the location in the code. This can be used to perform
        a partial stack trace to see which code was executed in the lead up to the
        client id being changed.
      </summary>
    </metric>
  </event>
</project>

<project name="StructuredMetrics">
  <owner>jongahn@chromium.org</owner>
  <owner>tby@chromium.org</owner>
  <id>per-project</id>
  <scope>device</scope>
  <key-rotation>90</key-rotation>
  <summary>
    Structured Metrics is a logging framework for events. This project is used
    for monitoring the framework itself.
  </summary>

  <event name="Initialization">
    <summary>
      Records metadata about initialization of Structured Metrics and will be
      recorded immediately after initialization is successful. Will be sent once
      per initialization during browser process initialization.
    </summary>
    <metric name="Platform" type="int">
      <summary>
        The platform for which the client is initialized on. 0: Uninitialized, 1:
        ASH_CHROME, 2: LACROS_CHROME.
      </summary>
    </metric>
  </event>
</project>

<project name="CrOSEvents" cros_events="true">
  <owner>jongahn@chromium.org</owner>
  <id>per-project</id>
  <scope>device</scope>
  <key-rotation>120</key-rotation>
  <summary>
    Project used to record a sequence of events that are related to each other.
  </summary>

  <event name="AppDiscovery.AppInstalled">
    <summary>
      Recorded whenever a new app is installed on Chrome OS.
    </summary>
    <metric name="AppId" type="raw-string">
      <summary>
        Key that identifies an app.
      </summary>
    </metric>
    <metric name="AppType" type="int">
      <summary>
        The type of app that was installed (ie ARC, native, Crostini, etc.).
      </summary>
    </metric>
    <metric name="InstallSource" type="int">
      <summary>
        Origin from which the app was installed (ie launcher, playstore).
      </summary>
    </metric>
    <metric name="InstallReason" type="int">
      <summary>
        Reason for which the app was installed.
      </summary>
    </metric>
  </event>

  <event name="AppDiscovery.AppLaunched">
    <summary>
      Recorded whenever a new app is launched on Chrome OS.
    </summary>
    <metric name="AppId" type="raw-string">
      <summary>
        Key that identifies an app.
      </summary>
    </metric>
    <metric name="AppType" type="int">
      <summary>
        The type of app that was installed (ie ARC, native, Crostini, etc.).
      </summary>
    </metric>
    <metric name="LaunchSource" type="int">
      <summary>
        From where the app was launched from (ie launcher, shelf).
      </summary>
    </metric>
  </event>

  <event name="AppDiscovery.AppUninstall">
    <summary>
      Recorded whenever an app is uninstalled on Chrome OS.
    </summary>
    <metric name="AppId" type="raw-string">
      <summary>
        Key that identifies an app.
      </summary>
    </metric>
    <metric name="AppType" type="int">
      <summary>
        The type of app that was installed (ie ARC, native, Crostini, etc.).
      </summary>
    </metric>
    <metric name="UninstallSource" type="int">
      <summary>
        From where the app was uninstalled.
      </summary>
    </metric>
  </event>

  <event name="AppDiscovery.AppStateChanged">
    <summary>
      Recorded when a change in an app state has been detected.
    </summary>
    <metric name="AppId" type="raw-string">
      <summary>
        Key that identifies an app.
      </summary>
    </metric>
    <metric name="AppState" type="int">
      <summary>
        Denotes a change in an app state. 0 - INACTIVE, 1 - ACTIVE, 2 - CLOSED.
      </summary>
    </metric>
  </event>

  <event name="AppDiscovery.LauncherOpen">
    <summary>
      Event collected if the launcher is opened. This is recorded when a zero-
      state query is initiated.
    </summary>

  </event>

  <event name="AppDiscovery.AppLauncherResultOpened">
    <summary>
      Event collected if a result iis opened in the launcher.
    </summary>
    <metric name="FuzzyStringMatch" type="double">
      <summary>
        Score that represents how close the initial query was to the app result
        selected. A score of 1.0 represents an exact match.
      </summary>
    </metric>
    <metric name="AppId" type="raw-string">
      <summary>
        App ID that identifies an app on the client. This will only be recorded if
        the user has consented into app-sync.
      </summary>
    </metric>
    <metric name="AppName" type="raw-string">
      <summary>
        Name of the app that was launched. Names are UTF-16 string encoding.
      </summary>
    </metric>
    <metric name="ResultCategory" type="int">
      <summary>
        Enum representing the category of app the result is. This enum should map to
        ash::SearchResultType.
      </summary>
    </metric>
  </event>

  <event name="UserLogin">
    <summary>
      An event to signify a user is using the system.
    </summary>

  </event>

  <event name="UserLogout">
    <summary>
      An event to signify a user explicitly logged out of the system.
    </summary>

  </event>

  <event name="SystemSuspended">
    <summary>
      An event to signify the system has gone to sleep.
    </summary>
    <metric name="Reason" type="int">
      <summary>
        The reason the system was suspended, maps to the SuspendImminent::Reason.
      </summary>
    </metric>
  </event>

  <event name="Test1">
    <summary>
      Test event used for unit tests to ensure that the code-gen for the event
      sequence project is working properly.
    </summary>
    <metric name="Metric1" type="double">
      <summary>
        Test metric1
      </summary>
    </metric>
  </event>

  <event name="NoMetricsEvent">
    <summary>
      Test event for events without metrics.
    </summary>

  </event>
</project>

<project name="TestProjectOne">
  <owner>tby@chromium.org</owner>
  <id>per-project</id>
  <scope>profile</scope>
  <key-rotation>90</key-rotation>
  <summary>
    Project for unit testing, do not use.
  </summary>

  <event name="TestEventOne">
    <summary>
      Event for unit testing, do not use.
    </summary>
    <metric name="TestMetricOne" type="hmac-string">
      <summary>
        A per-user keyed hashed value.
      </summary>
    </metric>
    <metric name="TestMetricTwo" type="int">
      <summary>
        An unhashed value, recorded as-is.
      </summary>
    </metric>
  </event>
</project>

<project name="TestProjectTwo">
  <owner>tby@chromium.org</owner>
  <id>per-project</id>
  <scope>profile</scope>
  <key-rotation>90</key-rotation>
  <summary>
    Project for unit testing, do not use.
  </summary>

  <event name="TestEventThree">
    <summary>
      Event for unit testing, do not use.
    </summary>
    <metric name="TestMetricFour" type="hmac-string">
      <summary>
        A per-user keyed hashed value.
      </summary>
    </metric>
  </event>

  <event name="TestEventTwo">
    <summary>
      Event for unit testing, do not use.
    </summary>
    <metric name="TestMetricThree" type="hmac-string">
      <summary>
        A per-user keyed hashed value.
      </summary>
    </metric>
  </event>
</project>

<project name="TestProjectThree">
  <owner>tby@chromium.org</owner>
  <id>uma</id>
  <scope>profile</scope>
  <key-rotation>90</key-rotation>
  <summary>
    Project for unit testing, do not use.
  </summary>

  <event name="TestEventFour">
    <summary>
      Event for unit testing, do not use.
    </summary>
    <metric name="TestMetricFour" type="int">
      <summary>
        An unhashed value, recorded as-is.
      </summary>
    </metric>
  </event>
</project>

<project name="TestProjectFour">
  <owner>tby@chromium.org</owner>
  <id>per-project</id>
  <scope>device</scope>
  <key-rotation>90</key-rotation>
  <summary>
    Project for unit testing, do not use.
  </summary>

  <event name="TestEventFive">
    <summary>
      Event for unit testing, do not use.
    </summary>
    <metric name="TestMetricFive" type="hmac-string">
      <summary>
        A per-device keyed hashed value.
      </summary>
    </metric>
  </event>
</project>

<project name="TestProjectFive">
  <owner>tby@chromium.org</owner>
  <id>none</id>
  <scope>profile</scope>
  <key-rotation>90</key-rotation>
  <summary>
    Project for unit testing, do not use.
  </summary>

  <event name="TestEventSix">
    <summary>
      Event for unit testing, do not use.
    </summary>
    <metric name="TestMetricSix" type="raw-string">
      <summary>
        A unhashed string value.
      </summary>
    </metric>
  </event>
</project>

<project name="TestProjectSix">
  <owner>andrewbregger@google.com</owner>
  <id>none</id>
  <scope>profile</scope>
  <key-rotation>90</key-rotation>
  <summary>
    Project for unit testing, do not use.
  </summary>

  <event name="TestEventSeven">
    <summary>
      Event for unit testing, do not use.
    </summary>
    <metric name="TestMetricSeven" type="double">
      <summary>
        A floating point value.
      </summary>
    </metric>
  </event>
</project>

</structured-metrics>