blob: 2014c995ada97d3083321ccf455cf7ac06837c8d [file] [log] [blame]
<!-- Structured metrics is under development and isn't available for use yet. -->
<structured-metrics>
<project name="Bluetooth">
<owner>yudiliu@chromium.org</owner>
<id>per-project</id>
<summary>
Project for recording bluetooth metrics.
</summary>
<event name="BluetoothAdapterStateChanged">
<summary>
Records the toggle of the adapter.
</summary>
<metric name="SystemTime" type="int">
<summary>
The system time in nanoseconds.
</summary>
</metric>
<metric name="AdapterState" type="int">
<summary>
The state of the bluetooth adapter, 0 for disabled and 1 for enabled.
</summary>
</metric>
</event>
<event name="BluetoothPairingStateChanged">
<summary>
Records the device pairing state change.
</summary>
<metric name="SystemTime" type="int">
<summary>
The system time in nanoseconds.
</summary>
</metric>
<metric name="DeviceId" type="hmac-string">
<summary>
The bluetooth device id.
</summary>
</metric>
<metric name="DeviceType" type="int">
<summary>
The bluetooth device type such as LE, BREDR.
</summary>
</metric>
<metric name="PairingState" type="int">
<summary>
The state of the pairing.
</summary>
</metric>
</event>
<event name="BluetoothAclConnectionStateChanged">
<summary>
Records the ACL connection state change.
</summary>
<metric name="SystemTime" type="int">
<summary>
The system time in nanoseconds.
</summary>
</metric>
<metric name="DeviceId" type="hmac-string">
<summary>
The bluetooth device id.
</summary>
</metric>
<metric name="DeviceType" type="int">
<summary>
The bluetooth device type such as LE, BREDR.
</summary>
</metric>
<metric name="ConnectionDirection" type="int">
<summary>
Whether it is an incoming or outgoing connection.
</summary>
</metric>
<metric name="StateChangeType" type="int">
<summary>
Whether it is a connection or disconnection state change.
</summary>
</metric>
<metric name="AclConnectionState" type="int">
<summary>
The state of the connection.
</summary>
</metric>
</event>
<event name="BluetoothProfileConnectionStateChanged">
<summary>
Records the profile connection state change.
</summary>
<metric name="SystemTime" type="int">
<summary>
The system time in nanoseconds.
</summary>
</metric>
<metric name="DeviceId" type="hmac-string">
<summary>
The bluetooth device id.
</summary>
</metric>
<metric name="StateChangeType" type="int">
<summary>
Whether it is a connection or disconnection state change.
</summary>
</metric>
<metric name="Profile" type="int">
<summary>
The bluetooth profile.
</summary>
</metric>
<metric name="ProfileConnectionState" type="int">
<summary>
The state of the profile connection.
</summary>
</metric>
</event>
<event name="BluetoothDeviceInfoReport">
<summary>
Records the bluetooth device info.
</summary>
<metric name="SystemTime" type="int">
<summary>
The system time in nanoseconds.
</summary>
</metric>
<metric name="DeviceId" type="hmac-string">
<summary>
The bluetooth device id.
</summary>
</metric>
<metric name="DeviceType" type="int">
<summary>
The bluetooth device type such as LE, BREDR.
</summary>
</metric>
<metric name="DeviceClass" type="int">
<summary>
The major class of the BR/EDR device.
</summary>
</metric>
<metric name="DeviceCategory" type="int">
<summary>
The category of the BLE device.
</summary>
</metric>
<metric name="VendorId" type="int">
<summary>
The vendor id of the bluetooth device.
</summary>
</metric>
<metric name="VendorIdSource" type="int">
<summary>
The vendor id source such as SIG and USB.
</summary>
</metric>
<metric name="ProductId" type="int">
<summary>
The product id of the bluetooth device.
</summary>
</metric>
<metric name="ProductVersion" type="int">
<summary>
The product version of the bluetooth device.
</summary>
</metric>
</event>
</project>
<project name="HardwareVerifier">
<owner>kevinptt@chromium.org</owner>
<id>per-project</id>
<summary>
Project for hardware_verifier to record HardwareVerifier metrics.
hardware_verifier is run once per boot.
</summary>
<event name="HwVerificationReport">
<summary>
Record a verification report once hardware_verifier runs. The event will
be sent once per run.
</summary>
<metric name="IsCompliant" type="int">
<summary>
The qualification status of components that are probed by
hardware_verifier.
</summary>
</metric>
<metric name="QualificationStatusDisplayPanel" type="int">
<summary>The qualification status of display_panel components.</summary>
</metric>
<metric name="QualificationStatusStorage" type="int">
<summary>The qualification status of storage components.</summary>
</metric>
</event>
<event name="ComponentInfo">
<summary>
Record a hardware component on devices probed by hardware_verifier.
The event will be sent several times per run, depending on how many
hardware components are probed. Since we only record display currently,
there are usually 1~2 events. If we extend structured metrics to more
hardware categories, e.g. battery, memory, storage, network, it would be
about 10 events per run.
</summary>
<metric name="ComponentCategory" type="int">
<summary>The category of the recorded component.</summary>
</metric>
<metric name="DisplayPanelVendor" type="int">
<summary>The vendor of the display panel.</summary>
</metric>
<metric name="DisplayPanelProductId" type="int">
<summary>The product ID of the display panel.</summary>
</metric>
<metric name="DisplayPanelHeight" type="int">
<summary>The height of the display panel.</summary>
</metric>
<metric name="DisplayPanelWidth" type="int">
<summary>The width of the display panel.</summary>
</metric>
<metric name="StorageMmcManfid" type="int">
<summary>The manfid of the MMC storage.</summary>
</metric>
<metric name="StorageMmcHwrev" type="int">
<summary>The hwrev of the MMC storage.</summary>
</metric>
<metric name="StorageMmcOemid" type="int">
<summary>The oemid of the MMC storage.</summary>
</metric>
<metric name="StorageMmcPrv" type="int">
<summary>The prv of the MMC storage.</summary>
</metric>
<metric name="StoragePciVendor" type="int">
<summary>The vendor of the PCI (NVMe) storage.</summary>
</metric>
<metric name="StoragePciDevice" type="int">
<summary>The device ID of the PCI (NVMe) storage.</summary>
</metric>
<metric name="StoragePciClass" type="int">
<summary>The device class of the PCI (NVMe) storage.</summary>
</metric>
</event>
</project>
<project name="Cellular">
<owner>andrewlassalle@chromium.org</owner>
<owner>ejcaruso@chromium.org</owner>
<id>per-project</id>
<summary>
Project for recording Cellular metrics.
</summary>
<event name="CellularConnectionAttempt">
<summary>
Records information of the last cellular connection attempt. An entry is
logged inmediately after the cellular connection fails or succeeds.
</summary>
<metric name="apn_id" type="int">
<summary>
The ID of the APN used to establish the connection. This ID is a hash
of the string uuid+apn_name+username+password.
</summary>
</metric>
<metric name="ipv4_config_method" type="int">
<summary>
The IPv4 config method(see IPConfig::Method) provided by the carrier.
</summary>
</metric>
<metric name="ipv6_config_method" type="int">
<summary>
The IPv6 config method(see IPConfig::Method) provided by the carrier.
</summary>
</metric>
<metric name="connect_result" type="int">
<summary>
The result of the connection. This uses the same values as the metric
Network.Shill.Cellular.ConnectResult.
</summary>
</metric>
<metric name="home_mccmnc" type="int">
<summary>
The MCCMNC of the home provider.
</summary>
</metric>
<metric name="serving_mccmnc" type="int">
<summary>
The MCCMNC of the serving provider.
</summary>
</metric>
<metric name="roaming_state" type="int">
<summary>
Indicates if the device is roaming.
</summary>
</metric>
<metric name="use_attach_apn" type="int">
<summary>
Indicates if the use_attach flag is enabled.
</summary>
</metric>
<metric name="apn_source" type="int">
<summary>
Indicates the source of the APN. Options are: MODB == 0 , UI == 1,
MODEM == 2.
</summary>
</metric>
<metric name="tech_used" type="int">
<summary>
Indicates the technologies in use for the connect attempt.
Value is a bitmask, allowing multiple simultaneous technologies, for
instance for proper 5G-NSA reporting. Values are defined by the
MMModemAccessTechnology enum in ModemManager[1].
[1] freedesktop.org/software/ModemManager/api/latest/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology
</summary>
</metric>
</event>
</project>
<project name="rmad">
<owner>genechang@google.com</owner>
<id>per-project</id>
<summary>
Project for rmad to record Shimless RMA metrics. The metrics of the whole
RMA procedure are only recorded once after it is completed or aborted.
</summary>
<event name="ShimlessRmaReport">
<summary>
Record a shimless rma report once it is completed or aborted.
</summary>
<metric name="OverallTime" type="int">
<summary>Overall time spent to complete the whole process.</summary>
</metric>
<metric name="RunningTime" type="int">
<summary>Time spent with RMA daemon running.</summary>
</metric>
<metric name="IsComplete" type="int">
<summary>
Invocation of Shimless RMA:
1: RMA is complete, 0: RMA is aborted.
</summary>
</metric>
<metric name="RoVerification" type="int">
<summary>
RO verification of Shimless RMA:
0: Shimless RMA run with unknown RO verification status
1: Shimless RMA run with RO verification successful
2: Shimless RMA run with RO verification unsupported
</summary>
</metric>
<metric name="ReturningOwner" type="int">
<summary>
Destination of Shimless RMA:
0: Shimless RMA haven't known the returning owner yet
1: Shimless RMA run with the device returning to the same owner
2: Shimless RMA run with the device returning to a different owner
</summary>
</metric>
<metric name="MainboardReplacement" type="int">
<summary>
Replacement MLB of Shimless RMA:
0: Shimless RMA haven't known the mainboard replacement status
1: Shimless RMA run with a replaced MLB
2: Shimless RMA run with the original MLB
</summary>
</metric>
<metric name="WriteProtectDisableMethod" type="int">
<summary>
Write protection disable status of Shimless RMA:
0: Shimless RMA haven't known the write-protect status
1: Shimless RMA skip disabling write-protect
2: Shimless RMA run with write-protect being disabled via RSU
3: Shimless RMA run with write-protect being manually disabled with
immediate re-enablement
4: Shimless RMA run with write-protect being manually disabled and
keep the device open
</summary>
</metric>
</event>
<event name="ReplacedComponent">
<summary>
Record a component replaced in Shimless RMA. The event will be sent
several times per run, depending on how many components are replaced.
</summary>
<metric name="ComponentCategory" type="int">
<summary>
The category of the recorded component.
Enum for components defined in rmad.proto.
</summary>
</metric>
</event>
<event name="OccurredError">
<summary>Shimless RMA run with triggering of Error XYZ.</summary>
<metric name="ErrorType" type="int">
<summary>
The type of the recorded error.
Enum for errors defined in rmad.proto.
</summary>
</metric>
</event>
<event name="AdditionalActivity">
<summary>
Shimless RMA completed and an additional activity undertaken.
</summary>
<metric name="ActivityType" type="int">
<summary>
1: shutdown
2: reboot
3: battery cutoff
4: diagnostics
</summary>
</metric>
</event>
</project>
<project name="TestProjectOne">
<owner>tby@chromium.org</owner>
<id>none</id>
<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>
<event name="TestEventTwo">
<summary>
Event for unit testing, do not use.
</summary>
<metric name="TestMetricThree" type="int">
<summary>
A per-user keyed hashed value.
</summary>
</metric>
</event>
</project>
<project name="TestProjectTwo">
<owner>tby@chromium.org</owner>
<id>none</id>
<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>
</project>
</structured-metrics>