blob: 52f8f56208a0ea023a84e4fd8e837417153db936 [file] [log] [blame]
<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>