Telemetry

On-device telemetry API serves the clients on both Chromium and platform. The data sources listed table could be scattered around different services and it is our vision to hide those tedious details away from our clients. In addition, single source will help the data utilization easier to process on the server side if it is our client's final destination.

We also support a proactive event subscription API make clients could subscript the particular event and got real-time notified when the event occurs.

If you can't find the things you want, contact us for a quick check on the latest status just in case the documentation is behind the reality.

Usages

Mojo interface

  • CrosHealthdProbeService interface
    • ProbeTelemetryInfo(categories) can grab the data from selected categories from a single IPC call.
    • ProbeProcessInfo(process_id) can retrieve the process information for a specific process_id.
    • ProbeMultipleProcessInfo(process_ids, ignore_single_process_error) can retrieve the process information for the array of process_ids and errors if any occurred. Leave process_ids null can retrieve all current existing processes on the device; setting ignore_single_process_error to true will ignore any errors if occurred.
  • CrosHealthdEventService interface
    • AddBluetoothObserver(observer) for bluetooth events.
    • AddLidObserver(observer) for lid events.
    • AddPowerObserver(observer) for power events.
    • AddNetworkObserver(observer) for network events.
    • AddAudioObserver(observer) for audio events.
    • AddThunderboltObserver(observer) for thunderbolt events.
    • AddUsbObserver(observer) for USB events.

See the Mojo interface comment for the detail.

Note that, Strongly recommend to split your request into multiple and fetch a subset of interesting categories in each call, and setup disconnect handler to be able to return partial data. As ProbeTelemetryInfo() might not be returned under certain critical situation. (e.g. cros_healthd got killed or crash, a common cases is the seccomp vialation).

CLI tool

cros-health-tool is a convenience tools for testing, it is not for production used. We recommended to reach us before using this in your project.

For telemetry, we can initiate a request via cros-health-tool telem --category=<xx> where <xx> is the category name. The list of category names could be checked via cros-health-tool telem --help.

For process, we can initiate a request via cros-health-tool telem --process=<process_id>,<process_id>,<process_id> to retrieve single or multiple process information or cros-health-tool telem --process=all to retrieve all current existing processes. Adding --ignore can ignore single process errors.

For event, cros-health-tool event --category=<xx> where <xx> is the event category name. The list of category names could be checked via cros-health-tool event --help.

Telemetry categories

Audio

AudioInfo
FieldTypeDescription
output_muteboolIs active output device mute or not.
input_muteboolIs active input device mute or not.
output_volumeuint64Active output device's volume in [0, 100].
output_device_namestringActive output device's name.
input_gainuint32Active input device's gain in [0, 100].
input_device_namestringActive input device's name.
underrunsuint32Numbers of underruns.
severe_underrunsuint32Numbers of severe underruns.

AudioHardwareInfo

FieldTypeDescription
audio_cardsarray<AudioCard>Audio cards information.
AudioCard
FieldTypeDescription
alsa_idstringThe id used by ALSA(Advanced Linux Sound Architecture).
bus_deviceBusDevice?The bus device. If omits, the card is belongs to a bus type which is not yet supported by Healthd.
hd_audio_codecsarray<HDAudioCodec>The hd-audio codecs.
HDAudioCodec
FieldTypeDescription
namestringThe name. E.g. “ATI R6xx HDMI”.
addressuint8The address. E.g. “0”.

Backlight

BacklightInfo
FieldTypeDescription
pathstringPath to this backlight on the system. Useful if the caller needs to
correlate with other information.
max_brightnessuint32Maximum brightness for the backlight.
brightnessuint32Current brightness of the backlight, between 0 and max_brightness.

Battery

BatteryInfo
FieldTypeDescription
cycle_countint64Current charge cycle count
voltage_nowdoubleCurrent battery voltage (V)
vendorstringManufacturer of the battery
serial_numberstringSerial number of the battery
charge_full_designdoubleDesigned capacity (Ah)
charge_fulldoubleCurrent Full capacity (Ah)
voltage_min_designdoubleDesired minimum output voltage (V)
model_namestringModel name of battery
charge_nowdoubleCurrent battery charge (Ah)
current_nowdoubleCurrent battery current (A)
technologystringTechnology of the battery. Battery chemistry.
e.g. “NiMH”, “Li-ion”, “Li-poly”, “LiFe”, “NiCd”, “LiMn”
statusstringStatus of the battery
manufacture_datestring?Manufacture date converted to yyyy-mm-dd format. (Only available on Smart Battery)
temperatureuint64?Temperature in 0.1K. Included when the main battery is a Smart Battery. (Only available on Smart Battery)

Charge

FieldTypeDescription
(planned) AC Adapter Wattage

EC

FieldTypeDescription
(planned) ePPID (Dell exclusive data)
(planned) Battery soft/hard error
(planned) MA code

Bluetooth

Client

FieldTypeDescription
(planned) TX Bytes (total so far)
(planned) RX Bytets (total so far)

Host

