Commit Graph

789 Commits

Author SHA1 Message Date
Suren Baghdasaryan
1fbaa1f2b2 Add min_score_adj into LmkKillOccurred event
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>
2019-03-05 15:24:08 +00:00
Howard Ro
b52793ab2a Remove gaillard@google.com from OWNERS of statsd
Test: not needed for OWNERS change
Change-Id: I6c15067c86dc38784979d6da1265ceb0a3fc5ce5
2019-03-01 16:39:56 -08:00
Harry Zhang
330403de24 Added a filegroup for statsd config proto definition.
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
2019-02-26 22:43:40 +00:00
Xin Li
07ec9dbec5 Merge "DO NOT MERGE - Merge pi-platform-release (PPRL.190205.001) into stage-aosp-master" into stage-aosp-master 2019-02-14 22:11:32 +00:00
Xin Li
0e71b4f19b DO NOT MERGE - Merge pi-platform-release (PPRL.190205.001) into
stage-aosp-master

Bug: 124234733
Change-Id: Ic4f67fde0835da0b1c363906cccef0d244e38393
2019-02-14 09:48:06 -08:00
Hui Yu
f57e401241 Manually merge 885aca1bba to aosp-master
Bug: None.
Test: NA.
Change-Id: I04ebbaa3c2f939b139f0b8b6f25777383fd42375
Merged-In: Ifcc0c80f1da45c2ff89f7c88da6407ba777473e2
2019-02-13 20:32:27 +00:00
Hui Yu
a558b05d53 Revert "RESTRICT AUTOMERGE: Manually merge 885aca1bba to aosp-master"
This reverts commit a738111eee.

Reason for revert: mistakenly used "RESTRICT AUTOMERGE" on the title.

Change-Id: I7ec9917887763912114405ba89eb5f0fac328d97
2019-02-13 20:10:27 +00:00
Hui Yu
a738111eee RESTRICT AUTOMERGE: Manually merge 885aca1bba to aosp-master
To pick up statsd atom ProcessStartTime.

Bug: None.
Test: NA.
Change-Id: If6b99c0b6b501036ffde1e9a45194a039a8d7c73
Merged-In: Ifcc0c80f1da45c2ff89f7c88da6407ba777473e2
2019-02-12 19:17:44 +00:00
Jack He
e4ae0e7516 Atom: add more information to BluetootSocketConnectionStateChanged
* 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
2019-02-07 17:44:46 -08:00
Jack He
9c30c7c6ba Atom: Add BluetoothSocketConnectionStateChanged
* 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)
2019-02-06 11:12:08 -08:00
Jack He
4d6abe6534 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
Merged-In: I94d1530758f79ce6d5f119426b1379c76517afec
(cherry picked from commit 1021a61081)
2019-01-28 17:30:05 -08:00
Jack He
924f346b45 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
Merged-In: I7deb85567630fae75be733df21b45f9c6bcf9e17
(cherry picked from commit c27040aea7)
2019-01-28 17:29:49 -08:00
Treehugger Robot
1e02188bfe Merge "Add gaillard@ to owners." 2019-01-28 15:37:24 +00:00
Treehugger Robot
961a43eae2 Merge "Define Nfc statistic data atoms" 2019-01-24 20:25:57 +00:00
Olivier Gaillard
661d053916 Add gaillard@ to owners.
Test: n/a
Change-Id: I6f04ee34319c780cd9d7e6c842c3a3e9c29d0b0c
2019-01-24 11:36:13 +00:00
Jack Yu
6d421bc5e5 Define Nfc statistic data atoms
Test: Manual
Bug:116641110

