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
tatsd/loadtest/LoadtestActivity.java
|
20e9e6231a1aba79b4e5ae47f3ccfb066920e60f |
28-Feb-2018 |
Yao Chen <yaochen@google.com> |
Reduce statsd binary size from 730KB-> 664KB 1. StatsdStats does not use the proto object in memory anymore. 2. lite_static -> lite 3. don't use sstream Bug: 72129300 Test: statsd_test Change-Id: I8a5adaf222d4d5034e8bf115215fb6dd5f042cac
tatsd/loadtest/LoadtestActivity.java
tatsd/loadtest/StatsdStatsRecorder.java
|
9c1debe330006b2b4d5c08a55905789c57369609 |
19-Feb-2018 |
Yao Chen <yaochen@google.com> |
Add annotation to atoms that represent a state change in atoms.proto + A state change atom can have one exclusive state field, and any number of primary key fields. When there is primary key in the atom, it means the state belongs to the primary key. For example, message UidProcessStateChanged { optional int32 uid = 1 [(stateFieldOption).option = PRIMARY]; optional android.app.ProcessStateEnum state = 2 [(stateFieldOption).option = EXCLUSIVE]; } When there is no primary key fields in the atom, the state is global. For example, message ScreenStateChanged { optional android.view.DisplayStateEnum state = 1 [(stateFieldOption).option = EXCLUSIVE]; } + The annotation is consumed by stats_log_api_gen to generate a static map from the state atoms to its primary fields, and exclusive fields + stats_log.proto is splitted into 2 proto files, because statsd needs proto lite, and c++ lite proto library cannot properly ignore the field options which requires full proto. This CL doesn't change any logic in the statsd yet. A separate CL will use the field option information to correctly track the state. Test: added unit tests in stats_log_api_gen_test. and statsd_test pases. Change-Id: I9e8a979fe81ba60efd4d854bb7087ce4b2b147ec
tatsd/loadtest/LoadtestActivity.java
tatsd/loadtest/StatsdStatsRecorder.java
|
330af58f2b8582b855085655fae553cdfaf44e6c |
09-Feb-2018 |
Yangster-mac <yanglu@google.com> |
Use elapsed realtime instead of times based on wall clock, which can jump around and go backwards. Test: statsd unit test passed Change-Id: Ib541df99231e171b3be2a24f75632693e36da90e
tatsd/loadtest/DisplayProtoUtils.java
|
959b80f1917a4cb310b8089ac6cc10d702f04c8a |
08-Feb-2018 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Modifies statsd output for start and end times."
|
16049578001364e1fcb0f10d6f94868081e57316 |
02-Feb-2018 |
David Chen <dwchen@google.com> |
Modifies statsd output for start and end times. We include the start of when the last dump occurred and the current timestamp. These timestamps are shared across all metrics, so there's no advantage in duplicating these numbers across all metrics. Also, we should use elapsed realtime instead of times based on wall clock, which can jump around and go backwards. Test: Test that statsd can still build and adb shell cmd stats dump-report doesn't crash. Change-Id: I819e5643cee75dfa3e78a58f94c9d61ededa78d7
tatsd/loadtest/DisplayProtoUtils.java
|
661f791a2580515eee5882ab9498aef94a0d33a5 |
23-Jan-2018 |
David Chen <dwchen@google.com> |
Statsd notifies listener with pendingintent. Previously, statsd would inform interested listeners that it's time to collect data via a protected broadcast. However, the preferred solution is to pass a PendingIntent via a separate setter. Whenever statsd wants the listener to call getData, StatsCompanionService will trigger the pending intent. Test: Tested in marlin-eng that functionality works as expected with dogfood app. Bug: 72562867 Change-Id: Ibcfcd5072a1a78947f8a7cbcd0bc429b54351da3
tatsd/loadtest/LoadtestActivity.java
|
1a1b0464cb43903ed540f4c43fd423b16e398c04 |
12-Jan-2018 |
Bookatz <bookatz@google.com> |
Statsd and frameworks reference proto enums For frameworks constants that don't have intrinsic meaning (i.e. their actual value and order don't matter), so that it is unlikely that their values will be changed: This cl introduces proto enums representing some constants found in the Android codebase, and connects the two. By using the Proto enum as the source-of-truth, it means that Java and proto can be kept in sync. Otherwise, when the Java frameworks code changes, it silently breaks the protos from working properly, since the enums are wrong. By having the Java code reference the proto enums, it ensures that everything is in sync. The values of the constants are unchanged. But future changes to these constants will need to be done in the proto file, which the Java file merely references. The protos are necessary for incidentd and statsd and, in the future, possibly dumpsys. In this way, the logging mechanism is much less likely to get broken when new constants are added, and we can be ensured that the logging accurately reflects the underlying codebase. Bug: 69478930 Test: cts-tradefed run cts-dev -m CtsStatsdHostTestCases Test: cts-tradefed run cts-dev -m CtsIncidentHostTestCases Change-Id: If79032c34b2799db1e3e70cb47b1312fd72092b9
tatsd/loadtest/SequencePusher.java
|
c697797d43b6932fc7cca1c8d7d850c3fb4d1452 |
17-Jan-2018 |
Bookatz <bookatz@google.com> |
Statsd broadcast subscriber Allows a uid that uploads a statsd config to additionally register a BroadcastSubscriber with statsd. If statsd detects an anomaly (according to the config's Alert), statsd can inform a BroadcastSubscriber provided in the config. The config uses a subscriberId (just an int) to identify the BroadcastSubscriber. It then uses StatsManager.setBroadcastSubscriber to associate that subscriberId with a given PendingIntent. Then, when the anomaly is detected, statsd sends a broadcast using that PendingIntent, alerting whoever was specified by the config/setBroadcastSubscriber. Bug: 70356901 Test: cts-tradefed run cts-dev -m CtsStatsdHostTestCases -t android.cts.statsd.alert.BroadcastSubscriberTests Change-Id: I4d9ea9a6c8a85e61fadfd99c1513c55abbadd5e9
tatsd/loadtest/LoadtestActivity.java
|
b84e8b1fcfb69c058c18b70bbfb76e37cd4e23cd |
23-Jan-2018 |
Yangster <yanglu@google.com> |
Sync statsd google3 protos to aosp. Test: statsd unit tests passed Change-Id: I66b05478b7c5b0f9fdd6386b2e2ba7c38a3f9b88
tatsd/loadtest/ConfigFactory.java
|
468ff04fd4cb43a384a3d4948cccd4438be7202a |
17-Jan-2018 |
Yangster-mac <yanglu@google.com> |
Proto change for dimension from condition. Test: all statsd unit tests and cts tests passed. Change-Id: I955143aca7c76e2e22a10d7ba42eb797bd32e147
tatsd/loadtest/DisplayProtoUtils.java
|
47c186ca325965825021dccba0b5f1ec3410da12 |
06-Jan-2018 |
Stefan Lafon <stlafon@google.com> |
More adjustments to the loadtest app. - Add ability to set the replication factor by intent. - Add shell script to automate the loadtesting. Test: Loadtest app works. Change-Id: I7263a3c23049f3ed20144e4e15b6a54ac5fddcc8
tatsd/loadtest/DisplayProtoUtils.java
tatsd/loadtest/LoadtestActivity.java
|
c6f2fa2700c12b44ef7b28d42c513125bc9476ae |
05-Jan-2018 |
Stefan Lafon <stlafon@google.com> |
Fix a few things with the loadtest app. Test: Loadtest app is running fine. Change-Id: I834f6c618f5a6b0b17ecd5592e2ab2209ce7b94a
tatsd/loadtest/BatteryDataRecorder.java
tatsd/loadtest/ConfigFactory.java
tatsd/loadtest/LoadtestActivity.java
tatsd/loadtest/MemoryDataRecorder.java
tatsd/loadtest/PerfData.java
tatsd/loadtest/PerfDataRecorder.java
tatsd/loadtest/StatsdStatsRecorder.java
tatsd/loadtest/ValidationRecorder.java
|
b814481ad1f8d0e429d799b1571a6272e1a7f6c5 |
04-Jan-2018 |
Yangster-mac <yanglu@google.com> |
Use TimeUnit enum to specify the bucket size. Test: all statsd unit test passed Change-Id: I4f6b80ba2f8c984b06e46e6de6df3e546e99a968
tatsd/loadtest/BatteryDataRecorder.java
tatsd/loadtest/ConfigFactory.java
tatsd/loadtest/LoadtestActivity.java
tatsd/loadtest/MemoryDataRecorder.java
tatsd/loadtest/PerfData.java
tatsd/loadtest/PerfDataRecorder.java
tatsd/loadtest/StatsdStatsRecorder.java
tatsd/loadtest/ValidationRecorder.java
|
94e197cceb2ba7df13ff8de04f60bfeec64015d9 |
03-Jan-2018 |
Yangster-mac <yanglu@google.com> |
1/ Change all "name" to id in statsD. 2/ Handle Subscription for alert. 3/ Support no_report_metric Bug: 69522276 Test: all statsd unit tests passed. Change-Id: I851b235f2d149b8602b0cad632d5bf541962f40a
tatsd/loadtest/ConfigFactory.java
tatsd/loadtest/DisplayProtoUtils.java
tatsd/loadtest/LoadtestActivity.java
tatsd/loadtest/ValidationRecorder.java
|
2087716f2bdca90c7c3034d556ac12911bd8018e |
23-Dec-2017 |
Yangster-mac <yanglu@google.com> |
1/ Support nested message and repeated fields in statsd. 2/ Filter gauge fields by FieldMatcher. 3/ Wire up wakelock attribution chain. 4/ e2e test: wakelock duration metric with aggregated predicate dimensions. 5/ e2e test: count metric with multiple metric condition links for 2 predicates and 1 non-sliced predicate. Test: statsd unit test passed. Change-Id: I89db31cb068184a54e0a892fad710966d3127bc9
tatsd/loadtest/ConfigFactory.java
tatsd/loadtest/DisplayProtoUtils.java
|
0d7d4d4f306c5102c73fa5ee88069a64ecd2b70d |
21-Dec-2017 |
Yao Chen <yaochen@google.com> |
Modify Loadtest app to be able to exclude certain metric types. Test: manual Change-Id: Iba025e4d6cd7c15a231550d382768aa7661ccc86
tatsd/loadtest/ConfigFactory.java
tatsd/loadtest/LoadtestActivity.java
|
3c0b95ceb520c6b23871da90c23f89c55b76b560 |
16-Dec-2017 |
Yao Chen <yaochen@google.com> |
Turn off verbose logging, remove the fake config. Test: statsd_test & manual Change-Id: I43068c8db006cbbeccacaa9d8426ab4d0394313a
tatsd/loadtest/LoadtestActivity.java
|
14e076e6760427e73a7141ec009dc7b66667e053 |
10-Dec-2017 |
Stefan Lafon <stlafon@google.com> |
Improvements to loadtest app. - Support for statsd stats in loadtest app. - Skeleton for correctness validation. - New config with pulled atoms in gauge metrics. Test: Ran statsd. Change-Id: I0f062d55b8827452cc0421093fc35242dc3afb23
tatsd/loadtest/LoadtestActivity.java
tatsd/loadtest/MemoryDataRecorder.java
tatsd/loadtest/NumericalWatcher.java
tatsd/loadtest/PerfData.java
tatsd/loadtest/PerfDataRecorder.java
tatsd/loadtest/StatsdStatsRecorder.java
tatsd/loadtest/ValidationRecorder.java
|
c542320b4fe7284cfa38db2039e4baade77b2082 |
07-Dec-2017 |
Tej Singh <singhtejinder@google.com> |
Copy atoms.proto changes to atoms_copy.proto Also changed load test app to use enum.ToString instead of big switch case. Test: built & ran statsd & cts test. Also built & ran load test app. Change-Id: I975c75e04100df3c380c2e3a46d3737b81f7e21a
tatsd/loadtest/DisplayProtoUtils.java
|
9d25218985ba8ea944b4a51d194744b5a85a1105 |
07-Dec-2017 |
Stefan Lafon <stlafon@google.com> |
Merge "Track PSS in loadtest."
|
9709fa26f1e3f713e0558c5cce71c28f208afbe9 |
07-Dec-2017 |
Stefan Lafon <stlafon@google.com> |
Track PSS in loadtest. Test: Ran the loadtest. Not changing statsd. Change-Id: Idc43cba59ec2c9d4213e20b395a083fdda58e8c4
tatsd/loadtest/BatteryDataRecorder.java
tatsd/loadtest/BatteryStatsParser.java
tatsd/loadtest/ConfigFactory.java
tatsd/loadtest/LoadtestActivity.java
tatsd/loadtest/MemInfoParser.java
tatsd/loadtest/MemoryDataRecorder.java
tatsd/loadtest/NumericalWatcher.java
tatsd/loadtest/PerfData.java
tatsd/loadtest/PerfDataRecorder.java
tatsd/loadtest/PerfParser.java
|
a5b5191351a85ea33641dc42ee4223189b3612f3 |
06-Dec-2017 |
Stefan Lafon <stlafon@google.com> |
Rename EventConditionLink as MetricConditionLink in statsd_config.proto. Test: Ran statsd_test and cts tests. Change-Id: Ia9a38892854443aa4f17d800a075860fcf874652
tatsd/loadtest/ConfigFactory.java
|
12d01fa7c165a1f79091d4d742a48bffd7552650 |
05-Dec-2017 |
Stefan Lafon <stlafon@google.com> |
Rename more things in statsd_config.proto. SimpleCondition -> SimplePredicate simple_condition -> simple_predicate Condition -> Predicate condition -> predicate Test: Ran statsd and statsd_test. Change-Id: I3115fb51a4dc3cbe5f23535dfc448d5755b9ed7f
tatsd/loadtest/ConfigFactory.java
|
b8c9aa8c9ccba4e64759c177381b742ca99a5487 |
03-Dec-2017 |
Stefan Lafon <stlafon@google.com> |
Rename a few things in statsd_config.proto. This for frameworks/base/ SimpleLogEntryMatcher -> SimpleAtomMatcher. simple_log_entry_matcher -> simple_atom_matcher LogEntryMatcher -> AtomMatcher log_entry_matcher -> atom_matcher Test: Ran statsd_test. Change-Id: I7398758e3fab86235897c162884f5ceab3002510
tatsd/loadtest/ConfigFactory.java
|
bc7a04b88db83b6bb91c2c50a4cd8b6bafabac06 |
25-Nov-2017 |
Stefan Lafon <stlafon@google.com> |
Create statsd loadtest app. That app automatically sends a bunch of events to logd. The frequency is adjustable. Test: Ran statsd. Change-Id: I7a88c140e39d22549cc76ef68059d292e85a8a24
tatsd/loadtest/BatteryStatsParser.java
tatsd/loadtest/ConfigFactory.java
tatsd/loadtest/DisplayProtoUtils.java
tatsd/loadtest/LoadtestActivity.java
tatsd/loadtest/NumericalWatcher.java
tatsd/loadtest/PerfData.java
tatsd/loadtest/SequencePusher.java
|