Log min_score_adj when lmkd kills a process to determine the oom_score
levels that lmkd considers during the kill.
Accompanies Piper cl/236692672
Bug: 123024834
Change-Id: Ibfec13ef80ef1d74f5f224dde2e24970f7a88bfa
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
This is used in other parts of the framework for serializing some
statsd text proto config at build time. The filegroup allows aprotoc
to access the definitions elsewhere in the source tree.
Bug: 120569785
Test: Build is not affected.
Change-Id: I82a5f8869a2d05ea27d205f471b9c5b5b875fefc
Merged-In: I0e37a9b9a1f22a5dcebbf07ccc5cad98cf76024c
This reverts commit a738111eee.
Reason for revert: mistakenly used "RESTRICT AUTOMERGE" on the title.
Change-Id: I7ec9917887763912114405ba89eb5f0fac328d97
To pick up statsd atom ProcessStartTime.
Bug: None.
Test: NA.
Change-Id: If6b99c0b6b501036ffde1e9a45194a039a8d7c73
Merged-In: Ifcc0c80f1da45c2ff89f7c88da6407ba777473e2
* Add server_port field to track the server port number of a socket
* Add socket_role field to track whether the socket is a server listener
or a connection socket
* Add uid field to track the owner of the socket
Bug: 112969790
Test: make, test drive with statsd
Change-Id: I0c86b724c748844009b8120befd454fb96137a61
* Logs when a Bluetooth socket's connection state is changed
* A Bluetooth socket can be:
- RFCOMM socket
- SCO socket
- BR/EDR L2CAP socket
- BLE L2CAP socket
Bug: 112969790
Test: make, test drive with statsd
Change-Id: I97b1e650e197a0dad1e2959e2f5b4dd98370d892
Merged-In: I97b1e650e197a0dad1e2959e2f5b4dd98370d892
(cherry picked from commit 815cdbaae0)
* 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
Merged-In: I94d1530758f79ce6d5f119426b1379c76517afec
(cherry picked from commit 1021a61081)
* 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
Merged-In: I7deb85567630fae75be733df21b45f9c6bcf9e17
(cherry picked from commit c27040aea7)
Package name of NetworkStack may be different or be updated
further. Use AID_NETWORK_STACK in statsd for better
maintenance.
Bug: 123260425
Test: atest statsd_test
Change-Id: I18d58f03642b4a4465c23197162d239206cb1df4
* Use salted hashed Bluetooth device identifier and deprecate old
ofuscted_id
* Add BluetoothAclConnectionStateChanged and BluetoothScoConnectionStateChanged
to track ACL and SCO connections
Bug: 112969790
Test: Bluetooth unit test, test drive with statsd
Change-Id: I5398e4caae751e1fe1d6a95fa3bc56d062eb6172
Merged-In: I5398e4caae751e1fe1d6a95fa3bc56d062eb6172
(cherry picked from commit d9837c8a9e)
* 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
Merged-In: I0fdc59274d49ad503e9ba9cf8f49c9d8872a4131
(cherry picked from commit ab86dbd20c)
Test: run runtests.sh, make sure no missing test and get all pass
run /out/host/linux-x86/bin/statsd_testdrive
116
Got following metric data dump:pass for local test
Bug: 119862317
Change-Id: I83ee8500fac7f443711ced097cbd376feb801ccf
Merged-in: I4588cec0dea8a4c5a19847a32a6d53bfc5953be7
Test: unit test added
Bug: 120635548
Change-Id: I825b1ce526944a20fe65705508ad180ece37492c
Merged-In: I825b1ce526944a20fe65705508ad180ece37492c
(cherry picked from commit 8e6f998300)
There are an increasing number of requests to log data in complex format to statsd, while the data
is not expected to be parsed or aggregated by statsd and only to be uploaded as events.
Instead of making an exception for each of these cases in a hard coded way, this CL add a feature to
annotate these field in atoms.proto and the stats-log-api-gen tool will produce byte array
interfaces for them.
Note that log_msg does not have byte array type, and only has string type, when statsd receives the
log, these fields are in string type. Only when the atom is written to proto, we will check if this
field should be bytes field and write it to protobuf in message format.
Change-Id: If53dd95c5826710c76d7fe982bf951a435dfc738
Merged-In: If53dd95c5826710c76d7fe982bf951a435dfc738
Fix: 118386797
Bug: 120635548
Test: unit test & manual test
(cherry picked from commit bbdd67d19f)
KernelUidCpuTimeReader reads microseconds, but they are written to a
millisecond field in atoms.proto. Introduced in ag/3693225.
See google3 change: cl/222044203
Test: build
Bug: 119853118
Change-Id: I170e996aa852e28a246a98226677907bb3560371
Currently, statsd uses wall clock seconds to write data to disk. This
issue affects both thermal and normal shutdowns, because if two writes
occur in the same second, the more recent write will overwrite the older
write, erasing the actual data that we want.
For thermal shutdowns, we write twice. Once because of termination
signal received, and once because of binder death recipient from
statscompanion service.
For normal clean shutdowns, we write 3 times. In addition to the two
above, we write for the shutdown received signal.
This fix introduces a cool down period of 3 seconds between writing to
disk.
Bug: 112432890
Test: statsd unit tests
Test: statsd cts tests
Test: manually verified normal shutdown had 1 file written to disk
Test: manually verified thermal shutdown had 1 file written to disk
Change-Id: I4cd39de9063935e762ff7d00051ccc915f31e89a
Protobuf 3.5.2 redefines google::protobuf::uint64 from unsigned long
long to uint64_t, which is sometimes unsigned long and sometimes
unsigned long long. Use PRIu64 to print it, and add an implementation
of ProtoOutputStream::write for long.
Bug: 117607748
Test: m checkbuild
Change-Id: I48912f58e2f63f4a98c3aefaa4f78cc2c719bb68
libplatformprotos for the device is compiled using proto lite, and
statsd_test and statsd_benchmark have protos that reference the
libplatformprotos. With protobuf 3.5.2 compiling a full proto
against a lite proto doesn't work. Convert them to lite. Requires
adding the protobuf internal protos to the sources,
libprotobuf-cpp-lite does not contain the compiled version of
field_options.proto.
Bug: 117607748
Test: m checkbuild
Change-Id: I6a618c4118972c0e5ffb07a361ac6612b9069c5d
See build/soong/README.md for more information.
Test: m checkbuild
Merged-In: I8c80878cec46c9299234c6f4c1e0e19efc0a221e
Change-Id: I8c80878cec46c9299234c6f4c1e0e19efc0a221e
This is a cherry-pick from master to pi-dev.
Test: local test
BUG: b/112432890
Change-Id: Ie360f5c8df53d3b5b04f23df43ab8dc14b69ae26
Merged-In: Iaed318671a719cc366d4e6be9f77270147ba6596
Background: BatteryStatsService tracks the phone scanning time metric. In Q,
we are migrating the dumpsys-based collection to the new infra. This CL is to
instrument the new logging mechanism.
Test: statsd test
FIX: b/116748990
Change-Id: I3cf5e0026bfc6f594c5f7b524f14b3a43b702afb
The current wording seems to suggest allocating an infinite number of
fields, which is not future-proof.
Bug: 72866543
Test: N/A
Change-Id: I88732ea8695521a39f20524348547cfe50cbf776