FieldTypeDescription
(planned) TX Bytes (total so far)
(planned) RX Bytets (total so far)
BluetoothAdapterInfo
FieldTypeDescription
namestringThe name of the adapter.
addressstringThe MAC address of the adapter.
poweredboolIndicates whether the adapter is on or off.
num_connected_devicesuint32The number of devices connected to this adapter.
connected_devicesarray<BluetoothDeviceInfo>?The info of connected devices to this adapter.
discoverableboolThe adapter is visible or not.
discoveringboolThe device discovery procedure is active or not.
uuidsarray<string>?The list of the available local services.
modaliasstring?Local Device ID information.
service_allow_listarray<string>?List of allowed system devices.
supported_capabilitiesSupportedCapabilities?A dictionary of supported capabilities.
BluetoothDeviceInfo
FieldTypeDescription
addressstringThe MAC address of the device.
namestring?The name of the device.
typeBluetoothDeviceTypeThe carriers supported by this remote device (“BR/EDR”, “LE”, or “DUAL”).
appearanceuint16?The external appearance of the device.
modaliasstring?Remote Device ID information.
rssiuint16?Received Signal Strength Indicator.
mtuuint16?The Maximum Transmission Unit used in ATT communication.
uuidsarray<string>?The list of the available remote services.
battery_percentageuint8?The battery percentage of the device.
bluetooth_classuint32?The Bluetooth class of device (CoD) of the device.
BluetoothDeviceType
EnumDescription
kUnmappedEnumFieldAn enum value not defined in this version of the enum definition.
kUnfoundUnfound type.
kBrEdrBR/EDR.
kLeLE.
kDualDUAL.
SupportedCapabilities
FieldTypeDescription
max_adv_lenuint8Max advertising data length.
max_scn_rsp_lenuint8Max advertising scan response length.
min_tx_powerint16Min advertising tx power (dBm).
max_tx_powerint16Max advertising tx power (dBm).

Bus