Change-Id: Ia7e56c159d64804049abf39717e3eeae43373a76
Merged-In: Ib521a9f2d4d098022d973fe6c775231a518f3f49
2019-01-24 15:16:20 +08:00
Chiachang Wang
69e41313cc Add NetworkStack into AidToUidMapping
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
2019-01-23 15:07:36 +08:00
Jack He
22e4a1da50 Atom: Update BluetoothConnectionStateChanged atom
* 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)
2019-01-16 16:11:45 -08:00
Jack He
522601435d 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
Merged-In: I0fdc59274d49ad503e9ba9cf8f49c9d8872a4131
(cherry picked from commit ab86dbd20c)
2019-01-16 11:51:20 -08:00
Chiachang Wang
67f2447feb Add data_stall_event.proto to atoms.proto
Test: Build pass
Bug: 120452078
Bug: 121185319
Change-Id: I5a428fb60d4c1eb4fe397426606e937f27eacbc3
Merged-In: I96f74d938663d579e4fea1eee6a4a250d7e21b3a
2019-01-15 15:14:00 +08:00
lifr
35a7cf0192 Define DNS statistic data atom in atoms.proto file
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
2019-01-15 12:44:33 +08:00
Jim Blackler
972a5c51f6 Add start time to LmkKillOccurred
To accompany Piper cl/222070329 and https://googleplex-android-review.git.corp.google.com/c/platform/system/core/+/5578724

Bug: 119854389
Test: Manual
Change-Id: Ib2af1b66d4649279fdcb97e7cdf8cdb92e361765
Merged-In: Ib2af1b66d4649279fdcb97e7cdf8cdb92e361765
(cherry picked from Ib2af1b66d4649279fdcb97e7cdf8cdb92e361765)
2019-01-04 11:36:41 +00:00
Chih-Hung Hsieh
3227aabea6 Fix/suppress statsd google-explicit-constructor warnings
* Add explicit to conversion constructors/operators
* Remove redundant explicit of copy constructors

Bug: 28341362
Test: make with WITH_TIDY=1 DEFAULT_GLOBAL_TIDY_CHECKS=-*,google-explicit-constructor
Change-Id: Ifd0ca9a1afe4a2cb0456a36c69bee1633af5a93a
2018-12-20 15:17:33 -08:00
Chih-Hung Hsieh
a1b644e88c Fix performance-for-range-copy warnings
Bug: 30413223
Test: make with WITH_TIDY=1 DEFAULT_GLOBAL_TIDY_CHECKS=-*,performance*
Change-Id: Ie481e88025a7a1f3abde8ff63420d5ccd8577e52
2018-12-17 20:00:55 +00:00
Yao Chen
2822b4f42f Skip writing message field in an atom if it's empty
Test: unit test added
Bug: 120635548
Change-Id: I825b1ce526944a20fe65705508ad180ece37492c
Merged-In: I825b1ce526944a20fe65705508ad180ece37492c
(cherry picked from commit 8e6f998300)
2018-12-15 13:52:27 -08:00
Yao Chen
046b51295e Adding tests and move launcher.proto
Test: statsd_test
Bug: 120635548
Change-Id: I0655f70098d78f8f6dc9381921c4a687d2195bd4
Merged-In: I0655f70098d78f8f6dc9381921c4a687d2195bd4
(cherry picked from commit 8c43386145)
2018-12-15 13:52:06 -08:00
Hyunyoung Song
cc651c118e Add launcher.proto to atoms.proto
Test: blank
Bug: 113043444
Bug: 120635548
Change-Id: I7e0e72cdf68dcf195188dbab8fe2567fcbd5964e
Merged-In: I7e0e72cdf68dcf195188dbab8fe2567fcbd5964e
(cherry picked from commit c6d6b77ddc)
2018-12-15 13:51:39 -08:00
Yao Chen
8b71c74894 Allow atoms to log fields in bytes format.
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)
2018-12-15 13:51:08 -08:00
Misha Wagner
6bc6c91584 Fix issue in CpuTimePerUid where microseconds are used as milliseconds
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
2018-11-21 11:13:01 +00:00
Tej Singh
42f9e06418 Thermal shutdown fix: cool down on writing to disk
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
2018-11-09 20:37:42 +00:00
Wei Wang
e905bdb194 Merge "Log the thermal throttling event to enable conditional temperature pulling." into pi-dev 2018-11-07 22:51:12 +00:00
Colin Cross
054b0c0e06 Revert "Adapt to google::protobuf::uint64 type change"
This reverts commit fa6bc27df0.

Change-Id: I9f778e6daa9ae0c6080016ab0bd1e6e414ae6061
2018-11-04 17:24:27 -08:00
Colin Cross
47046b80d2 Revert "Convert statsd_test and statsd_benchmark to proto lite"
This reverts commit e7908d7b62.

