History log of /frameworks/base/cmds/statsd/src/main.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
49954cd681fc4c1013c39cd502408af770286730 18-Apr-2018 Yao Chen <yaochen@google.com> Add socket listener to statsd. And remove Davey atom.

+ The socket listener is behind a flag. It's disabled until we get sepolicy changes in.
+ Data parsing code is from logd, because we use the same format.

+ Removed Davey from JankTracker because it violates our new sepolicy

Test: manually
Bug: 78239479

Change-Id: Ib17729fbc362cdb13385f780e2d636a95adf9bc3
/frameworks/base/cmds/statsd/src/main.cpp
4f71629002ae1da22ca1c07ce11b9cca9b272d97 11-Apr-2018 Bookatz <bookatz@google.com> StatsManager throws exceptions

When StatsManager fails to connect to statsd, it now throws an exception
for the caller to catch. It also throws an exception of the config being
added is of an unreadable format.

Due to backwards compatibility issues, the old APIs could not be
changed, so new ones were made to replace the old ones. The old ones are
now temporary and will be removed when the compatibility issue is
resolved.

Bug: 77648233
Test: gts-tradefed run gts-dev --module GtsStatsdHostTestCases
Change-Id: Ibea05883a29b9b3ef9927d2f8fe295eb99832ab7
/frameworks/base/cmds/statsd/src/main.cpp
d10f7b1c7bdb1c66aa04148945cae9733ee4cadf 18-Dec-2017 Yao Chen <yaochen@google.com> Add log source filtering in statsd to filter out spams.

+ Add log source whitelist in StatsdConfig
+ Some changes in UidMap API. Listener needs to be wp instead of sp.
+ Update dogfood app config to have log source
+ Increase the stats service thread pool size to 10 (9+1).

TODO: add unit tests(b/70805664). This unit test takes some time to write.

Test: statsd_test & manual

Change-Id: I129b1cc13db5114db7417580962bd7cc4438519d
/frameworks/base/cmds/statsd/src/main.cpp
0feae94babf0518ac28b7c529b4e16762d48e6de 15-Nov-2017 yro <yro@google.com> Fix AOSP copyright years in statsd

Test: no test needed

Change-Id: I230b7d51eb00dafb16913d038475c3ac14b44096
/frameworks/base/cmds/statsd/src/main.cpp
9fc9edf95a308f5884bf541cac81ce1f41aba0ba 16-Oct-2017 Joe Onorato <joeo@google.com> Clean up how we handle configurations, and other assorted cleanup

- Add a ConfigManager class that tracks the configurations
that have been passed to us. Configurations are now
tracked by tuples of (uid,tag), where the tag is an
app-defined string, in case a single uid has multiple
configurations.
- Move all of the initialization into StatsService.
- Get rid of the ability to have multiple LogListeners. Raw
events are now pushed directly into StatsService, which
can distribute them to the interested parties (and will
eventually be able to do the proper locking).
- Add Log.h, which sets our LOG_TAG correctly.
- Move some of the related files that I expect will grow some
into their own subdirectories.

Test: statsd_test
Test: adb shell cmd stats config ...
Test: adb shell dumpsys stats
Change-Id: I79487603003d8a842d5bd319741f1ecbf72063d1
/frameworks/base/cmds/statsd/src/main.cpp
de70169109c57787a23c732ec4b361ade2e9850e 05-Oct-2017 David Chen <dwchen@google.com> UID mapping to provide app name and version.

The UID map is updated by StatsCompanionService, which listens to broadcast
updates indicating that an app was updated/installed or removed. Also,
the entire map is updated when statsd first connects to the companion
service. Also, there is a way for metrics producers to subscribe to
updates, so that they can know when an app was upgraded.

Test: Created new unit-test for mapping and manually tested for install
and remove. Did not manually test the app upgrade.

Change-Id: I6676ae5c93b75c72d9badabb36aa9c40006db07d
/frameworks/base/cmds/statsd/src/main.cpp
ef99c4fa23b42fe6e58db706b9f4780018b6bf3e 23-Sep-2017 Yao Chen <yaochen@google.com> clang-format existing code in statsd.

Added .clang-format, because there isn't an official .clang-format file for Android framework code.

before we upload changes, do:

clang-format -style=file -i [file list]

to format the files that you touched.

Test: formatting only. NO code changes.
Change-Id: I90e87f1ee6618da8ea9bc2221c609c415a4046a8
/frameworks/base/cmds/statsd/src/main.cpp
906a35c814817c8bd503c3f4df8af9a2f622169d 21-Sep-2017 Bookatz <bookatz@google.com> Statsd namespace is defined and used

Statsd code now lives in android::os::statsd namespace. Existing files
are largely modified to follow this convention.

Exception: parse_util, since it seems a bit different.

Test: code compiles and existing statsd_tests still pass
Change-Id: Idf92a071b9ed172d01eb3087a4fa3609d67a038c
/frameworks/base/cmds/statsd/src/main.cpp
b487b5533eba8635232009c7f32a54a0380a532d 18-Sep-2017 Bookatz <bookatz@google.com> statsd & statscompanion communication more robust

If statsd or statsdcompanion crashes, or if one loads
before the other, the other will be able to accomodate.

When statsd loads, it will attempt to tell statscompanion that it's
alive, and then get on to its business, while assuming that
statscompanion is not alive. Only when statscompanion tells statsd
that it is alive, statsd will then start to use it.

When statscompanion loads, it will attempt to tell statsd that it's
alive and then do nothing (since it has nothing to do). When statsd
tells statscompanion that statsd is alive, statscompanion will respond,
telling statsd that it is alive and, if that binder call returns, will
get to work.

This way, if statsd loads first, it can work unobstructed until
statscompanion informs statsd that it is alive, at which point they
shake hands and work. Conversely, if statscompanion loads first, it will
do nothing until statsd contacts it, at which point they will shake
hands and work.

Test: manual
Change-Id: I969ad47fb8060e27814d05ad37433a02711cfa6a
/frameworks/base/cmds/statsd/src/main.cpp
0656b7a158f6f71989e76ba55423217e3e75d8b4 14-Sep-2017 David Chen <dwchen@google.com> Adding ability to add configs via adb command-line. The input
must be in serialized binary format. Also fixes small issue
in build rule related to proto lib.

Test: Manually tested that ADB command works without crashing.

Change-Id: Iba2e677561ff500adb601a598f73e8a7b32540e5
/frameworks/base/cmds/statsd/src/main.cpp
ab273e2e13f87d57f66395c52df424710b8066e1 06-Sep-2017 Yao Chen <yaochen@google.com> Add a DropboxWriter in statsd.

+ The DropboxWriter keeps data in cache, and flush to files once the
size exceeds the maximum value.

+ Different components should create their owner DropboxWriter with
different tags, e.g., anomly detection, experiment metrics, etc.

+ Copied stats_log related protos from g3

Test: run statsd, and adb shell dumpsys dropbox
Will add unit tests.

Change-Id: If06e9a9953be32082252b340a97124d732656b40
/frameworks/base/cmds/statsd/src/main.cpp
5dcbc6c015fd56db9381cb7aff58506e8ebcc150 30-Aug-2017 Joe Onorato <joeo@google.com> Add statsd.

It doesn't start yet by default. When you start it manually, it sets
itself up as a binder system service and starts a thread to read the
event log.

Test: Run statsd, observe output. also run stats_test
Change-Id: If435d6a80fef3c1d957aedb61699bf5e9aae7e56
/frameworks/base/cmds/statsd/src/main.cpp