BusDevice
FieldTypeDescription
vendor_namestringThe vendor / product name of the device. These are extracted from the
databases on the system and should only be used for showing / logging.
Don't use these to identify the devices.
product_namestringThe class of the device.
device_classBusDeviceClassThe info related to specific bus type.
bus_infoBusInfoThese fields can be used to classify / identify the pci devices. See the
pci.ids database for the values. (https://github.com/gentoo/hwids)
BusDeviceClass
EnumDescription
kOthersOthers.
kDisplayControllerDisplay controller.
kEthernetControllerEthernet Controller.
kWirelessControllerWireless Controller.
kBluetoothAdapterBluetooth Adapter.
kThunderboltControllerThunderbolt Controller.
kAudioCardAudio Card.
BusInfo
FieldTypeDescription
pci_bus_infoPciBusInfo(union/one-of type) This field is valid only if the info is related to pci.
usb_bus_infoUsbBusInfo(union/one-of type) This field is valid only if the info is related to usb.
thunderbolt_bus_infoThunderboltBusInfo(union/one-of type) This field is valid only if the info is related to thunderbolt.

PCIe

PciBusInfo
FieldTypeDescription
class_iduint8
subclass_iduint8
prog_if_iduint8
vendor_iduint16
device_iduint16
driverstring?The driver used by the device. This is the name of the matched driver which
is registered in the kernel. See “{kernel root}/drivers/”. for the list of
the built in drivers.

Thunderbolt

ThunderboltBusInfo
FieldTypeDescription
security_levelThunderboltSecurityLevelSecurity level none, user, secure, dponly.
thunderbolt_interfacesarray<ThunderboltBusInterfaceInfo>Info of devices attached to the controller.
ThunderboltSecurityLevel
EnumDescription
kNoneNone.
kUserLevelUser level.
kSecureLevelSecure level.
kDpOnlyLevelDP only level.
kUsbOnlyLevelUSB only level.
kNoPcieLevelNo PCIe level.
ThunderboltBusInterfaceInfo
FieldTypeDescription
vendor_namestringVendor name of connected device interface.
device_namestringProduct name of connected device interface.
device_typestringType of device.
device_uuidstringThe device unique id.
tx_speed_gbsuint32Transmit link speed for thunderbolt interface.
rx_speed_gbsuint32Receive link speed for thunderbolt interface.
authorizedboolConnection is authorized or not.
device_fw_versionstringnvm firmware version.

USB

UsbBusInfo
FieldTypeDescription
class_iduint8These fields can be used to classify / identify the usb devices. See the
usb.ids database for the values. (https://github.com/gentoo/hwids)
subclass_iduint8
protocol_iduint8
vendor_iduint16
product_iduint16
interfacesarray<UsbBusInterfaceInfo>The usb interfaces under the device. A usb device has at least one
interface. Each interface may or may not work independently, based on each
device. This allows a usb device to provide multiple features.
The interfaces are sorted by the
fwupd_firmware_version_infoFwupdFirmwareVersionInfo?The firmware version obtained from fwupd.
FwupdFirmwareVersionInfo
FieldTypeDescription
versionstringThe string form of the firmware version.
version_formatFwupdVersionFormatThe format for parsing the version string.
FwupdVersionFormat
EnumDescription
kUnmappedEnumFieldAn enum value not defined in this version of the enum definition.
kUnknownUnknown version format.
kPlainAn unidentified format text string.
kNumberA single integer version number.
kPairTwo AABB.CCDD version numbers.
kTripletMicrosoft-style AA.BB.CCDD version numbers.
kQuadUEFI-style AA.BB.CC.DD version numbers.
kBcdBinary coded decimal notation.
kIntelMeIntel ME-style bitshifted notation.
kIntelMe2Intel ME-style A.B.CC.DDDD notation.
kSurfaceLegacyLegacy Microsoft Surface 10b.12b.10b.
kSurfaceMicrosoft Surface 8b.16b.8b.
kDellBiosDell BIOS BB.CC.DD style.
kHexHexadecimal 0xAABCCDD style.
UsbBusInterfaceInfo
FieldTypeDescription
interface_numberuint8The zero-based number (index) of the interface.
class_iduint8These fields can be used to classify / identify the usb interfaces. See the
usb.ids database for the values.
subclass_iduint8
protocol_iduint8
driverstring?The driver used by the device. This is the name of the matched driver which
is registered in the kernel. See “{kernel root}/drivers/”. for the list of
the built in drivers.

CPU

CpuInfo
FieldTypeDescription
num_total_threadsuint32Number of total threads available.
architectureCpuArchitectureEnumThe CPU architecture - it‘s assumed all of a device’s CPUs share an
architecture.
physical_cpusarray<PhysicalCpuInfo>Information about the device's physical CPUs.
temperature_channelsarray<CpuTemperatureChannel>Information about the CPU temperature channels.
keylocker_infoKeylockerInfo?Information about keylocker.
virtualizationVirtualizationInfo?The general virtualization info. Guaranteed to be not null unless the version doesn't match.
vulnerabilitiesmap<string, VulnerabilityInfo>?The cpu vulnerability info. The key is the name of the vulnerability. Guaranteed to be not null unless the version doesn't match.
CpuArchitectureEnum
EnumDescription
kUnknownUnknown.
kX86_64x86_64.
kAArch64Arch64.
kArmv7lArmv7l.

Virtualization

FieldTypeDescription
VMXLockedInBIOS(planned) Is VMX locked by the device BIOS
VMXEnabled(planned) VMX - Intel Virtualisation is used to control certain features such as crostini. It is useful to know if it is enabled to allow us to gate or preempt issues with features like crostini.
DevKVMExists(planned) This allows us to verify if a processor supports virtualisation or not.
VirtualizationInfo
FieldTypeDescription
has_kvm_deviceboolWhether the /dev/kvm device exists.
is_smt_activeboolWhether SMT is active. This will always be false if SMT detection is not supported by the kernel of this device.
smt_controlSMTControlThe state of SMT control.
SMTControl
EnumDescription
kUnmappedEnumFieldThis is required for backwards compatibility, should not be used.
kOnSMT is enabled.
kOffSMT is disabled.
kForceOffSMT is force disabled. Cannot be changed.
kNotSupportedSMT is not supported by the CPU.
kNotImplementedSMT runtime toggling is not implemented for the architecture, or the kernel version doesn't support SMT detection yet.

Vulnerability

VulnerabilityInfo
FieldTypeDescription
statusStatusThe status of the vulnerability.
messagestringThe description of the vulnerability.
Status
EnumDescription
kUnmappedEnumFieldThis is required for backwards compatibility, should not be used.
kNotAffectedNot affected by this vulnerability.
kVulnerableVulnerable by this vulnerability.
kMitigationVulnerability is mitigated.
kUnknownVulnerability is unknown.
kUnrecognizedVulnerability is unrecognized by parser.

KeyLocker

KeylockerInfo
FieldTypeDescription
keylocker_configuredboolHas Keylocker been configured or not.

Physical Core

PhysicalCpuInfo
FieldTypeDescription
model_namestring?The CPU model name, if available.
For Arm devices, we will return SoC model instead.
logical_cpusarray<LogicalCpuInfo>Logical CPUs corresponding to this physical CPU.
flagsarray<string>?The cpu flags, labelled as
virtualizationCpuVirtualizationInfo?The virtualization info of this cpu.
CpuVirtualizationInfo
FieldTypeDescription
typeTypeThe type of cpu hardware virtualization.
is_enabledboolWhether virtualization is enabled.
is_lockedboolWhether the virtualization configuration is locked and cannot be modified. This is usually set by the BIOS to prevent the OS changing the setting after booting into the OS.
Type
EnumDescription
kUnmappedEnumFieldThis is required for backwards compatibility, should not be used.
kVMXThe cpu supports Intel virtualization (VT-x).
kSVMThe cpu supports AMD virtualization (AMD-V).
LogicalCpuInfo
FieldTypeDescription
max_clock_speed_khzuint32The max CPU clock speed in kHz.
scaling_max_frequency_khzuint32Maximum frequency the CPU is allowed to run at, by policy.
scaling_current_frequency_khzuint32Current frequency the CPU is running at.
user_time_user_hzuint64Time spent in user mode since last boot. USER_HZ can be converted to
seconds with the conversion factor given by sysconf(_SC_CLK_TCK).
system_time_user_hzuint64Time spent in system mode since last boot. USER_HZ can be converted to
seconds with the conversion factor given by sysconf(_SC_CLK_TCK).
idle_time_user_hzuint64Idle time since last boot. USER_HZ can be converted to seconds with the
conversion factor given by sysconf(_SC_CLK_TCK).
c_statesarray<CpuCStateInfo>Information about the logical CPU's time in various C-states.
(planned) total_time_in_ticks (time in state since beginning)
(planned) Current Throttle% (for each logical)
(planned) Used percentage
(planned) Average Utilization percentage

C State

CpuCStateInfo
FieldTypeDescription
namestringName of the state.
time_in_state_since_last_boot_usuint64Time spent in the state since the last reboot, in microseconds.

Temperature

CpuTemperatureChannel
FieldTypeDescription
labelstring?Temperature channel label, if found on the device.
temperature_celsiusint32CPU temperature in Celsius.

Dell EC

BIOS Internal Log

FieldTypeDescription
(planned) Power event log - event code / timestamp
(planned) LED code log - event code / timestamp

Cable

FieldTypeDescription
(planned) Cable Name
(planned) Cable Status (installed and not installed)
(planned) Cable change history
(planned) Cable time stamp

Thermistor

FieldTypeDescription
(planned) Location
(planned) Temp
(planned) Timestamp
(planned) Thermal zone
(planned) Thermal trip
(planned) Thermal hystereis

Display

DisplayInfo
FieldTypeDescription
edp_infoEmbeddedDisplayInfoEmbedded display info.
dp_infosarray<ExternalDisplayInfo>?External display info.

Embedded Display

EmbeddedDisplayInfo
FieldTypeDescription
privacy_screen_supportedboolPrivacy screen is supported or not.
privacy_screen_enabledboolPrivacy screen is enabled or not.
display_widthuint32?Display width in millimeters.
display_heightuint32?Display height in millimeters.
resolution_horizontaluint32?Horizontal resolution.
resolution_verticaluint32?Vertical resolution.
refresh_ratedouble?Refresh rate.
manufacturerstring?Three letter manufacturer ID.
model_iduint16?Manufacturer product code.
serial_numberuint32?32 bits serial number.
manufacture_weekuint8?Week of manufacture.
manufacture_yearuint16?Year of manufacture.
edid_versionstring?EDID version.
input_typeDisplayInputTypeDigital or analog input.
display_namestring?Name of display product.
DisplayInputType
EnumDescription
kUnmappedEnumFieldAn enum value not defined in this version of the enum definition.
kDigitalDigital input.
kAnalogAnalog input.

ExternalDisplay

FieldTypeDescription
(planned) Vendor Specific Data
ExternalDisplayInfo
FieldTypeDescription
display_widthuint32?Display width in millimeters.
display_heightuint32?Display height in millimeters.
resolution_horizontaluint32?Horizontal resolution.
resolution_verticaluint32?Vertical resolution.
refresh_ratedouble?Refresh rate.
manufacturerstring?Three letter manufacturer ID.
model_iduint16?Manufacturer product code.
serial_numberuint32?32 bits serial number.
manufacture_weekuint8?Week of manufacture.
manufacture_yearuint16?Year of manufacture.
edid_versionstring?EDID version.
input_typeDisplayInputTypeDigital or analog input.
display_namestring?Name of display product.

Fan

FanInfo
FieldTypeDescription
speed_rpmuint32Fan speed in RPM.

Dell

FieldTypeDescription
(planned) Fan speed in RPM. Data source: Dell EC
(planned) Fan location. Data source: Dell EC

Firmware

EFI

FieldTypeDescription
(planned) EFIFirmwareBitness. Identify if UEFI is IA32 or x86_64 as we support some 32bit UEFI devices

Graphic

GraphicsInfo
FieldTypeDescription
gles_infoGLESInfoOpenGL
egl_infoEGLInfoEGL information.

EGL

EGLInfo
FieldTypeDescription
versionstringEGL version.
vendorstringEGL vendor.
client_apistringEGL client API.
extensionsarray<string>EGL extensions.

GL ES

GLESInfo
FieldTypeDescription
versionstringGL version.
shading_versionstringGL shading version.
vendorstringGL vendor.
rendererstringGL renderer.
extensionsarray<string>GL extensions.

Input

InputInfo
FieldTypeDescription
touchpad_library_namestringThe touchpad library name used by the input stack.
touchscreen_devicesarray<TouchscreenDevice>The touchscreen devices.
TouchscreenDevice
FieldTypeDescription
input_deviceInputDeviceThe input device of this touchscreen.
touch_pointsint32Number of touch points this device supports (0 if unknown).
has_stylusboolTrue if the specified touchscreen device is stylus capable.
has_stylus_garage_switchboolTrue if there is a garage/dock switch associated with the stylus.
InputDevice
FieldTypeDescription
namestringName of the device.
connection_typeConnectionTypeThe connection type of the input device.
physical_locationstringThe physical location(port) associated with the input device. This is (supposed to be) stable between reboots and hotplugs. However this may not always be set and will change when the device is connected via a different port.
is_enabledboolIf the device is enabled, and whether events should be dispatched to UI.
ConnectionType
EnumDescription
kUnmappedEnumFieldFor mojo backward compatibility.
kInternalInternally connected input device.
kUSBKnown externally connected usb input device.
kBluetoothKnown externally connected bluetooth input device.
kUnknownDevice that may or may not be an external device.

Lid

FieldTypeDescription
(planned) lid status. Open or Close.

Log

OS crash

FieldTypeDescription
(planned) system_crach_log (detail in confluence)

Memory

General

MemoryInfo
FieldTypeDescription
total_memory_kibuint32Total memory, in KiB.
free_memory_kibuint32Free memory, in KiB.
available_memory_kibuint32Available memory, in KiB.
page_faults_since_last_bootuint64Number of page faults since the last boot.
memory_encryption_infoMemoryEncryptionInfo?Memory Encryption info.

Memory Encryption

MemoryEncryptionInfo
FieldTypeDescription
encryption_stateEncryptionStateMemory encryption state.
max_key_numberuint32Encryption key length.
key_lengthuint32Encryption key length.
active_algorithmCryptoAlgorithmCrypto algorithm currently used.
EncryptionState
EnumDescription
kUnknownUnknown.
kEncryptionDisabledEncryption is disabled.
kTmeEnabledTme is enabled.
kMktmeEnabledMulti-key Tme is enabled.
CryptoAlgorithm
EnumDescription
kUnknownUnknown.
kAesXts128AesXts128.
kAesXts256AesXts256.

Misc

FieldTypeDescription
(planned) Dell ePSA report
(planned) Customer name/defined

Network

Health

Network
FieldTypeDescription
typeNetworkTypeThe network interface type.
stateNetworkStateThe current status of this network. e.g. Online, Disconnected.
guidstring?The unique identifier for the network when a network service exists.
namestring?The user facing name of the network if available.
mac_addressstring?Optional string for the network's mac_address.
signal_strengthuint32?Signal strength of the network provided only for wireless networks. Values
are normalized between 0 to 100 inclusive. Values less than 30 are
considered potentially problematic for the connection. See
src/platform2/shill/doc/service-api.txt for more details.
ipv4_addressstring?Optional string for the network's ipv4_address. This is only intended to be
used for display and is not meant to be parsed.
ipv6_addressesarray<string>Optional list of strings for the network's ipv6_addresses. A single network
can have multiple addresses (local, global, temporary etc.). This is only
intended to be used for display and is not meant to be parsed.
portal_statePortalStateAn enum of the network's captive portal state. This information is
supplementary to the NetworkState.
signal_strength_statsSignalStrengthStats?The statistics of the signal strength for wireless networks over a 15
minute period. See SignalStrengthStats for more details.
NetworkType
EnumDescription
kAllAll.
kCellularCellular.
kEthernetEthernet.
kMobileMobile includes Cellular, and Tether.
kTetherTether.
kVPNVPN.
kWirelessWireles includes Cellular, Tether, and WiFi.
kWiFiWiFi.
NetworkState
EnumDescription
kUninitializedThe network type is available but not yet initialized.
kDisabledThe network type is available but disabled or disabling.
kProhibitedThe network type is prohibited by policy.
kNotConnectedThe network type is available and enabled or enabling, but no network connection has been established.
kConnectingThe network type is available and enabled, and a network connection is in progress.
kPortalThe network is in a portal state.
kConnectedThe network is in a connected state, but connectivity is limited.
kOnlineThe network is connected and online.
PortalState
EnumDescription
kUnknownThe network is not connected or the portal state is not available.
kOnlineThe network is connected and no portal is detected.
kPortalSuspectedA portal is suspected but no redirect was provided.
kPortalThe network is in a portal state with a redirect URL.
kProxyAuthRequiredA proxy requiring authentication is detected.
kNoInternetThe network is connected but no internet is available and no proxy was detected.
SignalStrengthStats
FieldTypeDescription
averagefloatA value representing the average recent signal strength.
deviationfloatA value representing the recent deviation of the signal strength.
samplesarray<uint8>The samples of the signal strength over the polled period. This value is only for debugging and diagnostics purposes. The other indicators in this struct are the canonical stats for the signal strength. Max Size: (12 * 15) = 180 samples.
NetworkHealthState
FieldTypeDescription
networksarray<Network>This is a list of networking devices and any associated connections.
Only networking technologies that are present on the device are included.
Networks will be sorted with active connections listed first.

Interface

NetworkInterfaceInfo
FieldTypeDescription
wireless_interface_infoWirelessInterfaceInfoWireless interfaces.

LAN

FieldTypeDescription
(planned) RX Bytes
(planned) TX Bytes
(planned) Interface Name
(planned) LAN Speed

WLAN

FieldTypeDescription
(planned) RX Bytes
(planned) TX Bytes
(planned) Radio On/Off

WWAN / modem

FieldTypeDescription
(planned) Manufacturer
(planned) Model
(planned) IMEI

Wifi Interface

WirelessInterfaceInfo
FieldTypeDescription
interface_namestringInterface name.
power_management_onboolIs power management enabled for wifi or not.
wireless_link_infoWirelessLinkInfo?Link info only available when device is connected to an access point.
access_point_address_strstringAccess point address.
tx_bit_rate_mbpsuint32Tx bit rate measured in Mbps.
rx_bit_rate_mbpsuint32Rx bit rate measured in Mbps.
tx_power_dBmint32Transmission power measured in dBm.
encyption_onboolIs wifi encryption key on or not.
link_qualityuint32Wifi link quality.
signal_level_dBmint32Wifi signal level in dBm.
WirelessLinkInfo
FieldTypeDescription
access_point_address_strstringAccess point address.
tx_bit_rate_mbpsuint32Tx bit rate measured in Mbps.
rx_bit_rate_mbpsuint32Rx bit rate measured in Mbps.
tx_power_dBmint32Transmission power measured in dBm.
encyption_onboolIs wifi encryption key on or not.
link_qualityuint32Wifi link quality.
signal_level_dBmint32Wifi signal level in dBm.

OS

FieldTypeDescription
(planned) OS uptime
(planned) PQL (Process Queue Length)
(planned) hostname

Performance

Booting

FieldTypeDescription
(planned) Last restart time (differ from shutdown?)
BootPerformanceInfo
FieldTypeDescription
boot_up_secondsdoubleTotal time since power on to login screen prompt.
boot_up_timestampdoubleThe timestamp when power on.
shutdown_secondsdoubleTotal time(rough) since shutdown start to power off.
Only meaningful when shutdown_reason is not “N/A”.
shutdown_timestampdoubleThe timestamp when shutdown.
Only meaningful when shutdown_reason is not “N/A”.
shutdown_reasonstringThe shutdown reason (including reboot).
tpm_initialization_secondsdouble?TPM initialization time.

Sensor

SensorInfo
FieldTypeDescription
lid_angleuint16?Angle between lid and base.
sensorsarray<Sensor>?Information about the device's sensors.
Sensor
FieldTypeDescription
namestring?The name of sensor.
device_idint32The ID of sensor.
typeTypeThe type of sensor.
locationLocationThe location of sensor.
Type
EnumDescription
kUnmappedEnumFieldFor mojo backward compatibility, should not be used.
kAccelAccelerometer.
kLightLight sensor.
kGyroAngular velocity sensor, also known as Gyro sensor.
kAngleAngle sensor.
kGravityGravity sensor.
kMagnMagnetometer.
Location
EnumDescription
kUnmappedEnumFieldFor mojo backward compatibility, should not be used.
kUnknownUnknown location.
kBaseBase.
kLidLid.
kCameraCamera.

Storage

Device

NonRemovableBlockDeviceInfo
FieldTypeDescription
bytes_read_since_last_bootuint64Bytes read since last boot.
bytes_written_since_last_bootuint64Bytes written since last boot.
read_time_seconds_since_last_bootuint64Time spent reading since last boot.
write_time_seconds_since_last_bootuint64Time spent writing since last boot.
io_time_seconds_since_last_bootuint64Time spent doing I/O since last boot. Counts the time the disk and queue
were busy, so unlike the fields above, parallel requests are not counted
multiple times.
discard_time_seconds_since_last_bootuint64?Time spent discarding since last boot. Discarding is writing to clear
blocks which are no longer in use. Supported on kernels 4.18+.
device_infoBlockDeviceInfo?Device specific info.
vendor_idBlockDeviceVendorDevice vendor identification.
product_idBlockDeviceProductDevice product identification.
revisionBlockDeviceRevisionDevice revision.
namestringDevice model.
sizeuint64Device size in bytes.
firmware_versionBlockDeviceFirmwareFirmware version.
typestringStorage type, could be MMC / NVMe / ATA, based on udev subsystem.
purposeStorageDevicePurposePurpose of the device e.g. “boot”, “swap”.
pathstringThe path of this storage on the system. It is useful if caller needs to
correlate with other information.
manufacturer_iduint8Manufacturer ID, 8 bits.
serialuint32PSN: Product serial number, 32 bits
BlockDeviceInfo

(Union/one-of type) The device-specific info.

FieldTypeDescription
nvme_device_infoNvmeDeviceInfo(NVMe only)
emmc_device_infoEmmcDeviceInfo(eMMC only)
ufs_device_infoUfsDeviceInfo(UFS only)
NvmeDeviceInfo
FieldTypeDescription
subsystem_vendoruint32The manufacturer ID.
subsystem_deviceuint32The product ID.
pcie_revuint8The product revision.
firmware_revuint64The firmware revision.
EmmcDeviceInfo
FieldTypeDescription
manfiduint16The manufacturer ID.
pnmuint64The product name.
prvuint8The product revision.
fwrevuint64The firmware revision.
UfsDeviceInfo
FieldTypeDescription
jedec_manfiduint16The JEDEC manufacturer ID.
fwrevuint64The firmware revision.
BlockDeviceVendor

(Union/one-of type) The manufacturer of the block device.

FieldTypeDescription
nvme_subsystem_vendoruint32(NVMe only) The manufacturer ID.
emmc_oemiduint16(eMMC only) The manufacturer ID.
otheruint16Unsupported.
unknownuint64Unknown.
jedec_manfiduint16(UFS only) The JEDEC manufacturer ID.
BlockDeviceProduct

(Union/one-of type) The manufacturer-specific product identifier.

FieldTypeDescription
nvme_subsystem_deviceuint32(NVMe only) The product ID.
emmc_pnmuint64(eMMC only) The product name.
otheruint16Unsupported.
unknownuint64Unknown.
BlockDeviceRevision

(Union/one-of type) The revision of the device's hardware.

FieldTypeDescription
nvme_pcie_revuint8(NVMe only) The product revision.
emmc_prvuint8(eMMC only) The product revision.
otheruint16Unsupported.
unknownuint64Unknown.
BlockDeviceFirmware

(Union/one-of type) The revision of the device's firmware.

FieldTypeDescription
nvme_firmware_revuint64(NVMe only) The firmware revision.
emmc_fwrevuint64(eMMC only) The firmware revision.
otheruint16Unsupported.
unknownuint64Unknown.
ufs_fwrevuint64(UFS only) The firmware revision.
StorageDevicePurpose
EnumDescription
kUnknownUnknown.
kBootDeviceBoot device.
kSwapDeviceSwap device.

Device (SMART)

FieldTypeDescription
(planned) SMART - Temperature
(planned) SMART - total block read
(planned) SMART - total block write
(planned) SMART - model name
(planned) SMART - Temperature
(planned) SMART - power cycle count
(planned) SMART - power on hours
(planned) NVMe Dell Smart Attribute

IO

FieldTypeDescription
(planned) Idle time

Logical Drive

FieldTypeDescription
(planned) Name
(planned) Size_MB
(planned) Type
(planned) Freespace_MB

Others

FieldTypeDescription
(planned) ePPID (Dell exclusive data)

Partition

FieldTypeDescription
(planned) LSB size
(planned) Partition size
(planned) Partition Free Size

StatefulPartition

StatefulPartitionInfo
FieldTypeDescription
available_spaceuint64Available space for user data storage in the device in bytes.
total_spaceuint64Total space for user data storage in the device in bytes.
filesystemstringFile system on stateful partition. e.g. ext4.
mount_sourcestringSource of stateful partition. e.g. /dev/mmcblk0p1.

System

CPU

FieldTypeDescription
(planned) CPU - serial number

DMI (SMBIOS)

FieldTypeDescription
(planned) DIMM - location
(planned) DIMM - manufacturer
(planned) DIMM - part number
(planned) DIMM - serial number
(planned) BIOS Version
(planned) Chassis type/System Type
(planned) Motherboard product name
(planned) Motherboard serial number
(planned) Motherboard version
(planned) Service Tag
DmiInfo
FieldTypeDescription
bios_vendorstring?The BIOS vendor.
bios_versionstring?The BIOS version.
board_namestring?The product name of the motherboard.
board_vendorstring?The vendor of the motherboard.
board_versionstring?The version of the motherboard.
chassis_vendorstring?The vendor of the chassis.
chassis_typeuint64?The chassis type of the device. The values reported by chassis type are
mapped in
www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.0.0.pdf.
product_familystring?The product family name.
product_namestring?The product name (model) of the system.
product_versionstring?The product version.
sys_vendorstring?The system vendor name.

OS Env

FieldTypeDescription
(planned) Language locale
(planned) Display language
(planned) timezone

OS Image

FieldTypeDescription
(planned) OS Architecture (x86, x64, arm, arm64)
OsInfo
FieldTypeDescription
code_namestringGoogle code name for the given model. While it is OK to use this string for
human-display purposes (such as in a debug log or help dialog), or for a
searchable-key in metrics collection, it is not recommended to use this
property for creating model-specific behaviors.
marketing_namestring?Contents of CrosConfig in /arc/build-properties/marketing-name.
os_versionOsVersionThe OS version of the system.
boot_modeBootModeThe boot flow used by the current boot.
oem_namestring?Contents of CrosConfig in /branding/oem-name.
BootMode
EnumDescription
kUnknownUnknown.
kCrosSecureBoot with ChromeOS firmware.
kCrosEfiBoot with EFI.
kCrosLegacyBoot with Legacy BIOS.
kCrosEfiSecureBoot with EFI security boot.
OsVersion
FieldTypeDescription
release_milestonestringThe OS version release milestone (e.g. “87”).
build_numberstringThe OS version build number (e.g. “13544”).
patch_numberstringThe OS version patch number (e.g. “59.0”).
release_channelstringThe OS release channel (e.g. “stable-channel”).

Time zone

TimezoneInfo
FieldTypeDescription
posixstringThe timezone of the device in POSIX standard.
regionstringThe timezone region of the device.

VPD

FieldTypeDescription
(planned) Dell product name
(planned) Asset Tag
(planned) UUID
(planned) System ID
VpdInfo
FieldTypeDescription
serial_numberstring?A unique identifier of the device. (Required RO VPD field)
regionstring?Defines a market region where devices share a particular configuration of
keyboard layout, language, and timezone. (Required VPD field)
mfg_datestring?The date the device was manufactured. (Required RO VPD field)
Format: YYYY-MM-DD.
activate_datestring?The date the device was first activated. (Runtime RW VPD field)
Format: YYYY-WW.
sku_numberstring?The product SKU number. (Optional RO VPD field. b/35512367)
model_namestring?The product model name. (Optional RO VPD field. b/35512367)
oem_namestring?OEM name of the device. (Optional RO VPD field)

TPM

TpmInfo
FieldTypeDescription
versionTpmVersionTPM version related information.
statusTpmStatusTPM status related information.
dictionary_attackTpmDictionaryAttackTPM dictionary attack (DA) related information.
attestationTpmAttestationTPM attestation related information.
supported_featuresTpmSupportedFeaturesTPM supported features information.
did_vidstring?[Do NOT use] TPM did_vid file. This field is only used in Cloudready
project. It is going to drop the support in few milestone.

Attestation

TpmAttestation
FieldTypeDescription
prepared_for_enrollmentboolIs prepared for enrollment? True if prepared for any CA.
enrolledboolIs enrolled (AIK certificate created)? True if enrolled with any CA.

Dictionary Attack

TpmDictionaryAttack
FieldTypeDescription
counteruint32The current dictionary attack counter value.
thresholduint32The current dictionary attack counter threshold.
lockout_in_effectboolWhether the TPM is in some form of dictionary attack lockout.
lockout_seconds_remaininguint32The number of seconds remaining in the lockout.

TPM Status

TpmStatus
FieldTypeDescription
enabledboolWhether a TPM is enabled on the system.
ownedboolWhether the TPM has been owned.
owner_password_is_presentboolWhether the owner password is still retained.
TpmSupportedFeatures
FieldTypeDescription
support_u2fboolWhether the u2f is supported or not.
support_pinweaverboolWhether the pinweaver is supported or not.
support_runtime_selectionboolWhether the platform supports runtime TPM selection or not.
is_allowedboolWhether the TPM is allowed to use or not.
TpmVersion
FieldTypeDescription
gsc_versionTpmGSCVersionGSC version.
familyuint32TPM family. We use the TPM 2.0 style encoding, e.g.:
* TPM 1.2: “1.2” -> 0x312e3200
* TPM 2.0: “2.0” -> 0x322e3000
spec_leveluint64TPM spec level.
manufactureruint32Manufacturer code.
tpm_modeluint32TPM model number.
firmware_versionuint64Firmware version.
vendor_specificstring?Vendor specific information.
TpmGSCVersion
EnumDescription
kNotGSCFor the devices which cannot be classified.
kCr50Devices with Cr50 firmware.
kTi50Devices with Ti50 firmware.

Video

FieldTypeDescription
(planned) Video Controller name
(planned) Video RAM (Bytes)

Process

ProcessInfo
FieldTypeDescription
commandstringCommand which started the process.
user_iduint32User the process is running as.
priorityint8If the process is running a real-time scheduling policy, this field is the negated scheduling priority, minus one. Real-time priorities range from 1 to 99, so this will range from -2 to -100. If the process is not running a real-time scheduling priority, this field will be the raw nice value, where 0 corresponds to the user-visible high priority nice value of -20, and 39 corresponds to the user-visible low priority nice value of 19.
niceint8User-visible nice value of the process, from a low priority of 19 to a high priority of -20.
uptime_ticksuint64Uptime of the process, in clock ticks.
stateProcessStateState of the process.
total_memory_kibuint32Total memory allocated to the process, in KiB.
resident_memory_kibuint32Amount of resident memory currently used by the process, in KiB.
free_memory_kibuint32Unused memory available to the process, in KiB. This will always be |total_memory_kib| - |resident_memory_kib|.
bytes_readuint64The sum of bytes passed to system read calls. This includes terminal I/O and is independent of whether the physical disk is accessed.
bytes_writtenuint64The sum of bytes passed to system write calls. This includes terminal I/O and is independent of whether the physical disk is accessed.
read_system_callsuint64Attempted count of read syscalls.
write_system_callsuint64Attempted count of write syscalls.
physical_bytes_readuint64Attempt to count the number of bytes which this process really did cause to be fetched from the storage layer.
physical_bytes_writtenuint64Attempt to count the number of bytes which this process caused to be sent to the storage layer.
cancelled_bytes_writtenuint64Number of bytes which this process caused to not happen, by truncating pagecache.
namestring?Filename of the executable.
parent_process_iduint32PID of the parent of this process.
process_group_iduint32Process group ID of the group.
threadsuint32Number of threads in this process.
process_iduint32Process ID of this process.
ProcessState
EnumDescription
kUnknownUnknown.
kRunningThe process is running.
kSleepingThe process is sleeping in an interruptible wait.
kWaitingThe process is waiting in an uninterruptible disk sleep.
kZombieThe process is a zombie.
kStoppedThe process is stopped on a signal.
kTracingStopThe process is stopped by tracing.
kDeadThe process is dead.
kIdleThe process is idle.

Events

Audio

InterfaceAdditional dataDescription
OnUnderrun-Fired when the audio underrun happens.
OnSevereUnderrun-Fired when the audio severe underrun happens.

Bluetooth

InterfaceAdditional dataDescription
OnAdapterAdded-Fired when a Bluetooth adapter is added.
OnAdapterRemoved-Fired when a Bluetooth adapter is removed.
OnAdapterPropertyChanged-Fired when a property of a Bluetooth adapter is changed.
OnDeviceAdded-Fired when a Bluetooth device is added.
OnDeviceRemoved-Fired when a Bluetooth device is removed.
OnDevicePropertyChanged-Fired when a property of a Bluetooth device is changed.

Lid

InterfaceAdditional dataDescription
OnLidClosed-Fired when the device's lid is closed.
OnLidOpened-Fired when the device's lid is opened.

Network

InterfaceAdditional dataDescription
OnConnectionStateChangedstring guid
NetworkState state
Fired when a network’s connection state changes.
OnSignalStrengthChangedstring guid
uint32 signal_strength
Fired when a wireless network’s signal strength changes by ten or more percent. See the definition of |signal_strength| in Network.

Power

InterfaceAdditional dataDescription
OnAcInserted-Fired when the device begins consuming from an external power source.
OnAcRemoved-Fired when the device stops consuming from an external power source.
OnOsSuspend-Fired when the system receives a suspend request.
OnOsResume-Fired when the system completes a suspend request.

Thunderbolt

InterfaceAdditional dataDescription
OnAdd-Fired when the Thunderbolt plug in.
OnRemove-Fired when the Thunderbolt plug out.
OnAuthorized-Fired when the Thunderbolt device is authorized.
OnUnAuthorized-Fired when the Thunderbolt device is unauthorized.

USB

InterfaceAdditional dataDescription
OnAddUsbEventInfo infoFired when the USB plug in.
OnRemoveUsbEventInfo infoFired when the USB plug out.
UsbEventInfo
FieldTypeDescription
vendorstringVendor name.
namestringName, model name, product name.
viduint16Vendor ID.
piduint16Product ID.
categoriesarray<string>USB device categories. https://www.usb.org/defined-class-codes.