Commit Graph

3 Commits

Author SHA1 Message Date
Jack He
1021a61081 Atom: Add more Bluetooth atoms
* BluetoothHciTimeoutReported is logged when Bluetooth controller
  failed to respond to an HCI command in time
* BluetoothQualityReportReported is logged when Bluetooth controller
  sends a link quality report event to Android host due to bad link
  quality
* BluetoothManufacturerInfoReported is logged when we learn about
  manufactuer defined metadata for a device such as manufactuer name
  model number, software version, and hardware version
* BluetoothRemoteVersionInfoReported is logged when we learn about
  the manufactuer and Bluetooth version of remote Bluetooth controller
  and stack
* BluetoothSdpAttributeReported is logged when we learn about services
  provided by the remote device and their metdata such as protocol
  version and feature bitmask. Only profiles that use 16-bit UUIDs are
  logged
* BluetoothBondStateChanged is logged when Bluetooth bonding state is
  changed a a macro level such as none -> bonding, bonding -> bonded,
  and user interaction events such as passkey confirmation
* BluetoothClassicPairingEventReported is logged from native layer
  when Bluetooth classic pairing state changed due to HCI command
  or events. This is a more verbose level logging compared to
  BluetoothBondStateChanged
* BluetoothSmpPairingEventReported is logged from native layer when
  Bluetooth Security Manager Protocol based pairing state changed due to
  SMP command sent or received. Pairing failure reason code is also
  logged as a pre-defined enum

Bug: 112969790
Test: test drive with statsd
Change-Id: I94d1530758f79ce6d5f119426b1379c76517afec
2019-01-28 13:56:33 -08:00
Jack He
c27040aea7 Atom: Add A2DP playback related atoms to StatsLog
* BluetoothA2dpPlaybackStateChanged:
  - Logged when A2DP playback state changed for individual devices
* BluetoothA2dpCodecConfigChanged
  - Logged when A2DP codec configuration changed for individual devices
* BluetoothA2dpCodecCapabilityChanged
  - Logged when A2DP codec capability changed for individual devices
* BluetoothActiveDeviceChanged
  - Logged when A2DP/HFP/HEARNING_AID active device changed
* BluetoothA2dpAudioOverrunReported
  - Logs when A2DP failed send encoded data to the remote device fast
    enough such that the transmit buffer queue is full and we have to
    drop data
* BluetoothA2dpAudioUnderrunReported
  - Logs when A2DP failed to read from PCM source
* BluetoothDeviceRssiReported
  - Logged when remote device's RSSI level is reported by the controller
* BluetoothDeviceFailedContactCounterReported
  - Logged when ACL transmit queue was flushed by the controller
  - This is normally disabled unless we set automatic flush timeout was
    set to a non-zero value
  - However, when this event is reported, the connection quality must
    be very bad
* BluetoothDeviceTxPowerLevelReported
  - Logged when transmit power level is reported for a particular
    connection

Bug: 112969790
Test: make, testdrive with statsd
Change-Id: I7deb85567630fae75be733df21b45f9c6bcf9e17
2019-01-28 13:55:54 -08:00
Jack He
ab86dbd20c Atom: Add BluetoothLinkLayerConnectionEvent atom
* Add this atom to report events related to Bluetooth link layer
  connection, including:
  - Obfuscated ID of remote device
  - Connection handle
  - Direction of the connection
  - Type of the connection
  - Associated HCI command and/or event
  - Status code associated with HCI command and/or event
  - Reason code associated with HCI command and/or event
* Add enum definitions for HCI commands and events as defined in the
  Bluetooth 5.0 specification
* Add enum definitions for link type and direction

Bug: 112969790
Test: make, test drive with statsd
Change-Id: I0fdc59274d49ad503e9ba9cf8f49c9d8872a4131
2019-01-15 20:07:32 -08:00