Change-Id: I585991ab1d5b35930bee6e32b82714aa11fbcb41
2018-11-04 17:24:26 -08:00
Colin Cross
fa6bc27df0 Adapt to google::protobuf::uint64 type change
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
2018-11-02 11:35:48 -07:00
Colin Cross
e7908d7b62 Convert statsd_test and statsd_benchmark to proto lite
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
2018-11-02 11:35:48 -07:00
Colin Cross
05c9e5c24a Convert statsd and incidentd to Android.bp
See build/soong/README.md for more information.

Test: m checkbuild
Merged-In: I8c80878cec46c9299234c6f4c1e0e19efc0a221e
Change-Id: I8c80878cec46c9299234c6f4c1e0e19efc0a221e
2018-10-31 08:01:59 -07:00
Gopinath Elanchezhian
f469bd2f68 Merge "Add statsdprotolite in Android.bp" 2018-10-29 17:14:46 +00:00
gopinath
17593b0395 Add statsdprotolite in Android.bp
Bug: b/118482428

Test: make statsdprotolite
Change-Id: I5c27f3017be043b6809699158a94b32155163535
Merged-In: I857957e816506162496192fe0ad1da4dbdfd4efd
2018-10-26 23:16:39 +00:00
gopinath
9d426e141d allow statsd pull based on event trigger.
Bug: b/118482428

Test: make statsdprotolite
Change-Id: I5a40d5e6a409b65ca1639029d5da83c327ed1798
Merged-In: Ia15b1f209945f022edffb9ec5d673317d55d9e4f
2018-10-26 22:22:51 +00:00
Yangster-mac
80c4474a7b Log the thermal throttling event to enable conditional temperature pulling.
Test: statsd test

BUG: b/112432890

Change-Id: Ic0b175053ec6afe497eb67a31d3e1a7633df4c5b
Merged-in: If132bab9690043a9e3e89187dfb1a9ed8fd0c996
(cherry picked from commit e16189afca)
2018-10-26 20:03:07 +00:00
Yang Lu
658bc0e04f Persist data to disk when system shuts down
This is a cherry-pick from master to pi-dev.

Test: local test

BUG: b/112432890
Change-Id: Ie360f5c8df53d3b5b04f23df43ab8dc14b69ae26
Merged-In: Iaed318671a719cc366d4e6be9f77270147ba6596
2018-10-19 20:45:26 +00:00
Chih-Hung Hsieh
6c5b82f7c5 Fix implicit fallthrough warnings.
Test: make checkbuild
Bug: 112564944
Change-Id: Ia33bf816fb6b179ac0a5a6a20bcb50c11b47431d
2018-10-12 15:05:01 -07:00
Yangster
4ccebeadc7 Phone service state change atom.
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
2018-10-10 19:45:10 +00:00
Treehugger Robot
34bd3dfb39 Merge "statsd: Add AID mappings for iorapd" 2018-10-08 20:12:59 +00:00
Igor Murashkin
12bb16c955 statsd: Add AID mappings for iorapd
Bug: 117295673
Change-Id: Ie0c7a7bf823159492259ac1ec6680b45784afb84
2018-10-05 16:25:21 -07:00
Treehugger Robot
4593c78168 Merge "statsd: Add missing AIDs to UidMap" 2018-10-05 16:52:11 +00:00
Igor Murashkin
a1980ae12a statsd: Add missing AIDs to UidMap
Change-Id: I29f52727d344755a0c465105eb3a2c81b2bec700
2018-10-04 14:30:48 -07:00
Treehugger Robot
824f940195 Merge "Statsd atoms: restrict OEM fields 100000-199999" 2018-09-21 03:00:33 +00:00
Bookatz
76aafcfbea Statsd atoms: restrict OEM fields 100000-199999
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
2018-09-18 10:40:43 -07:00
Bookatz
ae6738ed2a Unifying source of statsd BleScan calls and cleaning it up.
Bug: 80308558
Test: cts-tradefed run cts-dev -m CtsStatsdHostTestCases
Change-Id: I0b4a0b56631b4354b73f0fafea2c0dc7dff248d1
2018-09-13 18:48:10 +00:00