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