Loading cmds/statsd/src/atoms.proto +20 −73 Original line number Diff line number Diff line Loading @@ -22,6 +22,9 @@ option java_package = "com.android.os"; option java_outer_classname = "AtomsProto"; import "frameworks/base/core/proto/android/app/enums.proto"; import "frameworks/base/core/proto/android/os/enums.proto"; import "frameworks/base/core/proto/android/telephony/enums.proto"; import "frameworks/base/core/proto/android/view/enums.proto"; /** * The master atom class. This message defines all of the available Loading Loading @@ -162,18 +165,8 @@ message AttributionNode { * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message ScreenStateChanged { // TODO: Use the real screen state. enum State { STATE_UNKNOWN = 0; STATE_OFF = 1; STATE_ON = 2; STATE_DOZE = 3; STATE_DOZE_SUSPEND = 4; STATE_VR = 5; STATE_ON_SUSPEND = 6; } // New screen state. optional State display_state = 1; // New screen state, from frameworks/base/core/proto/android/view/enums.proto. optional android.view.DisplayStateEnum state = 1; } /** Loading @@ -196,7 +189,6 @@ message UidProcessStateChanged { * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message ProcessLifeCycleStateChanged { // TODO: Use the real (mapped) process states. optional int32 uid = 1; // TODO: should be a string tagged w/ uid annotation // TODO: What is this? Loading Loading @@ -412,13 +404,9 @@ message CameraStateChanged { message WakelockStateChanged { repeated AttributionNode attribution_node = 1; // Type of wakelock. enum Type { PARTIAL = 0; FULL = 1; WINDOW = 2; } optional Type type = 2; // The type (level) of the wakelock; e.g. a partial wakelock or a full wakelock. // From frameworks/base/core/proto/android/os/enums.proto. optional android.os.WakeLockLevelEnum level = 2; // The wakelock tag (Called tag in the Java API, sometimes name elsewhere). optional string tag = 3; Loading Loading @@ -530,15 +518,8 @@ message BatteryLevelChanged { * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java */ message ChargingStateChanged { // TODO: Link directly to BatteryManager.java's constants (via a proto). enum State { BATTERY_STATUS_UNKNOWN = 1; BATTERY_STATUS_CHARGING = 2; BATTERY_STATUS_DISCHARGING = 3; BATTERY_STATUS_NOT_CHARGING = 4; BATTERY_STATUS_FULL = 5; } optional State charging_state = 1; // State of the battery, from frameworks/base/core/proto/android/os/enums.proto. optional android.os.BatteryStatusEnum state = 1; } /** Loading @@ -548,18 +529,8 @@ message ChargingStateChanged { * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java */ message PluggedStateChanged { // TODO: Link directly to BatteryManager.java's constants (via a proto). enum State { // Note that NONE is not in BatteryManager.java's constants. BATTERY_PLUGGED_NONE = 0; // Power source is an AC charger. BATTERY_PLUGGED_AC = 1; // Power source is a USB port. BATTERY_PLUGGED_USB = 2; // Power source is wireless. BATTERY_PLUGGED_WIRELESS = 4; } optional State plugged_state = 1; // Whether the device is plugged in, from frameworks/base/core/proto/android/os/enums.proto. optional android.os.BatteryPluggedStateEnum state = 1; } /** Loading Loading @@ -613,13 +584,8 @@ message MobileRadioPowerStateChanged { // TODO: Add attribution instead of uid? optional int32 uid = 1; // TODO: Reference telephony/java/android/telephony/DataConnectionRealTimeInfo.java states. enum PowerState { DC_POWER_STATE_LOW = 1; DC_POWER_STATE_MEDIUM = 2; DC_POWER_STATE_HIGH = 3; } optional PowerState power_state = 2; // Power state, from frameworks/base/core/proto/android/telephony/enums.proto. optional android.telephony.DataConnectionPowerStateEnum state = 2; } /** Loading @@ -633,13 +599,8 @@ message WifiRadioPowerStateChanged { // TODO: Add attribution instead of uid? optional int32 uid = 1; // TODO: Reference telephony/java/android/telephony/DataConnectionRealTimeInfo.java states. enum PowerState { DC_POWER_STATE_LOW = 1; DC_POWER_STATE_MEDIUM = 2; DC_POWER_STATE_HIGH = 3; } optional PowerState power_state = 2; // Power state, from frameworks/base/core/proto/android/telephony/enums.proto. optional android.telephony.DataConnectionPowerStateEnum state = 2; } /** Loading Loading @@ -679,15 +640,8 @@ message WifiLockStateChanged { * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java */ message WifiSignalStrengthChanged { // TODO: Reference the actual telephony/java/android/telephony/SignalStrength.java states. enum SignalStrength { SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0; SIGNAL_STRENGTH_POOR = 1; SIGNAL_STRENGTH_MODERATE = 2; SIGNAL_STRENGTH_GOOD = 3; SIGNAL_STRENGTH_GREAT = 4; } optional SignalStrength signal_strength = 1; // Signal strength, from frameworks/base/core/proto/android/telephony/enums.proto. optional android.telephony.SignalStrengthEnum signal_strength = 1; } /** Loading Loading @@ -729,15 +683,8 @@ message WifiMulticastLockStateChanged { * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java */ message PhoneSignalStrengthChanged { // TODO: Reference the actual telephony/java/android/telephony/SignalStrength.java states. enum SignalStrength { SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0; SIGNAL_STRENGTH_POOR = 1; SIGNAL_STRENGTH_MODERATE = 2; SIGNAL_STRENGTH_GOOD = 3; SIGNAL_STRENGTH_GREAT = 4; } optional SignalStrength signal_strength = 1; // Signal strength, from frameworks/base/core/proto/android/telephony/enums.proto. optional android.telephony.SignalStrengthEnum signal_strength = 1; } /** Loading cmds/statsd/tests/e2e/MetricConditionLink_e2e_test.cpp +5 −3 Original line number Diff line number Diff line Loading @@ -123,11 +123,13 @@ TEST(MetricConditionLinkE2eTest, TestMultiplePredicatesAndLinks) { auto crashEvent10 = CreateAppCrashEvent(appUid, bucketStartTimeNs + 2 * bucketSizeNs - 2); auto screenTurnedOnEvent = CreateScreenStateChangedEvent(ScreenStateChanged::STATE_ON, bucketStartTimeNs + 2); CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_ON, bucketStartTimeNs + 2); auto screenTurnedOffEvent = CreateScreenStateChangedEvent(ScreenStateChanged::STATE_OFF, bucketStartTimeNs + 200); CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_OFF, bucketStartTimeNs + 200); auto screenTurnedOnEvent2 = CreateScreenStateChangedEvent(ScreenStateChanged::STATE_ON, CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_ON, bucketStartTimeNs + 2 * bucketSizeNs - 100); auto syncOnEvent1 = Loading cmds/statsd/tests/e2e/WakelockDuration_e2e_test.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -73,11 +73,13 @@ TEST(WakelockDurationE2eTest, TestAggregatedPredicateDimensions) { EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid()); auto screenTurnedOnEvent = CreateScreenStateChangedEvent(ScreenStateChanged::STATE_ON, bucketStartTimeNs + 1); CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_ON, bucketStartTimeNs + 1); auto screenTurnedOffEvent = CreateScreenStateChangedEvent(ScreenStateChanged::STATE_OFF, bucketStartTimeNs + 200); CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_OFF, bucketStartTimeNs + 200); auto screenTurnedOnEvent2 = CreateScreenStateChangedEvent(ScreenStateChanged::STATE_ON, CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_ON, bucketStartTimeNs + bucketSizeNs + 500); std::vector<AttributionNode> attributions1 = Loading Loading @@ -156,7 +158,8 @@ TEST(WakelockDurationE2eTest, TestAggregatedPredicateDimensions) { events.clear(); events.push_back(CreateScreenStateChangedEvent( ScreenStateChanged::STATE_OFF, bucketStartTimeNs + 2 * bucketSizeNs + 90)); android::view::DisplayStateEnum::DISPLAY_STATE_OFF, bucketStartTimeNs + 2 * bucketSizeNs + 90)); events.push_back(CreateAcquireWakelockEvent( attributions1, "wl3", bucketStartTimeNs + 2 * bucketSizeNs + 100)); events.push_back(CreateReleaseWakelockEvent( Loading cmds/statsd/tests/statsd_test_util.cpp +7 −5 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ AtomMatcher CreateReleaseWakelockAtomMatcher() { } AtomMatcher CreateScreenStateChangedAtomMatcher( const string& name, ScreenStateChanged::State state) { const string& name, android::view::DisplayStateEnum state) { AtomMatcher atom_matcher; atom_matcher.set_id(StringToId(name)); auto simple_atom_matcher = atom_matcher.mutable_simple_atom_matcher(); Loading @@ -60,11 +60,13 @@ AtomMatcher CreateScreenStateChangedAtomMatcher( } AtomMatcher CreateScreenTurnedOnAtomMatcher() { return CreateScreenStateChangedAtomMatcher("ScreenTurnedOn", ScreenStateChanged::STATE_ON); return CreateScreenStateChangedAtomMatcher("ScreenTurnedOn", android::view::DisplayStateEnum::DISPLAY_STATE_ON); } AtomMatcher CreateScreenTurnedOffAtomMatcher() { return CreateScreenStateChangedAtomMatcher("ScreenTurnedOff", ScreenStateChanged::STATE_OFF); return CreateScreenStateChangedAtomMatcher("ScreenTurnedOff", ::android::view::DisplayStateEnum::DISPLAY_STATE_OFF); } AtomMatcher CreateSyncStateChangedAtomMatcher( Loading Loading @@ -209,7 +211,7 @@ FieldMatcher CreateDimensions(const int atomId, const std::vector<int>& fields) } std::unique_ptr<LogEvent> CreateScreenStateChangedEvent( const ScreenStateChanged::State state, uint64_t timestampNs) { const android::view::DisplayStateEnum state, uint64_t timestampNs) { auto event = std::make_unique<LogEvent>(android::util::SCREEN_STATE_CHANGED, timestampNs); EXPECT_TRUE(event->write(state)); event->init(); Loading @@ -221,7 +223,7 @@ std::unique_ptr<LogEvent> CreateWakelockStateChangedEvent( const WakelockStateChanged::State state, uint64_t timestampNs) { auto event = std::make_unique<LogEvent>(android::util::WAKELOCK_STATE_CHANGED, timestampNs); event->write(attributions); event->write(WakelockStateChanged::PARTIAL); event->write(android::os::WakeLockLevelEnum::PARTIAL_WAKE_LOCK); event->write(wakelockName); event->write(state); event->init(); Loading cmds/statsd/tests/statsd_test_util.h +1 −1 Original line number Diff line number Diff line Loading @@ -84,7 +84,7 @@ FieldMatcher CreateAttributionUidDimensions(const int atomId, // Create log event for screen state changed. std::unique_ptr<LogEvent> CreateScreenStateChangedEvent( const ScreenStateChanged::State state, uint64_t timestampNs); const android::view::DisplayStateEnum state, uint64_t timestampNs); // Create log event for app moving to background. std::unique_ptr<LogEvent> CreateMoveToBackgroundEvent(const int uid, uint64_t timestampNs); Loading Loading
cmds/statsd/src/atoms.proto +20 −73 Original line number Diff line number Diff line Loading @@ -22,6 +22,9 @@ option java_package = "com.android.os"; option java_outer_classname = "AtomsProto"; import "frameworks/base/core/proto/android/app/enums.proto"; import "frameworks/base/core/proto/android/os/enums.proto"; import "frameworks/base/core/proto/android/telephony/enums.proto"; import "frameworks/base/core/proto/android/view/enums.proto"; /** * The master atom class. This message defines all of the available Loading Loading @@ -162,18 +165,8 @@ message AttributionNode { * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message ScreenStateChanged { // TODO: Use the real screen state. enum State { STATE_UNKNOWN = 0; STATE_OFF = 1; STATE_ON = 2; STATE_DOZE = 3; STATE_DOZE_SUSPEND = 4; STATE_VR = 5; STATE_ON_SUSPEND = 6; } // New screen state. optional State display_state = 1; // New screen state, from frameworks/base/core/proto/android/view/enums.proto. optional android.view.DisplayStateEnum state = 1; } /** Loading @@ -196,7 +189,6 @@ message UidProcessStateChanged { * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message ProcessLifeCycleStateChanged { // TODO: Use the real (mapped) process states. optional int32 uid = 1; // TODO: should be a string tagged w/ uid annotation // TODO: What is this? Loading Loading @@ -412,13 +404,9 @@ message CameraStateChanged { message WakelockStateChanged { repeated AttributionNode attribution_node = 1; // Type of wakelock. enum Type { PARTIAL = 0; FULL = 1; WINDOW = 2; } optional Type type = 2; // The type (level) of the wakelock; e.g. a partial wakelock or a full wakelock. // From frameworks/base/core/proto/android/os/enums.proto. optional android.os.WakeLockLevelEnum level = 2; // The wakelock tag (Called tag in the Java API, sometimes name elsewhere). optional string tag = 3; Loading Loading @@ -530,15 +518,8 @@ message BatteryLevelChanged { * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java */ message ChargingStateChanged { // TODO: Link directly to BatteryManager.java's constants (via a proto). enum State { BATTERY_STATUS_UNKNOWN = 1; BATTERY_STATUS_CHARGING = 2; BATTERY_STATUS_DISCHARGING = 3; BATTERY_STATUS_NOT_CHARGING = 4; BATTERY_STATUS_FULL = 5; } optional State charging_state = 1; // State of the battery, from frameworks/base/core/proto/android/os/enums.proto. optional android.os.BatteryStatusEnum state = 1; } /** Loading @@ -548,18 +529,8 @@ message ChargingStateChanged { * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java */ message PluggedStateChanged { // TODO: Link directly to BatteryManager.java's constants (via a proto). enum State { // Note that NONE is not in BatteryManager.java's constants. BATTERY_PLUGGED_NONE = 0; // Power source is an AC charger. BATTERY_PLUGGED_AC = 1; // Power source is a USB port. BATTERY_PLUGGED_USB = 2; // Power source is wireless. BATTERY_PLUGGED_WIRELESS = 4; } optional State plugged_state = 1; // Whether the device is plugged in, from frameworks/base/core/proto/android/os/enums.proto. optional android.os.BatteryPluggedStateEnum state = 1; } /** Loading Loading @@ -613,13 +584,8 @@ message MobileRadioPowerStateChanged { // TODO: Add attribution instead of uid? optional int32 uid = 1; // TODO: Reference telephony/java/android/telephony/DataConnectionRealTimeInfo.java states. enum PowerState { DC_POWER_STATE_LOW = 1; DC_POWER_STATE_MEDIUM = 2; DC_POWER_STATE_HIGH = 3; } optional PowerState power_state = 2; // Power state, from frameworks/base/core/proto/android/telephony/enums.proto. optional android.telephony.DataConnectionPowerStateEnum state = 2; } /** Loading @@ -633,13 +599,8 @@ message WifiRadioPowerStateChanged { // TODO: Add attribution instead of uid? optional int32 uid = 1; // TODO: Reference telephony/java/android/telephony/DataConnectionRealTimeInfo.java states. enum PowerState { DC_POWER_STATE_LOW = 1; DC_POWER_STATE_MEDIUM = 2; DC_POWER_STATE_HIGH = 3; } optional PowerState power_state = 2; // Power state, from frameworks/base/core/proto/android/telephony/enums.proto. optional android.telephony.DataConnectionPowerStateEnum state = 2; } /** Loading Loading @@ -679,15 +640,8 @@ message WifiLockStateChanged { * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java */ message WifiSignalStrengthChanged { // TODO: Reference the actual telephony/java/android/telephony/SignalStrength.java states. enum SignalStrength { SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0; SIGNAL_STRENGTH_POOR = 1; SIGNAL_STRENGTH_MODERATE = 2; SIGNAL_STRENGTH_GOOD = 3; SIGNAL_STRENGTH_GREAT = 4; } optional SignalStrength signal_strength = 1; // Signal strength, from frameworks/base/core/proto/android/telephony/enums.proto. optional android.telephony.SignalStrengthEnum signal_strength = 1; } /** Loading Loading @@ -729,15 +683,8 @@ message WifiMulticastLockStateChanged { * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java */ message PhoneSignalStrengthChanged { // TODO: Reference the actual telephony/java/android/telephony/SignalStrength.java states. enum SignalStrength { SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0; SIGNAL_STRENGTH_POOR = 1; SIGNAL_STRENGTH_MODERATE = 2; SIGNAL_STRENGTH_GOOD = 3; SIGNAL_STRENGTH_GREAT = 4; } optional SignalStrength signal_strength = 1; // Signal strength, from frameworks/base/core/proto/android/telephony/enums.proto. optional android.telephony.SignalStrengthEnum signal_strength = 1; } /** Loading
cmds/statsd/tests/e2e/MetricConditionLink_e2e_test.cpp +5 −3 Original line number Diff line number Diff line Loading @@ -123,11 +123,13 @@ TEST(MetricConditionLinkE2eTest, TestMultiplePredicatesAndLinks) { auto crashEvent10 = CreateAppCrashEvent(appUid, bucketStartTimeNs + 2 * bucketSizeNs - 2); auto screenTurnedOnEvent = CreateScreenStateChangedEvent(ScreenStateChanged::STATE_ON, bucketStartTimeNs + 2); CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_ON, bucketStartTimeNs + 2); auto screenTurnedOffEvent = CreateScreenStateChangedEvent(ScreenStateChanged::STATE_OFF, bucketStartTimeNs + 200); CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_OFF, bucketStartTimeNs + 200); auto screenTurnedOnEvent2 = CreateScreenStateChangedEvent(ScreenStateChanged::STATE_ON, CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_ON, bucketStartTimeNs + 2 * bucketSizeNs - 100); auto syncOnEvent1 = Loading
cmds/statsd/tests/e2e/WakelockDuration_e2e_test.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -73,11 +73,13 @@ TEST(WakelockDurationE2eTest, TestAggregatedPredicateDimensions) { EXPECT_TRUE(processor->mMetricsManagers.begin()->second->isConfigValid()); auto screenTurnedOnEvent = CreateScreenStateChangedEvent(ScreenStateChanged::STATE_ON, bucketStartTimeNs + 1); CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_ON, bucketStartTimeNs + 1); auto screenTurnedOffEvent = CreateScreenStateChangedEvent(ScreenStateChanged::STATE_OFF, bucketStartTimeNs + 200); CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_OFF, bucketStartTimeNs + 200); auto screenTurnedOnEvent2 = CreateScreenStateChangedEvent(ScreenStateChanged::STATE_ON, CreateScreenStateChangedEvent(android::view::DisplayStateEnum::DISPLAY_STATE_ON, bucketStartTimeNs + bucketSizeNs + 500); std::vector<AttributionNode> attributions1 = Loading Loading @@ -156,7 +158,8 @@ TEST(WakelockDurationE2eTest, TestAggregatedPredicateDimensions) { events.clear(); events.push_back(CreateScreenStateChangedEvent( ScreenStateChanged::STATE_OFF, bucketStartTimeNs + 2 * bucketSizeNs + 90)); android::view::DisplayStateEnum::DISPLAY_STATE_OFF, bucketStartTimeNs + 2 * bucketSizeNs + 90)); events.push_back(CreateAcquireWakelockEvent( attributions1, "wl3", bucketStartTimeNs + 2 * bucketSizeNs + 100)); events.push_back(CreateReleaseWakelockEvent( Loading
cmds/statsd/tests/statsd_test_util.cpp +7 −5 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ AtomMatcher CreateReleaseWakelockAtomMatcher() { } AtomMatcher CreateScreenStateChangedAtomMatcher( const string& name, ScreenStateChanged::State state) { const string& name, android::view::DisplayStateEnum state) { AtomMatcher atom_matcher; atom_matcher.set_id(StringToId(name)); auto simple_atom_matcher = atom_matcher.mutable_simple_atom_matcher(); Loading @@ -60,11 +60,13 @@ AtomMatcher CreateScreenStateChangedAtomMatcher( } AtomMatcher CreateScreenTurnedOnAtomMatcher() { return CreateScreenStateChangedAtomMatcher("ScreenTurnedOn", ScreenStateChanged::STATE_ON); return CreateScreenStateChangedAtomMatcher("ScreenTurnedOn", android::view::DisplayStateEnum::DISPLAY_STATE_ON); } AtomMatcher CreateScreenTurnedOffAtomMatcher() { return CreateScreenStateChangedAtomMatcher("ScreenTurnedOff", ScreenStateChanged::STATE_OFF); return CreateScreenStateChangedAtomMatcher("ScreenTurnedOff", ::android::view::DisplayStateEnum::DISPLAY_STATE_OFF); } AtomMatcher CreateSyncStateChangedAtomMatcher( Loading Loading @@ -209,7 +211,7 @@ FieldMatcher CreateDimensions(const int atomId, const std::vector<int>& fields) } std::unique_ptr<LogEvent> CreateScreenStateChangedEvent( const ScreenStateChanged::State state, uint64_t timestampNs) { const android::view::DisplayStateEnum state, uint64_t timestampNs) { auto event = std::make_unique<LogEvent>(android::util::SCREEN_STATE_CHANGED, timestampNs); EXPECT_TRUE(event->write(state)); event->init(); Loading @@ -221,7 +223,7 @@ std::unique_ptr<LogEvent> CreateWakelockStateChangedEvent( const WakelockStateChanged::State state, uint64_t timestampNs) { auto event = std::make_unique<LogEvent>(android::util::WAKELOCK_STATE_CHANGED, timestampNs); event->write(attributions); event->write(WakelockStateChanged::PARTIAL); event->write(android::os::WakeLockLevelEnum::PARTIAL_WAKE_LOCK); event->write(wakelockName); event->write(state); event->init(); Loading
cmds/statsd/tests/statsd_test_util.h +1 −1 Original line number Diff line number Diff line Loading @@ -84,7 +84,7 @@ FieldMatcher CreateAttributionUidDimensions(const int atomId, // Create log event for screen state changed. std::unique_ptr<LogEvent> CreateScreenStateChangedEvent( const ScreenStateChanged::State state, uint64_t timestampNs); const android::view::DisplayStateEnum state, uint64_t timestampNs); // Create log event for app moving to background. std::unique_ptr<LogEvent> CreateMoveToBackgroundEvent(const int uid, uint64_t timestampNs); Loading