Merge "Merge "Migrate statsd_test to use libstatslog_statsdtest" into rvc-dev am: 4980c0a6cf am: a846cf462f" into rvc-d1-dev-plus-aosp
This commit is contained in:
committed by
Android (Google) Code Review
commit
3432169dd1
@@ -189,6 +189,34 @@ genrule {
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "statslog_statsdtest.h",
|
||||
tools: ["stats-log-api-gen"],
|
||||
cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_statsdtest.h --module statsdtest --namespace android,os,statsd,util",
|
||||
out: [
|
||||
"statslog_statsdtest.h",
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "statslog_statsdtest.cpp",
|
||||
tools: ["stats-log-api-gen"],
|
||||
cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_statsdtest.cpp --module statsdtest --namespace android,os,statsd,util --importHeader statslog_statsdtest.h",
|
||||
out: [
|
||||
"statslog_statsdtest.cpp",
|
||||
],
|
||||
}
|
||||
|
||||
cc_library_static {
|
||||
name: "libstatslog_statsdtest",
|
||||
generated_sources: ["statslog_statsdtest.cpp"],
|
||||
generated_headers: ["statslog_statsdtest.h"],
|
||||
export_generated_headers: ["statslog_statsdtest.h"],
|
||||
shared_libs: [
|
||||
"libstatssocket",
|
||||
]
|
||||
}
|
||||
|
||||
cc_library_static {
|
||||
name: "libstatslog_statsd",
|
||||
generated_sources: ["statslog_statsd.cpp"],
|
||||
@@ -331,7 +359,7 @@ cc_test {
|
||||
static_libs: [
|
||||
"libgmock",
|
||||
"libplatformprotos",
|
||||
"libstatslog", //TODO(b/150976524): remove this when the tests no longer hardcode atoms.
|
||||
"libstatslog_statsdtest",
|
||||
"libstatssocket_private",
|
||||
],
|
||||
|
||||
|
||||
@@ -81,12 +81,16 @@ message Atom {
|
||||
BleScanStateChanged ble_scan_state_changed = 2 [(module) = "bluetooth"];
|
||||
ProcessStateChanged process_state_changed = 3 [(module) = "framework"];
|
||||
BleScanResultReceived ble_scan_result_received = 4 [(module) = "bluetooth"];
|
||||
SensorStateChanged sensor_state_changed = 5 [(module) = "framework"];
|
||||
SensorStateChanged sensor_state_changed =
|
||||
5 [(module) = "framework", (module) = "statsdtest"];
|
||||
GpsScanStateChanged gps_scan_state_changed = 6 [(module) = "framework"];
|
||||
SyncStateChanged sync_state_changed = 7 [(module) = "framework"];
|
||||
ScheduledJobStateChanged scheduled_job_state_changed = 8 [(module) = "framework"];
|
||||
ScreenBrightnessChanged screen_brightness_changed = 9 [(module) = "framework"];
|
||||
WakelockStateChanged wakelock_state_changed = 10 [(module) = "framework"];
|
||||
SyncStateChanged sync_state_changed = 7 [(module) = "framework", (module) = "statsdtest"];
|
||||
ScheduledJobStateChanged scheduled_job_state_changed =
|
||||
8 [(module) = "framework", (module) = "statsdtest"];
|
||||
ScreenBrightnessChanged screen_brightness_changed =
|
||||
9 [(module) = "framework", (module) = "statsdtest"];
|
||||
WakelockStateChanged wakelock_state_changed =
|
||||
10 [(module) = "framework", (module) = "statsdtest"];
|
||||
LongPartialWakelockStateChanged long_partial_wakelock_state_changed =
|
||||
11 [(module) = "framework"];
|
||||
MobileRadioPowerStateChanged mobile_radio_power_state_changed = 12 [(module) = "framework"];
|
||||
@@ -98,17 +102,22 @@ message Atom {
|
||||
CachedKillReported cached_kill_reported = 17 [(module) = "framework"];
|
||||
ProcessMemoryStatReported process_memory_stat_reported = 18 [(module) = "framework"];
|
||||
LauncherUIChanged launcher_event = 19 [(module) = "sysui"];
|
||||
BatterySaverModeStateChanged battery_saver_mode_state_changed = 20 [(module) = "framework"];
|
||||
BatterySaverModeStateChanged battery_saver_mode_state_changed =
|
||||
20 [(module) = "framework", (module) = "statsdtest"];
|
||||
DeviceIdleModeStateChanged device_idle_mode_state_changed = 21 [(module) = "framework"];
|
||||
DeviceIdlingModeStateChanged device_idling_mode_state_changed = 22 [(module) = "framework"];
|
||||
AudioStateChanged audio_state_changed = 23 [(module) = "framework"];
|
||||
MediaCodecStateChanged media_codec_state_changed = 24 [(module) = "framework"];
|
||||
CameraStateChanged camera_state_changed = 25 [(module) = "framework"];
|
||||
FlashlightStateChanged flashlight_state_changed = 26 [(module) = "framework"];
|
||||
UidProcessStateChanged uid_process_state_changed = 27 [(module) = "framework"];
|
||||
ProcessLifeCycleStateChanged process_life_cycle_state_changed = 28 [(module) = "framework"];
|
||||
ScreenStateChanged screen_state_changed = 29 [(module) = "framework"];
|
||||
BatteryLevelChanged battery_level_changed = 30 [(module) = "framework"];
|
||||
UidProcessStateChanged uid_process_state_changed =
|
||||
27 [(module) = "framework", (module) = "statsdtest"];
|
||||
ProcessLifeCycleStateChanged process_life_cycle_state_changed =
|
||||
28 [(module) = "framework", (module) = "statsdtest"];
|
||||
ScreenStateChanged screen_state_changed =
|
||||
29 [(module) = "framework", (module) = "statsdtest"];
|
||||
BatteryLevelChanged battery_level_changed =
|
||||
30 [(module) = "framework", (module) = "statsdtest"];
|
||||
ChargingStateChanged charging_state_changed = 31 [(module) = "framework"];
|
||||
PluggedStateChanged plugged_state_changed = 32 [(module) = "framework"];
|
||||
InteractiveStateChanged interactive_state_changed = 33 [(module) = "framework"];
|
||||
@@ -121,14 +130,15 @@ message Atom {
|
||||
PhoneSignalStrengthChanged phone_signal_strength_changed = 40 [(module) = "framework"];
|
||||
SettingChanged setting_changed = 41 [(module) = "framework"];
|
||||
ActivityForegroundStateChanged activity_foreground_state_changed =
|
||||
42 [(module) = "framework"];
|
||||
IsolatedUidChanged isolated_uid_changed = 43 [(module) = "framework", (module) = "statsd"];
|
||||
42 [(module) = "framework", (module) = "statsdtest"];
|
||||
IsolatedUidChanged isolated_uid_changed =
|
||||
43 [(module) = "framework", (module) = "statsd", (module) = "statsdtest"];
|
||||
PacketWakeupOccurred packet_wakeup_occurred = 44 [(module) = "framework"];
|
||||
WallClockTimeShifted wall_clock_time_shifted = 45 [(module) = "framework"];
|
||||
AnomalyDetected anomaly_detected = 46 [(module) = "statsd"];
|
||||
AppBreadcrumbReported app_breadcrumb_reported =
|
||||
47 [(allow_from_any_uid) = true, (module) = "statsd"];
|
||||
AppStartOccurred app_start_occurred = 48 [(module) = "framework"];
|
||||
AppStartOccurred app_start_occurred = 48 [(module) = "framework", (module) = "statsdtest"];
|
||||
AppStartCanceled app_start_canceled = 49 [(module) = "framework"];
|
||||
AppStartFullyDrawn app_start_fully_drawn = 50 [(module) = "framework"];
|
||||
LmkKillOccurred lmk_kill_occurred = 51 [(module) = "lmkd"];
|
||||
@@ -139,7 +149,8 @@ message Atom {
|
||||
ShutdownSequenceReported shutdown_sequence_reported = 56 [(module) = "framework"];
|
||||
BootSequenceReported boot_sequence_reported = 57;
|
||||
DaveyOccurred davey_occurred = 58 [(allow_from_any_uid) = true, (module) = "statsd"];
|
||||
OverlayStateChanged overlay_state_changed = 59 [(module) = "framework"];
|
||||
OverlayStateChanged overlay_state_changed =
|
||||
59 [(module) = "framework", (module) = "statsdtest"];
|
||||
ForegroundServiceStateChanged foreground_service_state_changed
|
||||
= 60 [(module) = "framework"];
|
||||
CallStateChanged call_state_changed = 61 [(module) = "telecom"];
|
||||
@@ -160,7 +171,7 @@ message Atom {
|
||||
MobileConnectionStateChanged mobile_connection_state_changed = 75 [(module) = "telephony"];
|
||||
MobileRadioTechnologyChanged mobile_radio_technology_changed = 76 [(module) = "telephony"];
|
||||
UsbDeviceAttached usb_device_attached = 77 [(module) = "framework"];
|
||||
AppCrashOccurred app_crash_occurred = 78 [(module) = "framework"];
|
||||
AppCrashOccurred app_crash_occurred = 78 [(module) = "framework", (module) = "statsdtest"];
|
||||
ANROccurred anr_occurred = 79 [(module) = "framework"];
|
||||
WTFOccurred wtf_occurred = 80 [(module) = "framework"];
|
||||
LowMemReported low_mem_reported = 81 [(module) = "framework"];
|
||||
@@ -412,9 +423,9 @@ message Atom {
|
||||
MobileBytesTransferByFgBg mobile_bytes_transfer_by_fg_bg = 10003 [(module) = "framework"];
|
||||
BluetoothBytesTransfer bluetooth_bytes_transfer = 10006 [(module) = "framework"];
|
||||
KernelWakelock kernel_wakelock = 10004 [(module) = "framework"];
|
||||
SubsystemSleepState subsystem_sleep_state = 10005;
|
||||
SubsystemSleepState subsystem_sleep_state = 10005 [(module) = "statsdtest"];
|
||||
CpuTimePerFreq cpu_time_per_freq = 10008 [(module) = "framework"];
|
||||
CpuTimePerUid cpu_time_per_uid = 10009 [(module) = "framework"];
|
||||
CpuTimePerUid cpu_time_per_uid = 10009 [(module) = "framework", (module) = "statsdtest"];
|
||||
CpuTimePerUidFreq cpu_time_per_uid_freq =
|
||||
10010 [(module) = "framework", (module) = "statsd"];
|
||||
WifiActivityInfo wifi_activity_info = 10011 [(module) = "framework"];
|
||||
@@ -422,13 +433,13 @@ message Atom {
|
||||
BluetoothActivityInfo bluetooth_activity_info = 10007 [(module) = "framework"];
|
||||
ProcessMemoryState process_memory_state = 10013 [(module) = "framework"];
|
||||
SystemElapsedRealtime system_elapsed_realtime = 10014 [(module) = "framework"];
|
||||
SystemUptime system_uptime = 10015 [(module) = "framework"];
|
||||
SystemUptime system_uptime = 10015 [(module) = "framework", (module) = "statsdtest"];
|
||||
CpuActiveTime cpu_active_time = 10016 [(module) = "framework"];
|
||||
CpuClusterTime cpu_cluster_time = 10017 [(module) = "framework"];
|
||||
DiskSpace disk_space = 10018 [deprecated=true];
|
||||
CpuClusterTime cpu_cluster_time = 10017 [(module) = "framework", (module) = "statsdtest"];
|
||||
DiskSpace disk_space = 10018 [deprecated=true, (module) = "statsdtest"];
|
||||
RemainingBatteryCapacity remaining_battery_capacity = 10019 [(module) = "framework"];
|
||||
FullBatteryCapacity full_battery_capacity = 10020 [(module) = "framework"];
|
||||
Temperature temperature = 10021 [(module) = "framework"];
|
||||
Temperature temperature = 10021 [(module) = "framework", (module) = "statsdtest"];
|
||||
BinderCalls binder_calls = 10022 [(module) = "framework", (module) = "statsd"];
|
||||
BinderCallsExceptions binder_calls_exceptions = 10023 [(module) = "framework"];
|
||||
LooperStats looper_stats = 10024 [(module) = "framework", (module) = "statsd"];
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace statsd {
|
||||
|
||||
class StateTracker : public virtual RefBase {
|
||||
public:
|
||||
StateTracker(const int32_t atomId, const util::StateAtomFieldOptions& stateAtomInfo);
|
||||
StateTracker(const int32_t atomId, const android::util::StateAtomFieldOptions& stateAtomInfo);
|
||||
|
||||
virtual ~StateTracker(){};
|
||||
|
||||
|
||||
@@ -23,24 +23,26 @@
|
||||
#include "frameworks/base/cmds/statsd/src/statsd_config.pb.h"
|
||||
#include "guardrail/StatsdStats.h"
|
||||
|
||||
using android::util::ProtoOutputStream;
|
||||
|
||||
namespace android {
|
||||
namespace os {
|
||||
namespace statsd {
|
||||
|
||||
void writeFieldValueTreeToStream(int tagId, const std::vector<FieldValue>& values,
|
||||
util::ProtoOutputStream* protoOutput);
|
||||
ProtoOutputStream* protoOutput);
|
||||
void writeDimensionToProto(const HashableDimensionKey& dimension, std::set<string> *str_set,
|
||||
util::ProtoOutputStream* protoOutput);
|
||||
ProtoOutputStream* protoOutput);
|
||||
|
||||
void writeDimensionLeafNodesToProto(const HashableDimensionKey& dimension,
|
||||
const int dimensionLeafFieldId,
|
||||
std::set<string> *str_set,
|
||||
util::ProtoOutputStream* protoOutput);
|
||||
ProtoOutputStream* protoOutput);
|
||||
|
||||
void writeDimensionPathToProto(const std::vector<Matcher>& fieldMatchers,
|
||||
util::ProtoOutputStream* protoOutput);
|
||||
ProtoOutputStream* protoOutput);
|
||||
|
||||
void writeStateToProto(const FieldValue& state, util::ProtoOutputStream* protoOutput);
|
||||
void writeStateToProto(const FieldValue& state, ProtoOutputStream* protoOutput);
|
||||
|
||||
// Convert the TimeUnit enum to the bucket size in millis with a guardrail on
|
||||
// bucket size.
|
||||
@@ -73,14 +75,14 @@ int64_t MillisToNano(const int64_t millis);
|
||||
|
||||
// Helper function to write PulledAtomStats to ProtoOutputStream
|
||||
void writePullerStatsToStream(const std::pair<int, StatsdStats::PulledAtomStats>& pair,
|
||||
util::ProtoOutputStream* protoOutput);
|
||||
ProtoOutputStream* protoOutput);
|
||||
|
||||
// Helper function to write AtomMetricStats to ProtoOutputStream
|
||||
void writeAtomMetricStatsToStream(const std::pair<int64_t, StatsdStats::AtomMetricStats> &pair,
|
||||
util::ProtoOutputStream *protoOutput);
|
||||
ProtoOutputStream *protoOutput);
|
||||
|
||||
template<class T>
|
||||
bool parseProtoOutputStream(util::ProtoOutputStream& protoOutput, T* message) {
|
||||
bool parseProtoOutputStream(ProtoOutputStream& protoOutput, T* message) {
|
||||
std::string pbBytes;
|
||||
sp<android::util::ProtoReader> reader = protoOutput.data();
|
||||
while (reader->readBuffer() != NULL) {
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#include "logd/LogEvent.h"
|
||||
#include "packages/UidMap.h"
|
||||
#include "storage/StorageManager.h"
|
||||
#include "statslog.h"
|
||||
#include "statslog_statsdtest.h"
|
||||
|
||||
#include <gmock/gmock.h>
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include "guardrail/StatsdStats.h"
|
||||
#include "logd/LogEvent.h"
|
||||
#include "hash.h"
|
||||
#include "statslog.h"
|
||||
#include "statslog_statsdtest.h"
|
||||
#include "statsd_test_util.h"
|
||||
|
||||
#include <android/util/ProtoOutputStream.h>
|
||||
@@ -49,7 +49,7 @@ const string kApp2 = "app2.sharing.1";
|
||||
// StatsLogProcessor p(m, pullerManager, anomalyAlarmMonitor, subscriberAlarmMonitor, 0,
|
||||
// [](const ConfigKey& key) { return true; },
|
||||
// [](const int&, const vector<int64_t>&) {return true;});
|
||||
// LogEvent addEvent(android::util::ISOLATED_UID_CHANGED, 1);
|
||||
// LogEvent addEvent(util::ISOLATED_UID_CHANGED, 1);
|
||||
// addEvent.write(100); // parent UID
|
||||
// addEvent.write(101); // isolated UID
|
||||
// addEvent.write(1); // Indicates creation.
|
||||
@@ -60,7 +60,7 @@ const string kApp2 = "app2.sharing.1";
|
||||
// p.OnLogEvent(&addEvent);
|
||||
// EXPECT_EQ(100, m->getHostUidOrSelf(101));
|
||||
//
|
||||
// LogEvent removeEvent(android::util::ISOLATED_UID_CHANGED, 1);
|
||||
// LogEvent removeEvent(util::ISOLATED_UID_CHANGED, 1);
|
||||
// removeEvent.write(100); // parent UID
|
||||
// removeEvent.write(101); // isolated UID
|
||||
// removeEvent.write(0); // Indicates removal.
|
||||
|
||||
@@ -39,7 +39,7 @@ StatsdConfig CreateStatsdConfig(int num_buckets, int threshold) {
|
||||
countMetric->set_id(123456);
|
||||
countMetric->set_what(wakelockAcquireMatcher.id());
|
||||
*countMetric->mutable_dimensions_in_what() = CreateAttributionUidDimensions(
|
||||
android::util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
countMetric->set_bucket(FIVE_MINUTES);
|
||||
|
||||
auto alert = config.add_alert();
|
||||
@@ -83,12 +83,12 @@ TEST(AnomalyDetectionE2eTest, TestSlicedCountMetric_single_bucket) {
|
||||
std::vector<int> attributionUids5 = {222};
|
||||
std::vector<string> attributionTags5 = {"GMSCoreModule1"};
|
||||
|
||||
FieldValue fieldValue1(Field(android::util::WAKELOCK_STATE_CHANGED, (int32_t)0x02010101),
|
||||
FieldValue fieldValue1(Field(util::WAKELOCK_STATE_CHANGED, (int32_t)0x02010101),
|
||||
Value((int32_t)111));
|
||||
HashableDimensionKey whatKey1({fieldValue1});
|
||||
MetricDimensionKey dimensionKey1(whatKey1, DEFAULT_DIMENSION_KEY);
|
||||
|
||||
FieldValue fieldValue2(Field(android::util::WAKELOCK_STATE_CHANGED, (int32_t)0x02010101),
|
||||
FieldValue fieldValue2(Field(util::WAKELOCK_STATE_CHANGED, (int32_t)0x02010101),
|
||||
Value((int32_t)222));
|
||||
HashableDimensionKey whatKey2({fieldValue2});
|
||||
MetricDimensionKey dimensionKey2(whatKey2, DEFAULT_DIMENSION_KEY);
|
||||
@@ -194,7 +194,7 @@ TEST(AnomalyDetectionE2eTest, TestSlicedCountMetric_multiple_buckets) {
|
||||
std::vector<int> attributionUids2 = {111, 222};
|
||||
std::vector<string> attributionTags2 = {"App1", "GMSCoreModule1"};
|
||||
|
||||
FieldValue fieldValue1(Field(android::util::WAKELOCK_STATE_CHANGED, (int32_t)0x02010101),
|
||||
FieldValue fieldValue1(Field(util::WAKELOCK_STATE_CHANGED, (int32_t)0x02010101),
|
||||
Value((int32_t)111));
|
||||
HashableDimensionKey whatKey1({fieldValue1});
|
||||
MetricDimensionKey dimensionKey1(whatKey1, DEFAULT_DIMENSION_KEY);
|
||||
|
||||
@@ -45,7 +45,7 @@ StatsdConfig CreateStatsdConfig(int num_buckets,
|
||||
|
||||
auto holdingWakelockPredicate = CreateHoldingWakelockPredicate();
|
||||
FieldMatcher dimensions = CreateAttributionUidDimensions(
|
||||
android::util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
dimensions.add_child()->set_field(3); // The wakelock tag is set in field 3 of the wakelock.
|
||||
*holdingWakelockPredicate.mutable_simple_predicate()->mutable_dimensions() = dimensions;
|
||||
holdingWakelockPredicate.mutable_simple_predicate()->set_count_nesting(nesting);
|
||||
@@ -57,7 +57,7 @@ StatsdConfig CreateStatsdConfig(int num_buckets,
|
||||
durationMetric->set_condition(screenIsOffPredicate.id());
|
||||
durationMetric->set_aggregation_type(aggregationType);
|
||||
*durationMetric->mutable_dimensions_in_what() =
|
||||
CreateAttributionUidDimensions(android::util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
CreateAttributionUidDimensions(util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
durationMetric->set_bucket(FIVE_MINUTES);
|
||||
|
||||
auto alert = config.add_alert();
|
||||
@@ -79,13 +79,13 @@ std::vector<int> attributionUids3 = {222};
|
||||
std::vector<string> attributionTags3 = {"GMSCoreModule1"};
|
||||
|
||||
MetricDimensionKey dimensionKey1(
|
||||
HashableDimensionKey({FieldValue(Field(android::util::WAKELOCK_STATE_CHANGED,
|
||||
HashableDimensionKey({FieldValue(Field(util::WAKELOCK_STATE_CHANGED,
|
||||
(int32_t)0x02010101),
|
||||
Value((int32_t)111))}),
|
||||
DEFAULT_DIMENSION_KEY);
|
||||
|
||||
MetricDimensionKey dimensionKey2(
|
||||
HashableDimensionKey({FieldValue(Field(android::util::WAKELOCK_STATE_CHANGED,
|
||||
HashableDimensionKey({FieldValue(Field(util::WAKELOCK_STATE_CHANGED,
|
||||
(int32_t)0x02010101), Value((int32_t)222))}),
|
||||
DEFAULT_DIMENSION_KEY);
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ StatsdConfig CreateStatsdConfig(const Position position) {
|
||||
countMetric->set_what(wakelockAcquireMatcher.id());
|
||||
*countMetric->mutable_dimensions_in_what() =
|
||||
CreateAttributionUidAndTagDimensions(
|
||||
android::util::WAKELOCK_STATE_CHANGED, {position});
|
||||
util::WAKELOCK_STATE_CHANGED, {position});
|
||||
countMetric->set_bucket(FIVE_MINUTES);
|
||||
return config;
|
||||
}
|
||||
@@ -164,7 +164,7 @@ TEST(AttributionE2eTest, TestAttributionMatchAndSliceByFirstUid) {
|
||||
|
||||
auto data = countMetrics.data(0);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(),
|
||||
android::util::WAKELOCK_STATE_CHANGED, 111, "App1");
|
||||
util::WAKELOCK_STATE_CHANGED, 111, "App1");
|
||||
EXPECT_EQ(data.bucket_info_size(), 2);
|
||||
EXPECT_EQ(data.bucket_info(0).count(), 2);
|
||||
EXPECT_EQ(data.bucket_info(0).start_bucket_elapsed_nanos(), bucketStartTimeNs);
|
||||
@@ -176,7 +176,7 @@ TEST(AttributionE2eTest, TestAttributionMatchAndSliceByFirstUid) {
|
||||
|
||||
data = countMetrics.data(1);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(),
|
||||
android::util::WAKELOCK_STATE_CHANGED, 222,
|
||||
util::WAKELOCK_STATE_CHANGED, 222,
|
||||
"GMSCoreModule1");
|
||||
EXPECT_EQ(data.bucket_info_size(), 2);
|
||||
EXPECT_EQ(data.bucket_info(0).count(), 1);
|
||||
@@ -188,7 +188,7 @@ TEST(AttributionE2eTest, TestAttributionMatchAndSliceByFirstUid) {
|
||||
|
||||
data = countMetrics.data(2);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(),
|
||||
android::util::WAKELOCK_STATE_CHANGED, 222,
|
||||
util::WAKELOCK_STATE_CHANGED, 222,
|
||||
"GMSCoreModule3");
|
||||
EXPECT_EQ(data.bucket_info_size(), 1);
|
||||
EXPECT_EQ(data.bucket_info(0).count(), 1);
|
||||
@@ -198,7 +198,7 @@ TEST(AttributionE2eTest, TestAttributionMatchAndSliceByFirstUid) {
|
||||
|
||||
data = countMetrics.data(3);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(),
|
||||
android::util::WAKELOCK_STATE_CHANGED, 444,
|
||||
util::WAKELOCK_STATE_CHANGED, 444,
|
||||
"GMSCoreModule2");
|
||||
EXPECT_EQ(data.bucket_info_size(), 1);
|
||||
EXPECT_EQ(data.bucket_info(0).count(), 1);
|
||||
@@ -277,7 +277,7 @@ TEST(AttributionE2eTest, TestAttributionMatchAndSliceByChain) {
|
||||
|
||||
auto data = countMetrics.data(0);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(),
|
||||
android::util::WAKELOCK_STATE_CHANGED, 222,
|
||||
util::WAKELOCK_STATE_CHANGED, 222,
|
||||
"GMSCoreModule1");
|
||||
EXPECT_EQ(2, data.bucket_info_size());
|
||||
EXPECT_EQ(1, data.bucket_info(0).count());
|
||||
@@ -289,26 +289,26 @@ TEST(AttributionE2eTest, TestAttributionMatchAndSliceByChain) {
|
||||
EXPECT_EQ(bucketStartTimeNs + 4 * bucketSizeNs, data.bucket_info(1).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(1);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 0, android::util::WAKELOCK_STATE_CHANGED, 222);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 0, util::WAKELOCK_STATE_CHANGED, 222);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 0,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 222,
|
||||
util::WAKELOCK_STATE_CHANGED, 222,
|
||||
"GMSCoreModule1");
|
||||
ValidateUidDimension(data.dimensions_in_what(), 1, android::util::WAKELOCK_STATE_CHANGED, 333);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 1, util::WAKELOCK_STATE_CHANGED, 333);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 1,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 333, "App3");
|
||||
util::WAKELOCK_STATE_CHANGED, 333, "App3");
|
||||
EXPECT_EQ(data.bucket_info_size(), 1);
|
||||
EXPECT_EQ(data.bucket_info(0).count(), 1);
|
||||
EXPECT_EQ(data.bucket_info(0).start_bucket_elapsed_nanos(), bucketStartTimeNs);
|
||||
EXPECT_EQ(data.bucket_info(0).end_bucket_elapsed_nanos(), bucketStartTimeNs + bucketSizeNs);
|
||||
|
||||
data = countMetrics.data(2);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 0, android::util::WAKELOCK_STATE_CHANGED, 444);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 0, util::WAKELOCK_STATE_CHANGED, 444);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 0,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 444,
|
||||
util::WAKELOCK_STATE_CHANGED, 444,
|
||||
"GMSCoreModule2");
|
||||
ValidateUidDimension(data.dimensions_in_what(), 1, android::util::WAKELOCK_STATE_CHANGED, 222);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 1, util::WAKELOCK_STATE_CHANGED, 222);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 1,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 222,
|
||||
util::WAKELOCK_STATE_CHANGED, 222,
|
||||
"GMSCoreModule1");
|
||||
EXPECT_EQ(data.bucket_info_size(), 1);
|
||||
EXPECT_EQ(data.bucket_info(0).count(), 1);
|
||||
@@ -317,31 +317,31 @@ TEST(AttributionE2eTest, TestAttributionMatchAndSliceByChain) {
|
||||
EXPECT_EQ(bucketStartTimeNs + 3 * bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(3);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 0, android::util::WAKELOCK_STATE_CHANGED, 111);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 0, util::WAKELOCK_STATE_CHANGED, 111);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 0,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 111, "App1");
|
||||
ValidateUidDimension(data.dimensions_in_what(), 1, android::util::WAKELOCK_STATE_CHANGED, 222);
|
||||
util::WAKELOCK_STATE_CHANGED, 111, "App1");
|
||||
ValidateUidDimension(data.dimensions_in_what(), 1, util::WAKELOCK_STATE_CHANGED, 222);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 1,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 222,
|
||||
util::WAKELOCK_STATE_CHANGED, 222,
|
||||
"GMSCoreModule1");
|
||||
ValidateUidDimension(data.dimensions_in_what(), 2, android::util::WAKELOCK_STATE_CHANGED, 333);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 2, util::WAKELOCK_STATE_CHANGED, 333);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 2,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 333, "App3");
|
||||
util::WAKELOCK_STATE_CHANGED, 333, "App3");
|
||||
EXPECT_EQ(data.bucket_info_size(), 1);
|
||||
EXPECT_EQ(data.bucket_info(0).count(), 1);
|
||||
EXPECT_EQ(bucketStartTimeNs, data.bucket_info(0).start_bucket_elapsed_nanos());
|
||||
EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(4);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 0, android::util::WAKELOCK_STATE_CHANGED, 111);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 0, util::WAKELOCK_STATE_CHANGED, 111);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 0,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 111, "App1");
|
||||
ValidateUidDimension(data.dimensions_in_what(), 1, android::util::WAKELOCK_STATE_CHANGED, 333);
|
||||
util::WAKELOCK_STATE_CHANGED, 111, "App1");
|
||||
ValidateUidDimension(data.dimensions_in_what(), 1, util::WAKELOCK_STATE_CHANGED, 333);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 1,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 333, "App3");
|
||||
ValidateUidDimension(data.dimensions_in_what(), 2, android::util::WAKELOCK_STATE_CHANGED, 222);
|
||||
util::WAKELOCK_STATE_CHANGED, 333, "App3");
|
||||
ValidateUidDimension(data.dimensions_in_what(), 2, util::WAKELOCK_STATE_CHANGED, 222);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 2,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 222,
|
||||
util::WAKELOCK_STATE_CHANGED, 222,
|
||||
"GMSCoreModule1");
|
||||
EXPECT_EQ(data.bucket_info_size(), 1);
|
||||
EXPECT_EQ(data.bucket_info(0).count(), 1);
|
||||
@@ -349,16 +349,16 @@ TEST(AttributionE2eTest, TestAttributionMatchAndSliceByChain) {
|
||||
EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(5);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 0, android::util::WAKELOCK_STATE_CHANGED, 111);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 0, util::WAKELOCK_STATE_CHANGED, 111);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 0,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 111, "App1");
|
||||
ValidateUidDimension(data.dimensions_in_what(), 1, android::util::WAKELOCK_STATE_CHANGED, 444);
|
||||
util::WAKELOCK_STATE_CHANGED, 111, "App1");
|
||||
ValidateUidDimension(data.dimensions_in_what(), 1, util::WAKELOCK_STATE_CHANGED, 444);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 1,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 444,
|
||||
util::WAKELOCK_STATE_CHANGED, 444,
|
||||
"GMSCoreModule2");
|
||||
ValidateUidDimension(data.dimensions_in_what(), 2, android::util::WAKELOCK_STATE_CHANGED, 333);
|
||||
ValidateUidDimension(data.dimensions_in_what(), 2, util::WAKELOCK_STATE_CHANGED, 333);
|
||||
ValidateAttributionUidAndTagDimension(data.dimensions_in_what(), 2,
|
||||
android::util::WAKELOCK_STATE_CHANGED, 333, "App3");
|
||||
util::WAKELOCK_STATE_CHANGED, 333, "App3");
|
||||
EXPECT_EQ(data.bucket_info_size(), 1);
|
||||
EXPECT_EQ(data.bucket_info(0).count(), 1);
|
||||
EXPECT_EQ(bucketStartTimeNs + 2 * bucketSizeNs,
|
||||
|
||||
@@ -39,7 +39,7 @@ StatsdConfig CreateStatsdConfig(int num_buckets, int threshold) {
|
||||
countMetric->set_id(123456);
|
||||
countMetric->set_what(wakelockAcquireMatcher.id());
|
||||
*countMetric->mutable_dimensions_in_what() = CreateAttributionUidDimensions(
|
||||
android::util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
countMetric->set_bucket(FIVE_MINUTES);
|
||||
|
||||
auto alert = config.add_alert();
|
||||
@@ -74,12 +74,12 @@ TEST(ConfigTtlE2eTest, TestCountMetric) {
|
||||
std::vector<int> attributionUids1 = {111};
|
||||
std::vector<string> attributionTags1 = {"App1"};
|
||||
|
||||
FieldValue fieldValue1(Field(android::util::WAKELOCK_STATE_CHANGED, (int32_t)0x02010101),
|
||||
FieldValue fieldValue1(Field(util::WAKELOCK_STATE_CHANGED, (int32_t)0x02010101),
|
||||
Value((int32_t)111));
|
||||
HashableDimensionKey whatKey1({fieldValue1});
|
||||
MetricDimensionKey dimensionKey1(whatKey1, DEFAULT_DIMENSION_KEY);
|
||||
|
||||
FieldValue fieldValue2(Field(android::util::WAKELOCK_STATE_CHANGED, (int32_t)0x02010101),
|
||||
FieldValue fieldValue2(Field(util::WAKELOCK_STATE_CHANGED, (int32_t)0x02010101),
|
||||
Value((int32_t)222));
|
||||
HashableDimensionKey whatKey2({fieldValue2});
|
||||
MetricDimensionKey dimensionKey2(whatKey2, DEFAULT_DIMENSION_KEY);
|
||||
|
||||
@@ -365,7 +365,7 @@ TEST(CountMetricE2eTest, TestSlicedStateWithPrimaryFields) {
|
||||
config.add_allowed_log_source("AID_ROOT"); // LogEvent defaults to UID of root.
|
||||
|
||||
auto appCrashMatcher =
|
||||
CreateSimpleAtomMatcher("APP_CRASH_OCCURRED", android::util::APP_CRASH_OCCURRED);
|
||||
CreateSimpleAtomMatcher("APP_CRASH_OCCURRED", util::APP_CRASH_OCCURRED);
|
||||
*config.add_atom_matcher() = appCrashMatcher;
|
||||
|
||||
auto state = CreateUidProcessState();
|
||||
@@ -381,7 +381,7 @@ TEST(CountMetricE2eTest, TestSlicedStateWithPrimaryFields) {
|
||||
MetricStateLink* stateLink = countMetric->add_state_link();
|
||||
stateLink->set_state_atom_id(UID_PROCESS_STATE_ATOM_ID);
|
||||
auto fieldsInWhat = stateLink->mutable_fields_in_what();
|
||||
*fieldsInWhat = CreateDimensions(android::util::APP_CRASH_OCCURRED, {1 /*uid*/});
|
||||
*fieldsInWhat = CreateDimensions(util::APP_CRASH_OCCURRED, {1 /*uid*/});
|
||||
auto fieldsInState = stateLink->mutable_fields_in_state();
|
||||
*fieldsInState = CreateDimensions(UID_PROCESS_STATE_ATOM_ID, {1 /*uid*/});
|
||||
|
||||
@@ -551,7 +551,7 @@ TEST(CountMetricE2eTest, TestMultipleSlicedStates) {
|
||||
config.add_allowed_log_source("AID_ROOT"); // LogEvent defaults to UID of root.
|
||||
|
||||
auto appCrashMatcher =
|
||||
CreateSimpleAtomMatcher("APP_CRASH_OCCURRED", android::util::APP_CRASH_OCCURRED);
|
||||
CreateSimpleAtomMatcher("APP_CRASH_OCCURRED", util::APP_CRASH_OCCURRED);
|
||||
*config.add_atom_matcher() = appCrashMatcher;
|
||||
|
||||
auto state1 = CreateScreenStateWithOnOffMap();
|
||||
@@ -571,7 +571,7 @@ TEST(CountMetricE2eTest, TestMultipleSlicedStates) {
|
||||
MetricStateLink* stateLink = countMetric->add_state_link();
|
||||
stateLink->set_state_atom_id(UID_PROCESS_STATE_ATOM_ID);
|
||||
auto fieldsInWhat = stateLink->mutable_fields_in_what();
|
||||
*fieldsInWhat = CreateDimensions(android::util::APP_CRASH_OCCURRED, {1 /*uid*/});
|
||||
*fieldsInWhat = CreateDimensions(util::APP_CRASH_OCCURRED, {1 /*uid*/});
|
||||
auto fieldsInState = stateLink->mutable_fields_in_state();
|
||||
*fieldsInState = CreateDimensions(UID_PROCESS_STATE_ATOM_ID, {1 /*uid*/});
|
||||
|
||||
|
||||
@@ -456,14 +456,14 @@ TEST(DurationMetricE2eTest, TestWithSlicedCondition) {
|
||||
|
||||
auto holdingWakelockPredicate = CreateHoldingWakelockPredicate();
|
||||
// The predicate is dimensioning by first attribution node by uid.
|
||||
FieldMatcher dimensions = CreateAttributionUidDimensions(android::util::WAKELOCK_STATE_CHANGED,
|
||||
FieldMatcher dimensions = CreateAttributionUidDimensions(util::WAKELOCK_STATE_CHANGED,
|
||||
{Position::FIRST});
|
||||
*holdingWakelockPredicate.mutable_simple_predicate()->mutable_dimensions() = dimensions;
|
||||
*config.add_predicate() = holdingWakelockPredicate;
|
||||
|
||||
auto isInBackgroundPredicate = CreateIsInBackgroundPredicate();
|
||||
*isInBackgroundPredicate.mutable_simple_predicate()->mutable_dimensions() =
|
||||
CreateDimensions(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED, {Position::FIRST});
|
||||
CreateDimensions(util::ACTIVITY_FOREGROUND_STATE_CHANGED, {Position::FIRST});
|
||||
*config.add_predicate() = isInBackgroundPredicate;
|
||||
|
||||
auto durationMetric = config.add_duration_metric();
|
||||
@@ -473,17 +473,17 @@ TEST(DurationMetricE2eTest, TestWithSlicedCondition) {
|
||||
durationMetric->set_aggregation_type(DurationMetric::SUM);
|
||||
// The metric is dimensioning by first attribution node and only by uid.
|
||||
*durationMetric->mutable_dimensions_in_what() = CreateAttributionUidDimensions(
|
||||
android::util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
durationMetric->set_bucket(FIVE_MINUTES);
|
||||
|
||||
// Links between wakelock state atom and condition of app is in background.
|
||||
auto links = durationMetric->add_links();
|
||||
links->set_condition(isInBackgroundPredicate.id());
|
||||
auto dimensionWhat = links->mutable_fields_in_what();
|
||||
dimensionWhat->set_field(android::util::WAKELOCK_STATE_CHANGED);
|
||||
dimensionWhat->set_field(util::WAKELOCK_STATE_CHANGED);
|
||||
dimensionWhat->add_child()->set_field(1); // uid field.
|
||||
*links->mutable_fields_in_condition() = CreateAttributionUidDimensions(
|
||||
android::util::ACTIVITY_FOREGROUND_STATE_CHANGED, {Position::FIRST});
|
||||
util::ACTIVITY_FOREGROUND_STATE_CHANGED, {Position::FIRST});
|
||||
|
||||
ConfigKey cfgKey;
|
||||
uint64_t bucketStartTimeNs = 10000000000;
|
||||
@@ -536,7 +536,7 @@ TEST(DurationMetricE2eTest, TestWithSlicedCondition) {
|
||||
auto data = reports.reports(0).metrics(0).duration_metrics().data(0);
|
||||
// Validate dimension value.
|
||||
ValidateAttributionUidDimension(data.dimensions_in_what(),
|
||||
android::util::WAKELOCK_STATE_CHANGED, appUid);
|
||||
util::WAKELOCK_STATE_CHANGED, appUid);
|
||||
// Validate bucket info.
|
||||
EXPECT_EQ(1, data.bucket_info_size());
|
||||
|
||||
@@ -558,14 +558,14 @@ TEST(DurationMetricE2eTest, TestWithActivationAndSlicedCondition) {
|
||||
|
||||
auto holdingWakelockPredicate = CreateHoldingWakelockPredicate();
|
||||
// The predicate is dimensioning by first attribution node by uid.
|
||||
FieldMatcher dimensions = CreateAttributionUidDimensions(android::util::WAKELOCK_STATE_CHANGED,
|
||||
FieldMatcher dimensions = CreateAttributionUidDimensions(util::WAKELOCK_STATE_CHANGED,
|
||||
{Position::FIRST});
|
||||
*holdingWakelockPredicate.mutable_simple_predicate()->mutable_dimensions() = dimensions;
|
||||
*config.add_predicate() = holdingWakelockPredicate;
|
||||
|
||||
auto isInBackgroundPredicate = CreateIsInBackgroundPredicate();
|
||||
*isInBackgroundPredicate.mutable_simple_predicate()->mutable_dimensions() =
|
||||
CreateDimensions(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED, {Position::FIRST});
|
||||
CreateDimensions(util::ACTIVITY_FOREGROUND_STATE_CHANGED, {Position::FIRST});
|
||||
*config.add_predicate() = isInBackgroundPredicate;
|
||||
|
||||
auto durationMetric = config.add_duration_metric();
|
||||
@@ -575,17 +575,17 @@ TEST(DurationMetricE2eTest, TestWithActivationAndSlicedCondition) {
|
||||
durationMetric->set_aggregation_type(DurationMetric::SUM);
|
||||
// The metric is dimensioning by first attribution node and only by uid.
|
||||
*durationMetric->mutable_dimensions_in_what() = CreateAttributionUidDimensions(
|
||||
android::util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
durationMetric->set_bucket(FIVE_MINUTES);
|
||||
|
||||
// Links between wakelock state atom and condition of app is in background.
|
||||
auto links = durationMetric->add_links();
|
||||
links->set_condition(isInBackgroundPredicate.id());
|
||||
auto dimensionWhat = links->mutable_fields_in_what();
|
||||
dimensionWhat->set_field(android::util::WAKELOCK_STATE_CHANGED);
|
||||
dimensionWhat->set_field(util::WAKELOCK_STATE_CHANGED);
|
||||
dimensionWhat->add_child()->set_field(1); // uid field.
|
||||
*links->mutable_fields_in_condition() = CreateAttributionUidDimensions(
|
||||
android::util::ACTIVITY_FOREGROUND_STATE_CHANGED, {Position::FIRST});
|
||||
util::ACTIVITY_FOREGROUND_STATE_CHANGED, {Position::FIRST});
|
||||
|
||||
auto metric_activation1 = config.add_metric_activation();
|
||||
metric_activation1->set_metric_id(durationMetric->id());
|
||||
@@ -694,7 +694,7 @@ TEST(DurationMetricE2eTest, TestWithActivationAndSlicedCondition) {
|
||||
auto data = reports.reports(0).metrics(0).duration_metrics().data(0);
|
||||
// Validate dimension value.
|
||||
ValidateAttributionUidDimension(data.dimensions_in_what(),
|
||||
android::util::WAKELOCK_STATE_CHANGED, appUid);
|
||||
util::WAKELOCK_STATE_CHANGED, appUid);
|
||||
// Validate bucket info.
|
||||
EXPECT_EQ(2, data.bucket_info_size());
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace statsd {
|
||||
namespace {
|
||||
|
||||
const int64_t metricId = 123456;
|
||||
const int32_t ATOM_TAG = android::util::SUBSYSTEM_SLEEP_STATE;
|
||||
const int32_t ATOM_TAG = util::SUBSYSTEM_SLEEP_STATE;
|
||||
|
||||
StatsdConfig CreateStatsdConfig(const GaugeMetric::SamplingType sampling_type,
|
||||
bool useCondition = true) {
|
||||
|
||||
@@ -35,12 +35,12 @@ StatsdConfig CreateStatsdConfigForPushedEvent(const GaugeMetric::SamplingType sa
|
||||
*config.add_atom_matcher() = CreateMoveToBackgroundAtomMatcher();
|
||||
*config.add_atom_matcher() = CreateMoveToForegroundAtomMatcher();
|
||||
|
||||
auto atomMatcher = CreateSimpleAtomMatcher("", android::util::APP_START_OCCURRED);
|
||||
auto atomMatcher = CreateSimpleAtomMatcher("", util::APP_START_OCCURRED);
|
||||
*config.add_atom_matcher() = atomMatcher;
|
||||
|
||||
auto isInBackgroundPredicate = CreateIsInBackgroundPredicate();
|
||||
*isInBackgroundPredicate.mutable_simple_predicate()->mutable_dimensions() =
|
||||
CreateDimensions(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED, {1 /* uid field */ });
|
||||
CreateDimensions(util::ACTIVITY_FOREGROUND_STATE_CHANGED, {1 /* uid field */ });
|
||||
*config.add_predicate() = isInBackgroundPredicate;
|
||||
|
||||
auto gaugeMetric = config.add_gauge_metric();
|
||||
@@ -50,21 +50,21 @@ StatsdConfig CreateStatsdConfigForPushedEvent(const GaugeMetric::SamplingType sa
|
||||
gaugeMetric->mutable_gauge_fields_filter()->set_include_all(false);
|
||||
gaugeMetric->set_sampling_type(sampling_type);
|
||||
auto fieldMatcher = gaugeMetric->mutable_gauge_fields_filter()->mutable_fields();
|
||||
fieldMatcher->set_field(android::util::APP_START_OCCURRED);
|
||||
fieldMatcher->set_field(util::APP_START_OCCURRED);
|
||||
fieldMatcher->add_child()->set_field(3); // type (enum)
|
||||
fieldMatcher->add_child()->set_field(4); // activity_name(str)
|
||||
fieldMatcher->add_child()->set_field(7); // activity_start_msec(int64)
|
||||
*gaugeMetric->mutable_dimensions_in_what() =
|
||||
CreateDimensions(android::util::APP_START_OCCURRED, {1 /* uid field */ });
|
||||
CreateDimensions(util::APP_START_OCCURRED, {1 /* uid field */ });
|
||||
gaugeMetric->set_bucket(FIVE_MINUTES);
|
||||
|
||||
auto links = gaugeMetric->add_links();
|
||||
links->set_condition(isInBackgroundPredicate.id());
|
||||
auto dimensionWhat = links->mutable_fields_in_what();
|
||||
dimensionWhat->set_field(android::util::APP_START_OCCURRED);
|
||||
dimensionWhat->set_field(util::APP_START_OCCURRED);
|
||||
dimensionWhat->add_child()->set_field(1); // uid field.
|
||||
auto dimensionCondition = links->mutable_fields_in_condition();
|
||||
dimensionCondition->set_field(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED);
|
||||
dimensionCondition->set_field(util::ACTIVITY_FOREGROUND_STATE_CHANGED);
|
||||
dimensionCondition->add_child()->set_field(1); // uid field.
|
||||
return config;
|
||||
}
|
||||
@@ -74,7 +74,7 @@ std::unique_ptr<LogEvent> CreateAppStartOccurredEvent(
|
||||
AppStartOccurred::TransitionType type, const string& activity_name,
|
||||
const string& calling_pkg_name, const bool is_instant_app, int64_t activity_start_msec) {
|
||||
AStatsEvent* statsEvent = AStatsEvent_obtain();
|
||||
AStatsEvent_setAtomId(statsEvent, android::util::APP_START_OCCURRED);
|
||||
AStatsEvent_setAtomId(statsEvent, util::APP_START_OCCURRED);
|
||||
AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
|
||||
|
||||
AStatsEvent_writeInt32(statsEvent, uid);
|
||||
@@ -173,7 +173,7 @@ TEST(GaugeMetricE2eTest, TestMultipleFieldsForPushedEvent) {
|
||||
EXPECT_EQ(2, gaugeMetrics.data_size());
|
||||
|
||||
auto data = gaugeMetrics.data(0);
|
||||
EXPECT_EQ(android::util::APP_START_OCCURRED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::APP_START_OCCURRED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -272,7 +272,7 @@ TEST(GaugeMetricE2eTest, TestMultipleFieldsForPushedEvent) {
|
||||
|
||||
data = gaugeMetrics.data(1);
|
||||
|
||||
EXPECT_EQ(data.dimensions_in_what().field(), android::util::APP_START_OCCURRED);
|
||||
EXPECT_EQ(data.dimensions_in_what().field(), util::APP_START_OCCURRED);
|
||||
EXPECT_EQ(data.dimensions_in_what().value_tuple().dimensions_value_size(), 1);
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
|
||||
@@ -45,7 +45,7 @@ StatsdConfig CreateStatsdConfig() {
|
||||
countMetric->set_what(crashMatcher.id());
|
||||
countMetric->set_bucket(FIVE_MINUTES);
|
||||
countMetric->mutable_dimensions_in_what()->set_field(
|
||||
android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
countMetric->mutable_dimensions_in_what()->add_child()->set_field(1); // uid field
|
||||
|
||||
auto metric_activation1 = config.add_metric_activation();
|
||||
@@ -79,7 +79,7 @@ StatsdConfig CreateStatsdConfigWithOneDeactivation() {
|
||||
countMetric->set_what(crashMatcher.id());
|
||||
countMetric->set_bucket(FIVE_MINUTES);
|
||||
countMetric->mutable_dimensions_in_what()->set_field(
|
||||
android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
countMetric->mutable_dimensions_in_what()->add_child()->set_field(1); // uid field
|
||||
|
||||
auto metric_activation1 = config.add_metric_activation();
|
||||
@@ -117,7 +117,7 @@ StatsdConfig CreateStatsdConfigWithTwoDeactivations() {
|
||||
countMetric->set_what(crashMatcher.id());
|
||||
countMetric->set_bucket(FIVE_MINUTES);
|
||||
countMetric->mutable_dimensions_in_what()->set_field(
|
||||
android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
countMetric->mutable_dimensions_in_what()->add_child()->set_field(1); // uid field
|
||||
|
||||
auto metric_activation1 = config.add_metric_activation();
|
||||
@@ -153,7 +153,7 @@ StatsdConfig CreateStatsdConfigWithSameDeactivations() {
|
||||
countMetric->set_what(crashMatcher.id());
|
||||
countMetric->set_bucket(FIVE_MINUTES);
|
||||
countMetric->mutable_dimensions_in_what()->set_field(
|
||||
android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
countMetric->mutable_dimensions_in_what()->add_child()->set_field(1); // uid field
|
||||
|
||||
auto metric_activation1 = config.add_metric_activation();
|
||||
@@ -194,7 +194,7 @@ StatsdConfig CreateStatsdConfigWithTwoMetricsTwoDeactivations() {
|
||||
countMetric->set_what(crashMatcher.id());
|
||||
countMetric->set_bucket(FIVE_MINUTES);
|
||||
countMetric->mutable_dimensions_in_what()->set_field(
|
||||
android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
countMetric->mutable_dimensions_in_what()->add_child()->set_field(1); // uid field
|
||||
|
||||
int64_t metricId2 = 234567;
|
||||
@@ -203,7 +203,7 @@ StatsdConfig CreateStatsdConfigWithTwoMetricsTwoDeactivations() {
|
||||
countMetric->set_what(foregroundMatcher.id());
|
||||
countMetric->set_bucket(FIVE_MINUTES);
|
||||
countMetric->mutable_dimensions_in_what()->set_field(
|
||||
android::util::ACTIVITY_FOREGROUND_STATE_CHANGED);
|
||||
util::ACTIVITY_FOREGROUND_STATE_CHANGED);
|
||||
countMetric->mutable_dimensions_in_what()->add_child()->set_field(1); // uid field
|
||||
|
||||
auto metric_activation1 = config.add_metric_activation();
|
||||
@@ -398,7 +398,7 @@ TEST(MetricActivationE2eTest, TestCountMetric) {
|
||||
EXPECT_EQ(4, countMetrics.data_size());
|
||||
|
||||
auto data = countMetrics.data(0);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -409,7 +409,7 @@ TEST(MetricActivationE2eTest, TestCountMetric) {
|
||||
EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(1);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -420,7 +420,7 @@ TEST(MetricActivationE2eTest, TestCountMetric) {
|
||||
EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(2);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -433,7 +433,7 @@ TEST(MetricActivationE2eTest, TestCountMetric) {
|
||||
data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(3);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -706,7 +706,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithOneDeactivation) {
|
||||
EXPECT_EQ(5, countMetrics.data_size());
|
||||
|
||||
auto data = countMetrics.data(0);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -717,7 +717,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithOneDeactivation) {
|
||||
EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(1);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -728,7 +728,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithOneDeactivation) {
|
||||
EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(2);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -741,7 +741,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithOneDeactivation) {
|
||||
data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(3);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -754,7 +754,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithOneDeactivation) {
|
||||
data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(4);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1040,7 +1040,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoDeactivations) {
|
||||
EXPECT_EQ(5, countMetrics.data_size());
|
||||
|
||||
auto data = countMetrics.data(0);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1051,7 +1051,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoDeactivations) {
|
||||
EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(1);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1062,7 +1062,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoDeactivations) {
|
||||
EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(2);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1075,7 +1075,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoDeactivations) {
|
||||
data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(3);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1088,7 +1088,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoDeactivations) {
|
||||
data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(4);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1264,7 +1264,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithSameDeactivation) {
|
||||
EXPECT_EQ(3, countMetrics.data_size());
|
||||
|
||||
auto data = countMetrics.data(0);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1275,7 +1275,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithSameDeactivation) {
|
||||
EXPECT_EQ(firstDeactivation, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(1);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1286,7 +1286,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithSameDeactivation) {
|
||||
EXPECT_EQ(firstDeactivation, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(2);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1704,7 +1704,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoMetricsTwoDeactivations) {
|
||||
EXPECT_EQ(5, countMetrics.data_size());
|
||||
|
||||
auto data = countMetrics.data(0);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1715,7 +1715,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoMetricsTwoDeactivations) {
|
||||
EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(1);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1726,7 +1726,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoMetricsTwoDeactivations) {
|
||||
EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(2);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1739,7 +1739,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoMetricsTwoDeactivations) {
|
||||
data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(3);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1752,7 +1752,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoMetricsTwoDeactivations) {
|
||||
data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(4);
|
||||
EXPECT_EQ(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1769,7 +1769,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoMetricsTwoDeactivations) {
|
||||
EXPECT_EQ(5, countMetrics.data_size());
|
||||
|
||||
data = countMetrics.data(0);
|
||||
EXPECT_EQ(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::ACTIVITY_FOREGROUND_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1780,7 +1780,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoMetricsTwoDeactivations) {
|
||||
EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(1);
|
||||
EXPECT_EQ(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::ACTIVITY_FOREGROUND_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1791,7 +1791,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoMetricsTwoDeactivations) {
|
||||
EXPECT_EQ(bucketStartTimeNs + bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(2);
|
||||
EXPECT_EQ(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::ACTIVITY_FOREGROUND_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1804,7 +1804,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoMetricsTwoDeactivations) {
|
||||
data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(3);
|
||||
EXPECT_EQ(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::ACTIVITY_FOREGROUND_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -1817,7 +1817,7 @@ TEST(MetricActivationE2eTest, TestCountMetricWithTwoMetricsTwoDeactivations) {
|
||||
data.bucket_info(0).end_bucket_elapsed_nanos());
|
||||
|
||||
data = countMetrics.data(4);
|
||||
EXPECT_EQ(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::ACTIVITY_FOREGROUND_STATE_CHANGED, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* uid field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
|
||||
@@ -48,12 +48,12 @@ StatsdConfig CreateStatsdConfig() {
|
||||
auto isSyncingPredicate = CreateIsSyncingPredicate();
|
||||
auto syncDimension = isSyncingPredicate.mutable_simple_predicate()->mutable_dimensions();
|
||||
*syncDimension = CreateAttributionUidDimensions(
|
||||
android::util::SYNC_STATE_CHANGED, {Position::FIRST});
|
||||
util::SYNC_STATE_CHANGED, {Position::FIRST});
|
||||
syncDimension->add_child()->set_field(2 /* name field*/);
|
||||
|
||||
auto isInBackgroundPredicate = CreateIsInBackgroundPredicate();
|
||||
*isInBackgroundPredicate.mutable_simple_predicate()->mutable_dimensions() =
|
||||
CreateDimensions(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED, {1 /* uid field */ });
|
||||
CreateDimensions(util::ACTIVITY_FOREGROUND_STATE_CHANGED, {1 /* uid field */ });
|
||||
|
||||
*config.add_predicate() = screenIsOffPredicate;
|
||||
*config.add_predicate() = isSyncingPredicate;
|
||||
@@ -72,26 +72,26 @@ StatsdConfig CreateStatsdConfig() {
|
||||
countMetric->set_condition(combinationPredicate->id());
|
||||
// The metric is dimensioning by uid only.
|
||||
*countMetric->mutable_dimensions_in_what() =
|
||||
CreateDimensions(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED, {1});
|
||||
CreateDimensions(util::PROCESS_LIFE_CYCLE_STATE_CHANGED, {1});
|
||||
countMetric->set_bucket(FIVE_MINUTES);
|
||||
|
||||
// Links between crash atom and condition of app is in syncing.
|
||||
auto links = countMetric->add_links();
|
||||
links->set_condition(isSyncingPredicate.id());
|
||||
auto dimensionWhat = links->mutable_fields_in_what();
|
||||
dimensionWhat->set_field(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
dimensionWhat->set_field(util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
dimensionWhat->add_child()->set_field(1); // uid field.
|
||||
*links->mutable_fields_in_condition() = CreateAttributionUidDimensions(
|
||||
android::util::SYNC_STATE_CHANGED, {Position::FIRST});
|
||||
util::SYNC_STATE_CHANGED, {Position::FIRST});
|
||||
|
||||
// Links between crash atom and condition of app is in background.
|
||||
links = countMetric->add_links();
|
||||
links->set_condition(isInBackgroundPredicate.id());
|
||||
dimensionWhat = links->mutable_fields_in_what();
|
||||
dimensionWhat->set_field(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
dimensionWhat->set_field(util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
dimensionWhat->add_child()->set_field(1); // uid field.
|
||||
auto dimensionCondition = links->mutable_fields_in_condition();
|
||||
dimensionCondition->set_field(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED);
|
||||
dimensionCondition->set_field(util::ACTIVITY_FOREGROUND_STATE_CHANGED);
|
||||
dimensionCondition->add_child()->set_field(1); // uid field.
|
||||
return config;
|
||||
}
|
||||
@@ -211,7 +211,7 @@ TEST(MetricConditionLinkE2eTest, TestMultiplePredicatesAndLinks1) {
|
||||
EXPECT_EQ(reports.reports(0).metrics(0).count_metrics().data(0).bucket_info(0).count(), 1);
|
||||
auto data = reports.reports(0).metrics(0).count_metrics().data(0);
|
||||
// Validate dimension value.
|
||||
EXPECT_EQ(data.dimensions_in_what().field(), android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
EXPECT_EQ(data.dimensions_in_what().field(), util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
EXPECT_EQ(data.dimensions_in_what().value_tuple().dimensions_value_size(), 1);
|
||||
// Uid field.
|
||||
EXPECT_EQ(data.dimensions_in_what().value_tuple().dimensions_value(0).field(), 1);
|
||||
@@ -332,7 +332,7 @@ TEST(MetricConditionLinkE2eTest, TestMultiplePredicatesAndLinks2) {
|
||||
EXPECT_EQ(reports.reports(0).metrics(0).count_metrics().data(0).bucket_info(1).count(), 3);
|
||||
auto data = reports.reports(0).metrics(0).count_metrics().data(0);
|
||||
// Validate dimension value.
|
||||
EXPECT_EQ(data.dimensions_in_what().field(), android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
EXPECT_EQ(data.dimensions_in_what().field(), util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
EXPECT_EQ(data.dimensions_in_what().value_tuple().dimensions_value_size(), 1);
|
||||
// Uid field.
|
||||
EXPECT_EQ(data.dimensions_in_what().value_tuple().dimensions_value(0).field(), 1);
|
||||
|
||||
@@ -73,7 +73,7 @@ StatsdConfig MakeValueMetricConfig(int64_t minTime) {
|
||||
config.add_allowed_log_source("AID_ROOT"); // LogEvent defaults to UID of root.
|
||||
|
||||
auto pulledAtomMatcher =
|
||||
CreateSimpleAtomMatcher("TestMatcher", android::util::SUBSYSTEM_SLEEP_STATE);
|
||||
CreateSimpleAtomMatcher("TestMatcher", util::SUBSYSTEM_SLEEP_STATE);
|
||||
*config.add_atom_matcher() = pulledAtomMatcher;
|
||||
*config.add_atom_matcher() = CreateScreenTurnedOnAtomMatcher();
|
||||
*config.add_atom_matcher() = CreateScreenTurnedOffAtomMatcher();
|
||||
@@ -82,9 +82,9 @@ StatsdConfig MakeValueMetricConfig(int64_t minTime) {
|
||||
valueMetric->set_id(123456);
|
||||
valueMetric->set_what(pulledAtomMatcher.id());
|
||||
*valueMetric->mutable_value_field() =
|
||||
CreateDimensions(android::util::SUBSYSTEM_SLEEP_STATE, {4 /* time sleeping field */});
|
||||
CreateDimensions(util::SUBSYSTEM_SLEEP_STATE, {4 /* time sleeping field */});
|
||||
*valueMetric->mutable_dimensions_in_what() =
|
||||
CreateDimensions(android::util::SUBSYSTEM_SLEEP_STATE, {1 /* subsystem name */});
|
||||
CreateDimensions(util::SUBSYSTEM_SLEEP_STATE, {1 /* subsystem name */});
|
||||
valueMetric->set_bucket(FIVE_MINUTES);
|
||||
valueMetric->set_min_bucket_size_nanos(minTime);
|
||||
valueMetric->set_use_absolute_value_on_reset(true);
|
||||
@@ -96,7 +96,7 @@ StatsdConfig MakeGaugeMetricConfig(int64_t minTime) {
|
||||
config.add_allowed_log_source("AID_ROOT"); // LogEvent defaults to UID of root.
|
||||
|
||||
auto pulledAtomMatcher =
|
||||
CreateSimpleAtomMatcher("TestMatcher", android::util::SUBSYSTEM_SLEEP_STATE);
|
||||
CreateSimpleAtomMatcher("TestMatcher", util::SUBSYSTEM_SLEEP_STATE);
|
||||
*config.add_atom_matcher() = pulledAtomMatcher;
|
||||
*config.add_atom_matcher() = CreateScreenTurnedOnAtomMatcher();
|
||||
*config.add_atom_matcher() = CreateScreenTurnedOffAtomMatcher();
|
||||
@@ -106,7 +106,7 @@ StatsdConfig MakeGaugeMetricConfig(int64_t minTime) {
|
||||
gaugeMetric->set_what(pulledAtomMatcher.id());
|
||||
gaugeMetric->mutable_gauge_fields_filter()->set_include_all(true);
|
||||
*gaugeMetric->mutable_dimensions_in_what() =
|
||||
CreateDimensions(android::util::SUBSYSTEM_SLEEP_STATE, {1 /* subsystem name */});
|
||||
CreateDimensions(util::SUBSYSTEM_SLEEP_STATE, {1 /* subsystem name */});
|
||||
gaugeMetric->set_bucket(FIVE_MINUTES);
|
||||
gaugeMetric->set_min_bucket_size_nanos(minTime);
|
||||
return config;
|
||||
@@ -218,7 +218,7 @@ TEST(PartialBucketE2eTest, TestCountMetricSplitOnRemoval) {
|
||||
TEST(PartialBucketE2eTest, TestValueMetricWithoutMinPartialBucket) {
|
||||
shared_ptr<StatsService> service = SharedRefBase::make<StatsService>(nullptr, nullptr);
|
||||
service->mPullerManager->RegisterPullAtomCallback(
|
||||
/*uid=*/0, android::util::SUBSYSTEM_SLEEP_STATE, NS_PER_SEC, NS_PER_SEC * 10, {},
|
||||
/*uid=*/0, util::SUBSYSTEM_SLEEP_STATE, NS_PER_SEC, NS_PER_SEC * 10, {},
|
||||
SharedRefBase::make<FakeSubsystemSleepCallback>());
|
||||
// Partial buckets don't occur when app is first installed.
|
||||
service->mUidMap->updateApp(1, String16(kApp1.c_str()), 1, 1, String16("v1"), String16(""));
|
||||
@@ -239,7 +239,7 @@ TEST(PartialBucketE2eTest, TestValueMetricWithoutMinPartialBucket) {
|
||||
TEST(PartialBucketE2eTest, TestValueMetricWithMinPartialBucket) {
|
||||
shared_ptr<StatsService> service = SharedRefBase::make<StatsService>(nullptr, nullptr);
|
||||
service->mPullerManager->RegisterPullAtomCallback(
|
||||
/*uid=*/0, android::util::SUBSYSTEM_SLEEP_STATE, NS_PER_SEC, NS_PER_SEC * 10, {},
|
||||
/*uid=*/0, util::SUBSYSTEM_SLEEP_STATE, NS_PER_SEC, NS_PER_SEC * 10, {},
|
||||
SharedRefBase::make<FakeSubsystemSleepCallback>());
|
||||
// Partial buckets don't occur when app is first installed.
|
||||
service->mUidMap->updateApp(1, String16(kApp1.c_str()), 1, 1, String16("v1"), String16(""));
|
||||
|
||||
@@ -37,7 +37,7 @@ StatsdConfig CreateStatsdConfig(bool useCondition = true) {
|
||||
StatsdConfig config;
|
||||
config.add_allowed_log_source("AID_ROOT"); // LogEvent defaults to UID of root.
|
||||
auto pulledAtomMatcher =
|
||||
CreateSimpleAtomMatcher("TestMatcher", android::util::SUBSYSTEM_SLEEP_STATE);
|
||||
CreateSimpleAtomMatcher("TestMatcher", util::SUBSYSTEM_SLEEP_STATE);
|
||||
*config.add_atom_matcher() = pulledAtomMatcher;
|
||||
*config.add_atom_matcher() = CreateScreenTurnedOnAtomMatcher();
|
||||
*config.add_atom_matcher() = CreateScreenTurnedOffAtomMatcher();
|
||||
@@ -52,9 +52,9 @@ StatsdConfig CreateStatsdConfig(bool useCondition = true) {
|
||||
valueMetric->set_condition(screenIsOffPredicate.id());
|
||||
}
|
||||
*valueMetric->mutable_value_field() =
|
||||
CreateDimensions(android::util::SUBSYSTEM_SLEEP_STATE, {4 /* time sleeping field */});
|
||||
CreateDimensions(util::SUBSYSTEM_SLEEP_STATE, {4 /* time sleeping field */});
|
||||
*valueMetric->mutable_dimensions_in_what() =
|
||||
CreateDimensions(android::util::SUBSYSTEM_SLEEP_STATE, {1 /* subsystem name */});
|
||||
CreateDimensions(util::SUBSYSTEM_SLEEP_STATE, {1 /* subsystem name */});
|
||||
valueMetric->set_bucket(FIVE_MINUTES);
|
||||
valueMetric->set_use_absolute_value_on_reset(true);
|
||||
valueMetric->set_skip_zero_diff_output(false);
|
||||
@@ -73,7 +73,7 @@ TEST(ValueMetricE2eTest, TestPulledEvents) {
|
||||
ConfigKey cfgKey;
|
||||
auto processor = CreateStatsLogProcessor(baseTimeNs, configAddedTimeNs, config, cfgKey,
|
||||
SharedRefBase::make<FakeSubsystemSleepCallback>(),
|
||||
android::util::SUBSYSTEM_SLEEP_STATE);
|
||||
util::SUBSYSTEM_SLEEP_STATE);
|
||||
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
|
||||
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
|
||||
processor->mPullerManager->ForceClearPullerCache();
|
||||
@@ -142,7 +142,7 @@ TEST(ValueMetricE2eTest, TestPulledEvents) {
|
||||
EXPECT_GT((int)valueMetrics.data_size(), 1);
|
||||
|
||||
auto data = valueMetrics.data(0);
|
||||
EXPECT_EQ(android::util::SUBSYSTEM_SLEEP_STATE, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::SUBSYSTEM_SLEEP_STATE, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* subsystem name field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -177,7 +177,7 @@ TEST(ValueMetricE2eTest, TestPulledEvents_LateAlarm) {
|
||||
ConfigKey cfgKey;
|
||||
auto processor = CreateStatsLogProcessor(baseTimeNs, configAddedTimeNs, config, cfgKey,
|
||||
SharedRefBase::make<FakeSubsystemSleepCallback>(),
|
||||
android::util::SUBSYSTEM_SLEEP_STATE);
|
||||
util::SUBSYSTEM_SLEEP_STATE);
|
||||
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
|
||||
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
|
||||
processor->mPullerManager->ForceClearPullerCache();
|
||||
@@ -250,7 +250,7 @@ TEST(ValueMetricE2eTest, TestPulledEvents_LateAlarm) {
|
||||
EXPECT_GT((int)valueMetrics.data_size(), 1);
|
||||
|
||||
auto data = valueMetrics.data(0);
|
||||
EXPECT_EQ(android::util::SUBSYSTEM_SLEEP_STATE, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::SUBSYSTEM_SLEEP_STATE, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* subsystem name field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -289,7 +289,7 @@ TEST(ValueMetricE2eTest, TestPulledEvents_WithActivation) {
|
||||
ConfigKey cfgKey;
|
||||
auto processor = CreateStatsLogProcessor(baseTimeNs, configAddedTimeNs, config, cfgKey,
|
||||
SharedRefBase::make<FakeSubsystemSleepCallback>(),
|
||||
android::util::SUBSYSTEM_SLEEP_STATE);
|
||||
util::SUBSYSTEM_SLEEP_STATE);
|
||||
EXPECT_EQ(processor->mMetricsManagers.size(), 1u);
|
||||
EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid());
|
||||
processor->mPullerManager->ForceClearPullerCache();
|
||||
@@ -353,7 +353,7 @@ TEST(ValueMetricE2eTest, TestPulledEvents_WithActivation) {
|
||||
EXPECT_GT((int)valueMetrics.data_size(), 0);
|
||||
|
||||
auto data = valueMetrics.data(0);
|
||||
EXPECT_EQ(android::util::SUBSYSTEM_SLEEP_STATE, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(util::SUBSYSTEM_SLEEP_STATE, data.dimensions_in_what().field());
|
||||
EXPECT_EQ(1, data.dimensions_in_what().value_tuple().dimensions_value_size());
|
||||
EXPECT_EQ(1 /* subsystem name field */,
|
||||
data.dimensions_in_what().value_tuple().dimensions_value(0).field());
|
||||
@@ -383,7 +383,7 @@ TEST(ValueMetricE2eTest, TestInitWithSlicedState) {
|
||||
config.add_allowed_log_source("AID_ROOT"); // LogEvent defaults to UID of root.
|
||||
|
||||
auto pulledAtomMatcher =
|
||||
CreateSimpleAtomMatcher("TestMatcher", android::util::SUBSYSTEM_SLEEP_STATE);
|
||||
CreateSimpleAtomMatcher("TestMatcher", util::SUBSYSTEM_SLEEP_STATE);
|
||||
*config.add_atom_matcher() = pulledAtomMatcher;
|
||||
|
||||
auto screenState = CreateScreenState();
|
||||
@@ -396,7 +396,7 @@ TEST(ValueMetricE2eTest, TestInitWithSlicedState) {
|
||||
valueMetric->set_bucket(TimeUnit::FIVE_MINUTES);
|
||||
valueMetric->set_what(pulledAtomMatcher.id());
|
||||
*valueMetric->mutable_value_field() =
|
||||
CreateDimensions(android::util::CPU_TIME_PER_UID, {2 /* user_time_micros */});
|
||||
CreateDimensions(util::CPU_TIME_PER_UID, {2 /* user_time_micros */});
|
||||
valueMetric->add_slice_by_state(screenState.id());
|
||||
valueMetric->set_max_pull_delay_sec(INT_MAX);
|
||||
|
||||
@@ -437,7 +437,7 @@ TEST(ValueMetricE2eTest, TestInitWithSlicedState_WithDimensions) {
|
||||
config.add_allowed_log_source("AID_ROOT"); // LogEvent defaults to UID of root.
|
||||
|
||||
auto cpuTimePerUidMatcher =
|
||||
CreateSimpleAtomMatcher("CpuTimePerUidMatcher", android::util::CPU_TIME_PER_UID);
|
||||
CreateSimpleAtomMatcher("CpuTimePerUidMatcher", util::CPU_TIME_PER_UID);
|
||||
*config.add_atom_matcher() = cpuTimePerUidMatcher;
|
||||
|
||||
auto uidProcessState = CreateUidProcessState();
|
||||
@@ -450,14 +450,14 @@ TEST(ValueMetricE2eTest, TestInitWithSlicedState_WithDimensions) {
|
||||
valueMetric->set_bucket(TimeUnit::FIVE_MINUTES);
|
||||
valueMetric->set_what(cpuTimePerUidMatcher.id());
|
||||
*valueMetric->mutable_value_field() =
|
||||
CreateDimensions(android::util::CPU_TIME_PER_UID, {2 /* user_time_micros */});
|
||||
CreateDimensions(util::CPU_TIME_PER_UID, {2 /* user_time_micros */});
|
||||
*valueMetric->mutable_dimensions_in_what() =
|
||||
CreateDimensions(android::util::CPU_TIME_PER_UID, {1 /* uid */});
|
||||
CreateDimensions(util::CPU_TIME_PER_UID, {1 /* uid */});
|
||||
valueMetric->add_slice_by_state(uidProcessState.id());
|
||||
MetricStateLink* stateLink = valueMetric->add_state_link();
|
||||
stateLink->set_state_atom_id(UID_PROCESS_STATE_ATOM_ID);
|
||||
auto fieldsInWhat = stateLink->mutable_fields_in_what();
|
||||
*fieldsInWhat = CreateDimensions(android::util::CPU_TIME_PER_UID, {1 /* uid */});
|
||||
*fieldsInWhat = CreateDimensions(util::CPU_TIME_PER_UID, {1 /* uid */});
|
||||
auto fieldsInState = stateLink->mutable_fields_in_state();
|
||||
*fieldsInState = CreateDimensions(UID_PROCESS_STATE_ATOM_ID, {1 /* uid */});
|
||||
valueMetric->set_max_pull_delay_sec(INT_MAX);
|
||||
@@ -497,7 +497,7 @@ TEST(ValueMetricE2eTest, TestInitWithSlicedState_WithIncorrectDimensions) {
|
||||
config.add_allowed_log_source("AID_ROOT"); // LogEvent defaults to UID of root.
|
||||
|
||||
auto cpuTimePerUidMatcher =
|
||||
CreateSimpleAtomMatcher("CpuTimePerUidMatcher", android::util::CPU_TIME_PER_UID);
|
||||
CreateSimpleAtomMatcher("CpuTimePerUidMatcher", util::CPU_TIME_PER_UID);
|
||||
*config.add_atom_matcher() = cpuTimePerUidMatcher;
|
||||
|
||||
auto uidProcessState = CreateUidProcessState();
|
||||
@@ -510,12 +510,12 @@ TEST(ValueMetricE2eTest, TestInitWithSlicedState_WithIncorrectDimensions) {
|
||||
valueMetric->set_bucket(TimeUnit::FIVE_MINUTES);
|
||||
valueMetric->set_what(cpuTimePerUidMatcher.id());
|
||||
*valueMetric->mutable_value_field() =
|
||||
CreateDimensions(android::util::CPU_TIME_PER_UID, {2 /* user_time_micros */});
|
||||
CreateDimensions(util::CPU_TIME_PER_UID, {2 /* user_time_micros */});
|
||||
valueMetric->add_slice_by_state(uidProcessState.id());
|
||||
MetricStateLink* stateLink = valueMetric->add_state_link();
|
||||
stateLink->set_state_atom_id(UID_PROCESS_STATE_ATOM_ID);
|
||||
auto fieldsInWhat = stateLink->mutable_fields_in_what();
|
||||
*fieldsInWhat = CreateDimensions(android::util::CPU_TIME_PER_UID, {1 /* uid */});
|
||||
*fieldsInWhat = CreateDimensions(util::CPU_TIME_PER_UID, {1 /* uid */});
|
||||
auto fieldsInState = stateLink->mutable_fields_in_state();
|
||||
*fieldsInState = CreateDimensions(UID_PROCESS_STATE_ATOM_ID, {1 /* uid */});
|
||||
valueMetric->set_max_pull_delay_sec(INT_MAX);
|
||||
|
||||
@@ -42,7 +42,7 @@ StatsdConfig CreateStatsdConfig(DurationMetric::AggregationType aggregationType)
|
||||
auto holdingWakelockPredicate = CreateHoldingWakelockPredicate();
|
||||
// The predicate is dimensioning by any attribution node and both by uid and tag.
|
||||
FieldMatcher dimensions = CreateAttributionUidAndTagDimensions(
|
||||
android::util::WAKELOCK_STATE_CHANGED, {Position::FIRST, Position::LAST});
|
||||
util::WAKELOCK_STATE_CHANGED, {Position::FIRST, Position::LAST});
|
||||
// Also slice by the wakelock tag
|
||||
dimensions.add_child()->set_field(3); // The wakelock tag is set in field 3 of the wakelock.
|
||||
*holdingWakelockPredicate.mutable_simple_predicate()->mutable_dimensions() = dimensions;
|
||||
@@ -56,7 +56,7 @@ StatsdConfig CreateStatsdConfig(DurationMetric::AggregationType aggregationType)
|
||||
// The metric is dimensioning by first attribution node and only by uid.
|
||||
*durationMetric->mutable_dimensions_in_what() =
|
||||
CreateAttributionUidDimensions(
|
||||
android::util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
util::WAKELOCK_STATE_CHANGED, {Position::FIRST});
|
||||
durationMetric->set_bucket(FIVE_MINUTES);
|
||||
return config;
|
||||
}
|
||||
@@ -142,7 +142,7 @@ TEST(WakelockDurationE2eTest, TestAggregatedPredicateDimensionsForSumDuration1)
|
||||
auto data = reports.reports(0).metrics(0).duration_metrics().data(0);
|
||||
// Validate dimension value.
|
||||
ValidateAttributionUidDimension(data.dimensions_in_what(),
|
||||
android::util::WAKELOCK_STATE_CHANGED, 111);
|
||||
util::WAKELOCK_STATE_CHANGED, 111);
|
||||
// Validate bucket info.
|
||||
EXPECT_EQ(reports.reports(0).metrics(0).duration_metrics().data(0).bucket_info_size(), 1);
|
||||
data = reports.reports(0).metrics(0).duration_metrics().data(0);
|
||||
@@ -178,7 +178,7 @@ TEST(WakelockDurationE2eTest, TestAggregatedPredicateDimensionsForSumDuration2)
|
||||
auto data = reports.reports(0).metrics(0).duration_metrics().data(0);
|
||||
// Validate dimension value.
|
||||
ValidateAttributionUidDimension(data.dimensions_in_what(),
|
||||
android::util::WAKELOCK_STATE_CHANGED, 111);
|
||||
util::WAKELOCK_STATE_CHANGED, 111);
|
||||
// Two output buckets.
|
||||
// The wakelock holding interval in the 1st bucket starts from the screen off event and to
|
||||
// the end of the 1st bucket.
|
||||
@@ -228,7 +228,7 @@ TEST(WakelockDurationE2eTest, TestAggregatedPredicateDimensionsForSumDuration3)
|
||||
EXPECT_EQ(reports.reports(0).metrics(0).duration_metrics().data(0).bucket_info_size(), 6);
|
||||
auto data = reports.reports(0).metrics(0).duration_metrics().data(0);
|
||||
ValidateAttributionUidDimension(data.dimensions_in_what(),
|
||||
android::util::WAKELOCK_STATE_CHANGED, 111);
|
||||
util::WAKELOCK_STATE_CHANGED, 111);
|
||||
// The last wakelock holding spans 4 buckets.
|
||||
EXPECT_EQ((unsigned long long)data.bucket_info(2).duration_nanos(), bucketSizeNs - 100);
|
||||
EXPECT_EQ((unsigned long long)data.bucket_info(3).duration_nanos(), bucketSizeNs);
|
||||
@@ -293,7 +293,7 @@ TEST(WakelockDurationE2eTest, TestAggregatedPredicateDimensionsForMaxDuration2)
|
||||
auto data = reports.reports(0).metrics(0).duration_metrics().data(0);
|
||||
// Validate dimension value.
|
||||
ValidateAttributionUidDimension(data.dimensions_in_what(),
|
||||
android::util::WAKELOCK_STATE_CHANGED, 111);
|
||||
util::WAKELOCK_STATE_CHANGED, 111);
|
||||
// The max is acquire event for wl1 to screen off start.
|
||||
EXPECT_EQ((unsigned long long)data.bucket_info(0).duration_nanos(), bucketSizeNs + 2 - 200);
|
||||
}
|
||||
@@ -337,7 +337,7 @@ TEST(WakelockDurationE2eTest, TestAggregatedPredicateDimensionsForMaxDuration3)
|
||||
EXPECT_EQ(reports.reports(0).metrics(0).duration_metrics().data(0).bucket_info_size(), 2);
|
||||
auto data = reports.reports(0).metrics(0).duration_metrics().data(0);
|
||||
ValidateAttributionUidDimension(data.dimensions_in_what(),
|
||||
android::util::WAKELOCK_STATE_CHANGED, 111);
|
||||
util::WAKELOCK_STATE_CHANGED, 111);
|
||||
// The last wakelock holding spans 4 buckets.
|
||||
EXPECT_EQ((unsigned long long)data.bucket_info(1).duration_nanos(), 3 * bucketSizeNs);
|
||||
EXPECT_EQ((unsigned long long)data.bucket_info(1).start_bucket_elapsed_nanos(),
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
#include "../metrics/metrics_test_helper.h"
|
||||
#include "stats_event.h"
|
||||
#include "statslog.h"
|
||||
#include "statslog_statsdtest.h"
|
||||
|
||||
#ifdef __ANDROID__
|
||||
|
||||
@@ -39,9 +39,9 @@ using testing::Contains;
|
||||
* Test merge isolated and host uid
|
||||
*/
|
||||
namespace {
|
||||
int uidAtomTagId = android::util::CPU_CLUSTER_TIME;
|
||||
int uidAtomTagId = util::CPU_CLUSTER_TIME;
|
||||
const vector<int> uidAdditiveFields = {3};
|
||||
int nonUidAtomTagId = android::util::SYSTEM_UPTIME;
|
||||
int nonUidAtomTagId = util::SYSTEM_UPTIME;
|
||||
int timestamp = 1234;
|
||||
int isolatedUid = 30;
|
||||
int isolatedAdditiveData = 31;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
// limitations under the License.
|
||||
|
||||
#include "src/guardrail/StatsdStats.h"
|
||||
#include "statslog.h"
|
||||
#include "statslog_statsdtest.h"
|
||||
#include "tests/statsd_test_util.h"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
@@ -222,11 +222,11 @@ TEST(StatsdStatsTest, TestAtomLog) {
|
||||
StatsdStats stats;
|
||||
time_t now = time(nullptr);
|
||||
// old event, we get it from the stats buffer. should be ignored.
|
||||
stats.noteAtomLogged(android::util::SENSOR_STATE_CHANGED, 1000);
|
||||
stats.noteAtomLogged(util::SENSOR_STATE_CHANGED, 1000);
|
||||
|
||||
stats.noteAtomLogged(android::util::SENSOR_STATE_CHANGED, now + 1);
|
||||
stats.noteAtomLogged(android::util::SENSOR_STATE_CHANGED, now + 2);
|
||||
stats.noteAtomLogged(android::util::APP_CRASH_OCCURRED, now + 3);
|
||||
stats.noteAtomLogged(util::SENSOR_STATE_CHANGED, now + 1);
|
||||
stats.noteAtomLogged(util::SENSOR_STATE_CHANGED, now + 2);
|
||||
stats.noteAtomLogged(util::APP_CRASH_OCCURRED, now + 3);
|
||||
|
||||
vector<uint8_t> output;
|
||||
stats.dumpStats(&output, false);
|
||||
@@ -239,10 +239,10 @@ TEST(StatsdStatsTest, TestAtomLog) {
|
||||
bool dropboxAtomGood = false;
|
||||
|
||||
for (const auto& atomStats : report.atom_stats()) {
|
||||
if (atomStats.tag() == android::util::SENSOR_STATE_CHANGED && atomStats.count() == 3) {
|
||||
if (atomStats.tag() == util::SENSOR_STATE_CHANGED && atomStats.count() == 3) {
|
||||
sensorAtomGood = true;
|
||||
}
|
||||
if (atomStats.tag() == android::util::APP_CRASH_OCCURRED && atomStats.count() == 1) {
|
||||
if (atomStats.tag() == util::APP_CRASH_OCCURRED && atomStats.count() == 1) {
|
||||
dropboxAtomGood = true;
|
||||
}
|
||||
}
|
||||
@@ -287,21 +287,21 @@ TEST(StatsdStatsTest, TestNonPlatformAtomLog) {
|
||||
TEST(StatsdStatsTest, TestPullAtomStats) {
|
||||
StatsdStats stats;
|
||||
|
||||
stats.updateMinPullIntervalSec(android::util::DISK_SPACE, 3333L);
|
||||
stats.updateMinPullIntervalSec(android::util::DISK_SPACE, 2222L);
|
||||
stats.updateMinPullIntervalSec(android::util::DISK_SPACE, 4444L);
|
||||
stats.updateMinPullIntervalSec(util::DISK_SPACE, 3333L);
|
||||
stats.updateMinPullIntervalSec(util::DISK_SPACE, 2222L);
|
||||
stats.updateMinPullIntervalSec(util::DISK_SPACE, 4444L);
|
||||
|
||||
stats.notePull(android::util::DISK_SPACE);
|
||||
stats.notePullTime(android::util::DISK_SPACE, 1111L);
|
||||
stats.notePullDelay(android::util::DISK_SPACE, 1111L);
|
||||
stats.notePull(android::util::DISK_SPACE);
|
||||
stats.notePullTime(android::util::DISK_SPACE, 3333L);
|
||||
stats.notePullDelay(android::util::DISK_SPACE, 3335L);
|
||||
stats.notePull(android::util::DISK_SPACE);
|
||||
stats.notePullFromCache(android::util::DISK_SPACE);
|
||||
stats.notePullerCallbackRegistrationChanged(android::util::DISK_SPACE, true);
|
||||
stats.notePullerCallbackRegistrationChanged(android::util::DISK_SPACE, false);
|
||||
stats.notePullerCallbackRegistrationChanged(android::util::DISK_SPACE, true);
|
||||
stats.notePull(util::DISK_SPACE);
|
||||
stats.notePullTime(util::DISK_SPACE, 1111L);
|
||||
stats.notePullDelay(util::DISK_SPACE, 1111L);
|
||||
stats.notePull(util::DISK_SPACE);
|
||||
stats.notePullTime(util::DISK_SPACE, 3333L);
|
||||
stats.notePullDelay(util::DISK_SPACE, 3335L);
|
||||
stats.notePull(util::DISK_SPACE);
|
||||
stats.notePullFromCache(util::DISK_SPACE);
|
||||
stats.notePullerCallbackRegistrationChanged(util::DISK_SPACE, true);
|
||||
stats.notePullerCallbackRegistrationChanged(util::DISK_SPACE, false);
|
||||
stats.notePullerCallbackRegistrationChanged(util::DISK_SPACE, true);
|
||||
|
||||
|
||||
vector<uint8_t> output;
|
||||
@@ -312,7 +312,7 @@ TEST(StatsdStatsTest, TestPullAtomStats) {
|
||||
|
||||
EXPECT_EQ(1, report.pulled_atom_stats_size());
|
||||
|
||||
EXPECT_EQ(android::util::DISK_SPACE, report.pulled_atom_stats(0).atom_id());
|
||||
EXPECT_EQ(util::DISK_SPACE, report.pulled_atom_stats(0).atom_id());
|
||||
EXPECT_EQ(3, report.pulled_atom_stats(0).total_pull());
|
||||
EXPECT_EQ(1, report.pulled_atom_stats(0).total_pull_from_cache());
|
||||
EXPECT_EQ(2222L, report.pulled_atom_stats(0).min_pull_interval_sec());
|
||||
|
||||
@@ -3750,7 +3750,7 @@ TEST(ValueMetricProducerTest_BucketDrop, TestInvalidBucketWhenPullFailed) {
|
||||
//
|
||||
// sp<ValueMetricProducer> valueProducer =
|
||||
// ValueMetricProducerTestHelper::createValueProducerWithState(
|
||||
// pullerManager, metric, {android::util::SCREEN_STATE_CHANGED}, {});
|
||||
// pullerManager, metric, {util::SCREEN_STATE_CHANGED}, {});
|
||||
//
|
||||
// // Set up StateManager and check that StateTrackers are initialized.
|
||||
// StateManager::getInstance().clear();
|
||||
@@ -3934,7 +3934,7 @@ TEST(ValueMetricProducerTest_BucketDrop, TestInvalidBucketWhenPullFailed) {
|
||||
//
|
||||
// sp<ValueMetricProducer> valueProducer =
|
||||
// ValueMetricProducerTestHelper::createValueProducerWithState(
|
||||
// pullerManager, metric, {android::util::SCREEN_STATE_CHANGED}, stateGroupMap);
|
||||
// pullerManager, metric, {util::SCREEN_STATE_CHANGED}, stateGroupMap);
|
||||
//
|
||||
// // Set up StateManager and check that StateTrackers are initialized.
|
||||
// StateManager::getInstance().clear();
|
||||
|
||||
@@ -61,7 +61,7 @@ int getStateInt(StateManager& mgr, int atomId, const HashableDimensionKey& query
|
||||
//// State with no primary fields - ScreenStateChanged
|
||||
//std::shared_ptr<LogEvent> buildScreenEvent(int state) {
|
||||
// std::shared_ptr<LogEvent> event =
|
||||
// std::make_shared<LogEvent>(android::util::SCREEN_STATE_CHANGED, 1000 /*timestamp*/);
|
||||
// std::make_shared<LogEvent>(util::SCREEN_STATE_CHANGED, 1000 /*timestamp*/);
|
||||
// event->write((int32_t)state);
|
||||
// event->init();
|
||||
// return event;
|
||||
@@ -70,7 +70,7 @@ int getStateInt(StateManager& mgr, int atomId, const HashableDimensionKey& query
|
||||
//// State with one primary field - UidProcessStateChanged
|
||||
//std::shared_ptr<LogEvent> buildUidProcessEvent(int uid, int state) {
|
||||
// std::shared_ptr<LogEvent> event =
|
||||
// std::make_shared<LogEvent>(android::util::UID_PROCESS_STATE_CHANGED, 1000 /*timestamp*/);
|
||||
// std::make_shared<LogEvent>(util::UID_PROCESS_STATE_CHANGED, 1000 /*timestamp*/);
|
||||
// event->write((int32_t)uid);
|
||||
// event->write((int32_t)state);
|
||||
// event->init();
|
||||
@@ -85,7 +85,7 @@ int getStateInt(StateManager& mgr, int atomId, const HashableDimensionKey& query
|
||||
// attr.set_uid(uid);
|
||||
//
|
||||
// std::shared_ptr<LogEvent> event =
|
||||
// std::make_shared<LogEvent>(android::util::WAKELOCK_STATE_CHANGED, 1000 /* timestamp */);
|
||||
// std::make_shared<LogEvent>(util::WAKELOCK_STATE_CHANGED, 1000 /* timestamp */);
|
||||
// event->write(chain);
|
||||
// event->write((int32_t)1); // PARTIAL_WAKE_LOCK
|
||||
// event->write(tag);
|
||||
@@ -97,7 +97,7 @@ int getStateInt(StateManager& mgr, int atomId, const HashableDimensionKey& query
|
||||
//// State with multiple primary fields - OverlayStateChanged
|
||||
//std::shared_ptr<LogEvent> buildOverlayEvent(int uid, const std::string& packageName, int state) {
|
||||
// std::shared_ptr<LogEvent> event =
|
||||
// std::make_shared<LogEvent>(android::util::OVERLAY_STATE_CHANGED, 1000 /*timestamp*/);
|
||||
// std::make_shared<LogEvent>(util::OVERLAY_STATE_CHANGED, 1000 /*timestamp*/);
|
||||
// event->write((int32_t)uid);
|
||||
// event->write(packageName);
|
||||
// event->write(true); // using_alert_window
|
||||
@@ -109,7 +109,7 @@ int getStateInt(StateManager& mgr, int atomId, const HashableDimensionKey& query
|
||||
//// Incorrect event - missing fields
|
||||
//std::shared_ptr<LogEvent> buildIncorrectOverlayEvent(int uid, const std::string& packageName, int state) {
|
||||
// std::shared_ptr<LogEvent> event =
|
||||
// std::make_shared<LogEvent>(android::util::OVERLAY_STATE_CHANGED, 1000 /*timestamp*/);
|
||||
// std::make_shared<LogEvent>(util::OVERLAY_STATE_CHANGED, 1000 /*timestamp*/);
|
||||
// event->write((int32_t)uid);
|
||||
// event->write(packageName);
|
||||
// event->write((int32_t)state);
|
||||
@@ -120,7 +120,7 @@ int getStateInt(StateManager& mgr, int atomId, const HashableDimensionKey& query
|
||||
//// Incorrect event - exclusive state has wrong type
|
||||
//std::shared_ptr<LogEvent> buildOverlayEventBadStateType(int uid, const std::string& packageName) {
|
||||
// std::shared_ptr<LogEvent> event =
|
||||
// std::make_shared<LogEvent>(android::util::OVERLAY_STATE_CHANGED, 1000 /*timestamp*/);
|
||||
// std::make_shared<LogEvent>(util::OVERLAY_STATE_CHANGED, 1000 /*timestamp*/);
|
||||
// event->write((int32_t)uid);
|
||||
// event->write(packageName);
|
||||
// event->write(true);
|
||||
@@ -136,7 +136,7 @@ int getStateInt(StateManager& mgr, int atomId, const HashableDimensionKey& query
|
||||
// attr.set_uid(uid);
|
||||
//
|
||||
// std::shared_ptr<LogEvent> event =
|
||||
// std::make_shared<LogEvent>(android::util::BLE_SCAN_STATE_CHANGED, 1000);
|
||||
// std::make_shared<LogEvent>(util::BLE_SCAN_STATE_CHANGED, 1000);
|
||||
// event->write(chain);
|
||||
// event->write(reset ? 2 : acquire ? 1 : 0); // PARTIAL_WAKE_LOCK
|
||||
// event->write(0); // filtered
|
||||
@@ -216,7 +216,7 @@ TEST(StateManagerTest, TestStateManagerGetInstance) {
|
||||
StateManager& mgr = StateManager::getInstance();
|
||||
mgr.clear();
|
||||
|
||||
mgr.registerListener(android::util::SCREEN_STATE_CHANGED, listener1);
|
||||
mgr.registerListener(util::SCREEN_STATE_CHANGED, listener1);
|
||||
EXPECT_EQ(1, mgr.getStateTrackersCount());
|
||||
EXPECT_EQ(1, StateManager::getInstance().getStateTrackersCount());
|
||||
}
|
||||
@@ -236,22 +236,22 @@ TEST(StateTrackerTest, TestRegisterListener) {
|
||||
|
||||
// Register listener to non-existing StateTracker
|
||||
EXPECT_EQ(0, mgr.getStateTrackersCount());
|
||||
EXPECT_TRUE(mgr.registerListener(android::util::SCREEN_STATE_CHANGED, listener1));
|
||||
EXPECT_TRUE(mgr.registerListener(util::SCREEN_STATE_CHANGED, listener1));
|
||||
EXPECT_EQ(1, mgr.getStateTrackersCount());
|
||||
EXPECT_EQ(1, mgr.getListenersCount(android::util::SCREEN_STATE_CHANGED));
|
||||
EXPECT_EQ(1, mgr.getListenersCount(util::SCREEN_STATE_CHANGED));
|
||||
|
||||
// Register listener to existing StateTracker
|
||||
EXPECT_TRUE(mgr.registerListener(android::util::SCREEN_STATE_CHANGED, listener2));
|
||||
EXPECT_TRUE(mgr.registerListener(util::SCREEN_STATE_CHANGED, listener2));
|
||||
EXPECT_EQ(1, mgr.getStateTrackersCount());
|
||||
EXPECT_EQ(2, mgr.getListenersCount(android::util::SCREEN_STATE_CHANGED));
|
||||
EXPECT_EQ(2, mgr.getListenersCount(util::SCREEN_STATE_CHANGED));
|
||||
|
||||
// Register already registered listener to existing StateTracker
|
||||
EXPECT_TRUE(mgr.registerListener(android::util::SCREEN_STATE_CHANGED, listener2));
|
||||
EXPECT_TRUE(mgr.registerListener(util::SCREEN_STATE_CHANGED, listener2));
|
||||
EXPECT_EQ(1, mgr.getStateTrackersCount());
|
||||
EXPECT_EQ(2, mgr.getListenersCount(android::util::SCREEN_STATE_CHANGED));
|
||||
EXPECT_EQ(2, mgr.getListenersCount(util::SCREEN_STATE_CHANGED));
|
||||
|
||||
// Register listener to non-state atom
|
||||
EXPECT_FALSE(mgr.registerListener(android::util::BATTERY_LEVEL_CHANGED, listener2));
|
||||
EXPECT_FALSE(mgr.registerListener(util::BATTERY_LEVEL_CHANGED, listener2));
|
||||
EXPECT_EQ(1, mgr.getStateTrackersCount());
|
||||
}
|
||||
|
||||
@@ -270,28 +270,28 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
|
||||
// Unregister listener from non-existing StateTracker
|
||||
EXPECT_EQ(0, mgr.getStateTrackersCount());
|
||||
mgr.unregisterListener(android::util::SCREEN_STATE_CHANGED, listener1);
|
||||
mgr.unregisterListener(util::SCREEN_STATE_CHANGED, listener1);
|
||||
EXPECT_EQ(0, mgr.getStateTrackersCount());
|
||||
EXPECT_EQ(-1, mgr.getListenersCount(android::util::SCREEN_STATE_CHANGED));
|
||||
EXPECT_EQ(-1, mgr.getListenersCount(util::SCREEN_STATE_CHANGED));
|
||||
|
||||
// Unregister non-registered listener from existing StateTracker
|
||||
mgr.registerListener(android::util::SCREEN_STATE_CHANGED, listener1);
|
||||
mgr.registerListener(util::SCREEN_STATE_CHANGED, listener1);
|
||||
EXPECT_EQ(1, mgr.getStateTrackersCount());
|
||||
EXPECT_EQ(1, mgr.getListenersCount(android::util::SCREEN_STATE_CHANGED));
|
||||
mgr.unregisterListener(android::util::SCREEN_STATE_CHANGED, listener2);
|
||||
EXPECT_EQ(1, mgr.getListenersCount(util::SCREEN_STATE_CHANGED));
|
||||
mgr.unregisterListener(util::SCREEN_STATE_CHANGED, listener2);
|
||||
EXPECT_EQ(1, mgr.getStateTrackersCount());
|
||||
EXPECT_EQ(1, mgr.getListenersCount(android::util::SCREEN_STATE_CHANGED));
|
||||
EXPECT_EQ(1, mgr.getListenersCount(util::SCREEN_STATE_CHANGED));
|
||||
|
||||
// Unregister second-to-last listener from StateTracker
|
||||
mgr.registerListener(android::util::SCREEN_STATE_CHANGED, listener2);
|
||||
mgr.unregisterListener(android::util::SCREEN_STATE_CHANGED, listener1);
|
||||
mgr.registerListener(util::SCREEN_STATE_CHANGED, listener2);
|
||||
mgr.unregisterListener(util::SCREEN_STATE_CHANGED, listener1);
|
||||
EXPECT_EQ(1, mgr.getStateTrackersCount());
|
||||
EXPECT_EQ(1, mgr.getListenersCount(android::util::SCREEN_STATE_CHANGED));
|
||||
EXPECT_EQ(1, mgr.getListenersCount(util::SCREEN_STATE_CHANGED));
|
||||
|
||||
// Unregister last listener from StateTracker
|
||||
mgr.unregisterListener(android::util::SCREEN_STATE_CHANGED, listener2);
|
||||
mgr.unregisterListener(util::SCREEN_STATE_CHANGED, listener2);
|
||||
EXPECT_EQ(0, mgr.getStateTrackersCount());
|
||||
EXPECT_EQ(-1, mgr.getListenersCount(android::util::SCREEN_STATE_CHANGED));
|
||||
EXPECT_EQ(-1, mgr.getListenersCount(util::SCREEN_STATE_CHANGED));
|
||||
}
|
||||
// TODO(b/149590301): Update these tests to use new socket schema.
|
||||
///**
|
||||
@@ -305,7 +305,7 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
//TEST(StateTrackerTest, TestStateChangeNested) {
|
||||
// sp<TestStateListener> listener = new TestStateListener();
|
||||
// StateManager mgr;
|
||||
// mgr.registerListener(android::util::WAKELOCK_STATE_CHANGED, listener);
|
||||
// mgr.registerListener(util::WAKELOCK_STATE_CHANGED, listener);
|
||||
//
|
||||
// std::shared_ptr<LogEvent> event1 =
|
||||
// buildPartialWakelockEvent(1000 /* uid */, "tag", true /*acquire*/);
|
||||
@@ -342,7 +342,7 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
//TEST(StateTrackerTest, TestStateChangeReset) {
|
||||
// sp<TestStateListener> listener = new TestStateListener();
|
||||
// StateManager mgr;
|
||||
// mgr.registerListener(android::util::BLE_SCAN_STATE_CHANGED, listener);
|
||||
// mgr.registerListener(util::BLE_SCAN_STATE_CHANGED, listener);
|
||||
//
|
||||
// std::shared_ptr<LogEvent> event1 =
|
||||
// buildBleScanEvent(1000 /* uid */, true /*acquire*/, false /*reset*/);
|
||||
@@ -375,7 +375,7 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
//TEST(StateTrackerTest, TestStateChangeNoPrimaryFields) {
|
||||
// sp<TestStateListener> listener1 = new TestStateListener();
|
||||
// StateManager mgr;
|
||||
// mgr.registerListener(android::util::SCREEN_STATE_CHANGED, listener1);
|
||||
// mgr.registerListener(util::SCREEN_STATE_CHANGED, listener1);
|
||||
//
|
||||
// // log event
|
||||
// std::shared_ptr<LogEvent> event =
|
||||
@@ -390,7 +390,7 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
// // check StateTracker was updated by querying for state
|
||||
// HashableDimensionKey queryKey = DEFAULT_DIMENSION_KEY;
|
||||
// EXPECT_EQ(android::view::DisplayStateEnum::DISPLAY_STATE_ON,
|
||||
// getStateInt(mgr, android::util::SCREEN_STATE_CHANGED, queryKey));
|
||||
// getStateInt(mgr, util::SCREEN_STATE_CHANGED, queryKey));
|
||||
//}
|
||||
//
|
||||
///**
|
||||
@@ -400,7 +400,7 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
//TEST(StateTrackerTest, TestStateChangeOnePrimaryField) {
|
||||
// sp<TestStateListener> listener1 = new TestStateListener();
|
||||
// StateManager mgr;
|
||||
// mgr.registerListener(android::util::UID_PROCESS_STATE_CHANGED, listener1);
|
||||
// mgr.registerListener(util::UID_PROCESS_STATE_CHANGED, listener1);
|
||||
//
|
||||
// // log event
|
||||
// std::shared_ptr<LogEvent> event =
|
||||
@@ -416,13 +416,13 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
// HashableDimensionKey queryKey;
|
||||
// getUidProcessKey(1000 /* uid */, &queryKey);
|
||||
// EXPECT_EQ(android::app::ProcessStateEnum::PROCESS_STATE_TOP,
|
||||
// getStateInt(mgr, android::util::UID_PROCESS_STATE_CHANGED, queryKey));
|
||||
// getStateInt(mgr, util::UID_PROCESS_STATE_CHANGED, queryKey));
|
||||
//}
|
||||
//
|
||||
//TEST(StateTrackerTest, TestStateChangePrimaryFieldAttrChain) {
|
||||
// sp<TestStateListener> listener1 = new TestStateListener();
|
||||
// StateManager mgr;
|
||||
// mgr.registerListener(android::util::WAKELOCK_STATE_CHANGED, listener1);
|
||||
// mgr.registerListener(util::WAKELOCK_STATE_CHANGED, listener1);
|
||||
//
|
||||
// // Log event.
|
||||
// std::shared_ptr<LogEvent> event =
|
||||
@@ -430,7 +430,7 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
// mgr.onLogEvent(*event);
|
||||
//
|
||||
// EXPECT_EQ(1, mgr.getStateTrackersCount());
|
||||
// EXPECT_EQ(1, mgr.getListenersCount(android::util::WAKELOCK_STATE_CHANGED));
|
||||
// EXPECT_EQ(1, mgr.getListenersCount(util::WAKELOCK_STATE_CHANGED));
|
||||
//
|
||||
// // Check listener was updated.
|
||||
// EXPECT_EQ(1, listener1->updates.size());
|
||||
@@ -444,19 +444,19 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
// HashableDimensionKey queryKey;
|
||||
// getPartialWakelockKey(1001 /* uid */, "tag1", &queryKey);
|
||||
// EXPECT_EQ(WakelockStateChanged::ACQUIRE,
|
||||
// getStateInt(mgr, android::util::WAKELOCK_STATE_CHANGED, queryKey));
|
||||
// getStateInt(mgr, util::WAKELOCK_STATE_CHANGED, queryKey));
|
||||
//
|
||||
// // No state stored for this query key.
|
||||
// HashableDimensionKey queryKey2;
|
||||
// getPartialWakelockKey(1002 /* uid */, "tag1", &queryKey2);
|
||||
// EXPECT_EQ(WakelockStateChanged::RELEASE,
|
||||
// getStateInt(mgr, android::util::WAKELOCK_STATE_CHANGED, queryKey2));
|
||||
// getStateInt(mgr, util::WAKELOCK_STATE_CHANGED, queryKey2));
|
||||
//
|
||||
// // Partial query fails.
|
||||
// HashableDimensionKey queryKey3;
|
||||
// getPartialWakelockKey(1001 /* uid */, &queryKey3);
|
||||
// EXPECT_EQ(WakelockStateChanged::RELEASE,
|
||||
// getStateInt(mgr, android::util::WAKELOCK_STATE_CHANGED, queryKey3));
|
||||
// getStateInt(mgr, util::WAKELOCK_STATE_CHANGED, queryKey3));
|
||||
//}
|
||||
//
|
||||
///**
|
||||
@@ -466,7 +466,7 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
//TEST(StateTrackerTest, TestStateChangeMultiplePrimaryFields) {
|
||||
// sp<TestStateListener> listener1 = new TestStateListener();
|
||||
// StateManager mgr;
|
||||
// mgr.registerListener(android::util::OVERLAY_STATE_CHANGED, listener1);
|
||||
// mgr.registerListener(util::OVERLAY_STATE_CHANGED, listener1);
|
||||
//
|
||||
// // log event
|
||||
// std::shared_ptr<LogEvent> event =
|
||||
@@ -482,7 +482,7 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
// HashableDimensionKey queryKey;
|
||||
// getOverlayKey(1000 /* uid */, "package1", &queryKey);
|
||||
// EXPECT_EQ(OverlayStateChanged::ENTERED,
|
||||
// getStateInt(mgr, android::util::OVERLAY_STATE_CHANGED, queryKey));
|
||||
// getStateInt(mgr, util::OVERLAY_STATE_CHANGED, queryKey));
|
||||
//}
|
||||
//
|
||||
///**
|
||||
@@ -493,7 +493,7 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
//TEST(StateTrackerTest, TestStateChangeEventError) {
|
||||
// sp<TestStateListener> listener1 = new TestStateListener();
|
||||
// StateManager mgr;
|
||||
// mgr.registerListener(android::util::OVERLAY_STATE_CHANGED, listener1);
|
||||
// mgr.registerListener(util::OVERLAY_STATE_CHANGED, listener1);
|
||||
//
|
||||
// // log event
|
||||
// std::shared_ptr<LogEvent> event1 =
|
||||
@@ -513,10 +513,10 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
// sp<TestStateListener> listener3 = new TestStateListener();
|
||||
// sp<TestStateListener> listener4 = new TestStateListener();
|
||||
// StateManager mgr;
|
||||
// mgr.registerListener(android::util::SCREEN_STATE_CHANGED, listener1);
|
||||
// mgr.registerListener(android::util::UID_PROCESS_STATE_CHANGED, listener2);
|
||||
// mgr.registerListener(android::util::OVERLAY_STATE_CHANGED, listener3);
|
||||
// mgr.registerListener(android::util::WAKELOCK_STATE_CHANGED, listener4);
|
||||
// mgr.registerListener(util::SCREEN_STATE_CHANGED, listener1);
|
||||
// mgr.registerListener(util::UID_PROCESS_STATE_CHANGED, listener2);
|
||||
// mgr.registerListener(util::OVERLAY_STATE_CHANGED, listener3);
|
||||
// mgr.registerListener(util::WAKELOCK_STATE_CHANGED, listener4);
|
||||
//
|
||||
// std::shared_ptr<LogEvent> event1 = buildUidProcessEvent(
|
||||
// 1000,
|
||||
@@ -554,40 +554,40 @@ TEST(StateTrackerTest, TestUnregisterListener) {
|
||||
// HashableDimensionKey queryKey1;
|
||||
// getUidProcessKey(1001, &queryKey1);
|
||||
// EXPECT_EQ(android::app::ProcessStateEnum::PROCESS_STATE_FOREGROUND_SERVICE,
|
||||
// getStateInt(mgr, android::util::UID_PROCESS_STATE_CHANGED, queryKey1));
|
||||
// getStateInt(mgr, util::UID_PROCESS_STATE_CHANGED, queryKey1));
|
||||
//
|
||||
// // Query for UidProcessState of uid 1004 - not in state map
|
||||
// HashableDimensionKey queryKey2;
|
||||
// getUidProcessKey(1004, &queryKey2);
|
||||
// EXPECT_EQ(-1, getStateInt(mgr, android::util::UID_PROCESS_STATE_CHANGED,
|
||||
// EXPECT_EQ(-1, getStateInt(mgr, util::UID_PROCESS_STATE_CHANGED,
|
||||
// queryKey2)); // default state
|
||||
//
|
||||
// // Query for UidProcessState of uid 1001 - after change in state
|
||||
// mgr.onLogEvent(*event4);
|
||||
// EXPECT_EQ(android::app::ProcessStateEnum::PROCESS_STATE_TOP,
|
||||
// getStateInt(mgr, android::util::UID_PROCESS_STATE_CHANGED, queryKey1));
|
||||
// getStateInt(mgr, util::UID_PROCESS_STATE_CHANGED, queryKey1));
|
||||
//
|
||||
// // Query for ScreenState
|
||||
// EXPECT_EQ(android::view::DisplayStateEnum::DISPLAY_STATE_ON,
|
||||
// getStateInt(mgr, android::util::SCREEN_STATE_CHANGED, DEFAULT_DIMENSION_KEY));
|
||||
// getStateInt(mgr, util::SCREEN_STATE_CHANGED, DEFAULT_DIMENSION_KEY));
|
||||
//
|
||||
// // Query for OverlayState of uid 1000, package name "package2"
|
||||
// HashableDimensionKey queryKey3;
|
||||
// getOverlayKey(1000, "package2", &queryKey3);
|
||||
// EXPECT_EQ(OverlayStateChanged::EXITED,
|
||||
// getStateInt(mgr, android::util::OVERLAY_STATE_CHANGED, queryKey3));
|
||||
// getStateInt(mgr, util::OVERLAY_STATE_CHANGED, queryKey3));
|
||||
//
|
||||
// // Query for WakelockState of uid 1005, tag 2
|
||||
// HashableDimensionKey queryKey4;
|
||||
// getPartialWakelockKey(1005, "tag2", &queryKey4);
|
||||
// EXPECT_EQ(WakelockStateChanged::RELEASE,
|
||||
// getStateInt(mgr, android::util::WAKELOCK_STATE_CHANGED, queryKey4));
|
||||
// getStateInt(mgr, util::WAKELOCK_STATE_CHANGED, queryKey4));
|
||||
//
|
||||
// // Query for WakelockState of uid 1005, tag 1
|
||||
// HashableDimensionKey queryKey5;
|
||||
// getPartialWakelockKey(1005, "tag1", &queryKey5);
|
||||
// EXPECT_EQ(WakelockStateChanged::ACQUIRE,
|
||||
// getStateInt(mgr, android::util::WAKELOCK_STATE_CHANGED, queryKey5));
|
||||
// getStateInt(mgr, util::WAKELOCK_STATE_CHANGED, queryKey5));
|
||||
//}
|
||||
|
||||
} // namespace statsd
|
||||
|
||||
@@ -51,7 +51,7 @@ AtomMatcher CreateSimpleAtomMatcher(const string& name, int atomId) {
|
||||
}
|
||||
|
||||
AtomMatcher CreateTemperatureAtomMatcher() {
|
||||
return CreateSimpleAtomMatcher("TemperatureMatcher", android::util::TEMPERATURE);
|
||||
return CreateSimpleAtomMatcher("TemperatureMatcher", util::TEMPERATURE);
|
||||
}
|
||||
|
||||
AtomMatcher CreateScheduledJobStateChangedAtomMatcher(const string& name,
|
||||
@@ -59,7 +59,7 @@ AtomMatcher CreateScheduledJobStateChangedAtomMatcher(const string& name,
|
||||
AtomMatcher atom_matcher;
|
||||
atom_matcher.set_id(StringToId(name));
|
||||
auto simple_atom_matcher = atom_matcher.mutable_simple_atom_matcher();
|
||||
simple_atom_matcher->set_atom_id(android::util::SCHEDULED_JOB_STATE_CHANGED);
|
||||
simple_atom_matcher->set_atom_id(util::SCHEDULED_JOB_STATE_CHANGED);
|
||||
auto field_value_matcher = simple_atom_matcher->add_field_value_matcher();
|
||||
field_value_matcher->set_field(3); // State field.
|
||||
field_value_matcher->set_eq_int(state);
|
||||
@@ -80,7 +80,7 @@ AtomMatcher CreateScreenBrightnessChangedAtomMatcher() {
|
||||
AtomMatcher atom_matcher;
|
||||
atom_matcher.set_id(StringToId("ScreenBrightnessChanged"));
|
||||
auto simple_atom_matcher = atom_matcher.mutable_simple_atom_matcher();
|
||||
simple_atom_matcher->set_atom_id(android::util::SCREEN_BRIGHTNESS_CHANGED);
|
||||
simple_atom_matcher->set_atom_id(util::SCREEN_BRIGHTNESS_CHANGED);
|
||||
return atom_matcher;
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ AtomMatcher CreateUidProcessStateChangedAtomMatcher() {
|
||||
AtomMatcher atom_matcher;
|
||||
atom_matcher.set_id(StringToId("UidProcessStateChanged"));
|
||||
auto simple_atom_matcher = atom_matcher.mutable_simple_atom_matcher();
|
||||
simple_atom_matcher->set_atom_id(android::util::UID_PROCESS_STATE_CHANGED);
|
||||
simple_atom_matcher->set_atom_id(util::UID_PROCESS_STATE_CHANGED);
|
||||
return atom_matcher;
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ AtomMatcher CreateWakelockStateChangedAtomMatcher(const string& name,
|
||||
AtomMatcher atom_matcher;
|
||||
atom_matcher.set_id(StringToId(name));
|
||||
auto simple_atom_matcher = atom_matcher.mutable_simple_atom_matcher();
|
||||
simple_atom_matcher->set_atom_id(android::util::WAKELOCK_STATE_CHANGED);
|
||||
simple_atom_matcher->set_atom_id(util::WAKELOCK_STATE_CHANGED);
|
||||
auto field_value_matcher = simple_atom_matcher->add_field_value_matcher();
|
||||
field_value_matcher->set_field(4); // State field.
|
||||
field_value_matcher->set_eq_int(state);
|
||||
@@ -117,7 +117,7 @@ AtomMatcher CreateBatterySaverModeStateChangedAtomMatcher(
|
||||
AtomMatcher atom_matcher;
|
||||
atom_matcher.set_id(StringToId(name));
|
||||
auto simple_atom_matcher = atom_matcher.mutable_simple_atom_matcher();
|
||||
simple_atom_matcher->set_atom_id(android::util::BATTERY_SAVER_MODE_STATE_CHANGED);
|
||||
simple_atom_matcher->set_atom_id(util::BATTERY_SAVER_MODE_STATE_CHANGED);
|
||||
auto field_value_matcher = simple_atom_matcher->add_field_value_matcher();
|
||||
field_value_matcher->set_field(1); // State field.
|
||||
field_value_matcher->set_eq_int(state);
|
||||
@@ -141,7 +141,7 @@ AtomMatcher CreateScreenStateChangedAtomMatcher(
|
||||
AtomMatcher atom_matcher;
|
||||
atom_matcher.set_id(StringToId(name));
|
||||
auto simple_atom_matcher = atom_matcher.mutable_simple_atom_matcher();
|
||||
simple_atom_matcher->set_atom_id(android::util::SCREEN_STATE_CHANGED);
|
||||
simple_atom_matcher->set_atom_id(util::SCREEN_STATE_CHANGED);
|
||||
auto field_value_matcher = simple_atom_matcher->add_field_value_matcher();
|
||||
field_value_matcher->set_field(1); // State field.
|
||||
field_value_matcher->set_eq_int(state);
|
||||
@@ -164,7 +164,7 @@ AtomMatcher CreateSyncStateChangedAtomMatcher(
|
||||
AtomMatcher atom_matcher;
|
||||
atom_matcher.set_id(StringToId(name));
|
||||
auto simple_atom_matcher = atom_matcher.mutable_simple_atom_matcher();
|
||||
simple_atom_matcher->set_atom_id(android::util::SYNC_STATE_CHANGED);
|
||||
simple_atom_matcher->set_atom_id(util::SYNC_STATE_CHANGED);
|
||||
auto field_value_matcher = simple_atom_matcher->add_field_value_matcher();
|
||||
field_value_matcher->set_field(3); // State field.
|
||||
field_value_matcher->set_eq_int(state);
|
||||
@@ -184,7 +184,7 @@ AtomMatcher CreateActivityForegroundStateChangedAtomMatcher(
|
||||
AtomMatcher atom_matcher;
|
||||
atom_matcher.set_id(StringToId(name));
|
||||
auto simple_atom_matcher = atom_matcher.mutable_simple_atom_matcher();
|
||||
simple_atom_matcher->set_atom_id(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED);
|
||||
simple_atom_matcher->set_atom_id(util::ACTIVITY_FOREGROUND_STATE_CHANGED);
|
||||
auto field_value_matcher = simple_atom_matcher->add_field_value_matcher();
|
||||
field_value_matcher->set_field(4); // Activity field.
|
||||
field_value_matcher->set_eq_int(state);
|
||||
@@ -206,7 +206,7 @@ AtomMatcher CreateProcessLifeCycleStateChangedAtomMatcher(
|
||||
AtomMatcher atom_matcher;
|
||||
atom_matcher.set_id(StringToId(name));
|
||||
auto simple_atom_matcher = atom_matcher.mutable_simple_atom_matcher();
|
||||
simple_atom_matcher->set_atom_id(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
simple_atom_matcher->set_atom_id(util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
auto field_value_matcher = simple_atom_matcher->add_field_value_matcher();
|
||||
field_value_matcher->set_field(3); // Process state field.
|
||||
field_value_matcher->set_eq_int(state);
|
||||
@@ -277,28 +277,28 @@ Predicate CreateIsInBackgroundPredicate() {
|
||||
State CreateScreenState() {
|
||||
State state;
|
||||
state.set_id(StringToId("ScreenState"));
|
||||
state.set_atom_id(android::util::SCREEN_STATE_CHANGED);
|
||||
state.set_atom_id(util::SCREEN_STATE_CHANGED);
|
||||
return state;
|
||||
}
|
||||
|
||||
State CreateUidProcessState() {
|
||||
State state;
|
||||
state.set_id(StringToId("UidProcessState"));
|
||||
state.set_atom_id(android::util::UID_PROCESS_STATE_CHANGED);
|
||||
state.set_atom_id(util::UID_PROCESS_STATE_CHANGED);
|
||||
return state;
|
||||
}
|
||||
|
||||
State CreateOverlayState() {
|
||||
State state;
|
||||
state.set_id(StringToId("OverlayState"));
|
||||
state.set_atom_id(android::util::OVERLAY_STATE_CHANGED);
|
||||
state.set_atom_id(util::OVERLAY_STATE_CHANGED);
|
||||
return state;
|
||||
}
|
||||
|
||||
State CreateScreenStateWithOnOffMap() {
|
||||
State state;
|
||||
state.set_id(StringToId("ScreenStateOnOff"));
|
||||
state.set_atom_id(android::util::SCREEN_STATE_CHANGED);
|
||||
state.set_atom_id(util::SCREEN_STATE_CHANGED);
|
||||
|
||||
auto map = CreateScreenStateOnOffMap();
|
||||
*state.mutable_map() = map;
|
||||
@@ -309,7 +309,7 @@ State CreateScreenStateWithOnOffMap() {
|
||||
State CreateScreenStateWithInDozeMap() {
|
||||
State state;
|
||||
state.set_id(StringToId("ScreenStateInDoze"));
|
||||
state.set_atom_id(android::util::SCREEN_STATE_CHANGED);
|
||||
state.set_atom_id(util::SCREEN_STATE_CHANGED);
|
||||
|
||||
auto map = CreateScreenStateInDozeMap();
|
||||
*state.mutable_map() = map;
|
||||
@@ -534,7 +534,7 @@ shared_ptr<LogEvent> CreateNoValuesLogEvent(int atomId, int64_t eventTimeNs) {
|
||||
std::unique_ptr<LogEvent> CreateScreenStateChangedEvent(
|
||||
uint64_t timestampNs, const android::view::DisplayStateEnum state) {
|
||||
AStatsEvent* statsEvent = AStatsEvent_obtain();
|
||||
AStatsEvent_setAtomId(statsEvent, android::util::SCREEN_STATE_CHANGED);
|
||||
AStatsEvent_setAtomId(statsEvent, util::SCREEN_STATE_CHANGED);
|
||||
AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
|
||||
|
||||
AStatsEvent_writeInt32(statsEvent, state);
|
||||
@@ -551,7 +551,7 @@ std::unique_ptr<LogEvent> CreateScreenStateChangedEvent(
|
||||
|
||||
std::unique_ptr<LogEvent> CreateBatterySaverOnEvent(uint64_t timestampNs) {
|
||||
AStatsEvent* statsEvent = AStatsEvent_obtain();
|
||||
AStatsEvent_setAtomId(statsEvent, android::util::BATTERY_SAVER_MODE_STATE_CHANGED);
|
||||
AStatsEvent_setAtomId(statsEvent, util::BATTERY_SAVER_MODE_STATE_CHANGED);
|
||||
AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
|
||||
|
||||
AStatsEvent_writeInt32(statsEvent, BatterySaverModeStateChanged::ON);
|
||||
@@ -568,7 +568,7 @@ std::unique_ptr<LogEvent> CreateBatterySaverOnEvent(uint64_t timestampNs) {
|
||||
|
||||
std::unique_ptr<LogEvent> CreateBatterySaverOffEvent(uint64_t timestampNs) {
|
||||
AStatsEvent* statsEvent = AStatsEvent_obtain();
|
||||
AStatsEvent_setAtomId(statsEvent, android::util::BATTERY_SAVER_MODE_STATE_CHANGED);
|
||||
AStatsEvent_setAtomId(statsEvent, util::BATTERY_SAVER_MODE_STATE_CHANGED);
|
||||
AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
|
||||
|
||||
AStatsEvent_writeInt32(statsEvent, BatterySaverModeStateChanged::OFF);
|
||||
@@ -585,7 +585,7 @@ std::unique_ptr<LogEvent> CreateBatterySaverOffEvent(uint64_t timestampNs) {
|
||||
|
||||
std::unique_ptr<LogEvent> CreateScreenBrightnessChangedEvent(uint64_t timestampNs, int level) {
|
||||
AStatsEvent* statsEvent = AStatsEvent_obtain();
|
||||
AStatsEvent_setAtomId(statsEvent, android::util::SCREEN_BRIGHTNESS_CHANGED);
|
||||
AStatsEvent_setAtomId(statsEvent, util::SCREEN_BRIGHTNESS_CHANGED);
|
||||
AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
|
||||
|
||||
AStatsEvent_writeInt32(statsEvent, level);
|
||||
@@ -603,7 +603,7 @@ std::unique_ptr<LogEvent> CreateScreenBrightnessChangedEvent(uint64_t timestampN
|
||||
//std::unique_ptr<LogEvent> CreateScheduledJobStateChangedEvent(
|
||||
// const std::vector<AttributionNodeInternal>& attributions, const string& jobName,
|
||||
// const ScheduledJobStateChanged::State state, uint64_t timestampNs) {
|
||||
// auto event = std::make_unique<LogEvent>(android::util::SCHEDULED_JOB_STATE_CHANGED, timestampNs);
|
||||
// auto event = std::make_unique<LogEvent>(util::SCHEDULED_JOB_STATE_CHANGED, timestampNs);
|
||||
// event->write(attributions);
|
||||
// event->write(jobName);
|
||||
// event->write(state);
|
||||
@@ -632,7 +632,7 @@ std::unique_ptr<LogEvent> CreateWakelockStateChangedEvent(uint64_t timestampNs,
|
||||
const string& wakelockName,
|
||||
const WakelockStateChanged::State state) {
|
||||
AStatsEvent* statsEvent = AStatsEvent_obtain();
|
||||
AStatsEvent_setAtomId(statsEvent, android::util::WAKELOCK_STATE_CHANGED);
|
||||
AStatsEvent_setAtomId(statsEvent, util::WAKELOCK_STATE_CHANGED);
|
||||
AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
|
||||
|
||||
vector<const char*> cTags(attributionTags.size());
|
||||
@@ -676,7 +676,7 @@ std::unique_ptr<LogEvent> CreateReleaseWakelockEvent(uint64_t timestampNs,
|
||||
std::unique_ptr<LogEvent> CreateActivityForegroundStateChangedEvent(
|
||||
uint64_t timestampNs, const int uid, const ActivityForegroundStateChanged::State state) {
|
||||
AStatsEvent* statsEvent = AStatsEvent_obtain();
|
||||
AStatsEvent_setAtomId(statsEvent, android::util::ACTIVITY_FOREGROUND_STATE_CHANGED);
|
||||
AStatsEvent_setAtomId(statsEvent, util::ACTIVITY_FOREGROUND_STATE_CHANGED);
|
||||
AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
|
||||
|
||||
AStatsEvent_writeInt32(statsEvent, uid);
|
||||
@@ -710,7 +710,7 @@ std::unique_ptr<LogEvent> CreateSyncStateChangedEvent(uint64_t timestampNs,
|
||||
const string& name,
|
||||
const SyncStateChanged::State state) {
|
||||
AStatsEvent* statsEvent = AStatsEvent_obtain();
|
||||
AStatsEvent_setAtomId(statsEvent, android::util::SYNC_STATE_CHANGED);
|
||||
AStatsEvent_setAtomId(statsEvent, util::SYNC_STATE_CHANGED);
|
||||
AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
|
||||
|
||||
vector<const char*> cTags(attributionTags.size());
|
||||
@@ -753,7 +753,7 @@ std::unique_ptr<LogEvent> CreateSyncEndEvent(uint64_t timestampNs,
|
||||
std::unique_ptr<LogEvent> CreateProcessLifeCycleStateChangedEvent(
|
||||
uint64_t timestampNs, const int uid, const ProcessLifeCycleStateChanged::State state) {
|
||||
AStatsEvent* statsEvent = AStatsEvent_obtain();
|
||||
AStatsEvent_setAtomId(statsEvent, android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
AStatsEvent_setAtomId(statsEvent, util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
|
||||
AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
|
||||
|
||||
AStatsEvent_writeInt32(statsEvent, uid);
|
||||
@@ -777,7 +777,7 @@ std::unique_ptr<LogEvent> CreateAppCrashEvent(uint64_t timestampNs, const int ui
|
||||
|
||||
std::unique_ptr<LogEvent> CreateAppCrashOccurredEvent(uint64_t timestampNs, const int uid) {
|
||||
AStatsEvent* statsEvent = AStatsEvent_obtain();
|
||||
AStatsEvent_setAtomId(statsEvent, android::util::APP_CRASH_OCCURRED);
|
||||
AStatsEvent_setAtomId(statsEvent, util::APP_CRASH_OCCURRED);
|
||||
AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
|
||||
|
||||
AStatsEvent_writeInt32(statsEvent, uid);
|
||||
@@ -797,7 +797,7 @@ std::unique_ptr<LogEvent> CreateAppCrashOccurredEvent(uint64_t timestampNs, cons
|
||||
std::unique_ptr<LogEvent> CreateIsolatedUidChangedEvent(uint64_t timestampNs, int hostUid,
|
||||
int isolatedUid, bool is_create) {
|
||||
AStatsEvent* statsEvent = AStatsEvent_obtain();
|
||||
AStatsEvent_setAtomId(statsEvent, android::util::ISOLATED_UID_CHANGED);
|
||||
AStatsEvent_setAtomId(statsEvent, util::ISOLATED_UID_CHANGED);
|
||||
AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
|
||||
|
||||
AStatsEvent_writeInt32(statsEvent, hostUid);
|
||||
@@ -817,7 +817,7 @@ std::unique_ptr<LogEvent> CreateIsolatedUidChangedEvent(uint64_t timestampNs, in
|
||||
std::unique_ptr<LogEvent> CreateUidProcessStateChangedEvent(
|
||||
uint64_t timestampNs, int uid, const android::app::ProcessStateEnum state) {
|
||||
AStatsEvent* statsEvent = AStatsEvent_obtain();
|
||||
AStatsEvent_setAtomId(statsEvent, android::util::UID_PROCESS_STATE_CHANGED);
|
||||
AStatsEvent_setAtomId(statsEvent, util::UID_PROCESS_STATE_CHANGED);
|
||||
AStatsEvent_overwriteTimestamp(statsEvent, timestampNs);
|
||||
|
||||
AStatsEvent_writeInt32(statsEvent, uid);
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "src/hash.h"
|
||||
#include "src/logd/LogEvent.h"
|
||||
#include "src/stats_log_util.h"
|
||||
#include "statslog.h"
|
||||
#include "statslog_statsdtest.h"
|
||||
|
||||
namespace android {
|
||||
namespace os {
|
||||
@@ -38,8 +38,8 @@ using android::util::ProtoReader;
|
||||
using google::protobuf::RepeatedPtrField;
|
||||
using Status = ::ndk::ScopedAStatus;
|
||||
|
||||
const int SCREEN_STATE_ATOM_ID = android::util::SCREEN_STATE_CHANGED;
|
||||
const int UID_PROCESS_STATE_ATOM_ID = android::util::UID_PROCESS_STATE_CHANGED;
|
||||
const int SCREEN_STATE_ATOM_ID = util::SCREEN_STATE_CHANGED;
|
||||
const int UID_PROCESS_STATE_ATOM_ID = util::UID_PROCESS_STATE_CHANGED;
|
||||
|
||||
// Converts a ProtoOutputStream to a StatsLogReport proto.
|
||||
StatsLogReport outputStreamToProto(ProtoOutputStream* proto);
|
||||
|
||||
Reference in New Issue
Block a user