Loading cmds/statsd/src/condition/ConditionWizard.h +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ namespace android { namespace os { namespace statsd { // Held by MetricProducer, to query a condition state with input defined in EventConditionLink. // Held by MetricProducer, to query a condition state with input defined in MetricConditionLink. class ConditionWizard : public virtual android::RefBase { public: ConditionWizard(){}; // for testing Loading cmds/statsd/src/condition/condition_util.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -94,17 +94,17 @@ ConditionState evaluateCombinationCondition(const std::vector<int>& children, } HashableDimensionKey getDimensionKeyForCondition(const LogEvent& event, const EventConditionLink& link) { const MetricConditionLink& link) { vector<KeyMatcher> eventKey; eventKey.reserve(link.key_in_main().size()); eventKey.reserve(link.key_in_what().size()); for (const auto& key : link.key_in_main()) { for (const auto& key : link.key_in_what()) { eventKey.push_back(key); } vector<KeyValuePair> dimensionKey = getDimensionKey(event, eventKey); for (int i = 0; i < link.key_in_main_size(); i++) { for (int i = 0; i < link.key_in_what_size(); i++) { auto& kv = dimensionKey[i]; kv.set_key(link.key_in_condition(i).key()); } Loading cmds/statsd/src/condition/condition_util.h +1 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ ConditionState evaluateCombinationCondition(const std::vector<int>& children, const std::vector<ConditionState>& conditionCache); HashableDimensionKey getDimensionKeyForCondition(const LogEvent& event, const EventConditionLink& link); const MetricConditionLink& link); } // namespace statsd } // namespace os } // namespace android Loading cmds/statsd/src/config/ConfigManager.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -273,9 +273,9 @@ StatsdConfig build_fake_config() { keyMatcher = metric->add_dimension(); keyMatcher->set_key(WAKE_LOCK_UID_KEY_ID); metric->set_condition("APP_IS_BACKGROUND_AND_SCREEN_ON"); EventConditionLink* link = metric->add_links(); MetricConditionLink* link = metric->add_links(); link->set_condition("APP_IS_BACKGROUND"); link->add_key_in_main()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_what()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_condition()->set_key(APP_USAGE_UID_KEY_ID); // Duration of an app holding any wl, while screen on and app in background, slice by uid Loading @@ -289,7 +289,7 @@ StatsdConfig build_fake_config() { durationMetric->set_condition("APP_IS_BACKGROUND_AND_SCREEN_ON"); link = durationMetric->add_links(); link->set_condition("APP_IS_BACKGROUND"); link->add_key_in_main()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_what()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_condition()->set_key(APP_USAGE_UID_KEY_ID); // max Duration of an app holding any wl, while screen on and app in background, slice by uid Loading @@ -303,7 +303,7 @@ StatsdConfig build_fake_config() { durationMetric->set_condition("APP_IS_BACKGROUND_AND_SCREEN_ON"); link = durationMetric->add_links(); link->set_condition("APP_IS_BACKGROUND"); link->add_key_in_main()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_what()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_condition()->set_key(APP_USAGE_UID_KEY_ID); // Duration of an app holding any wl, while screen on and app in background Loading @@ -315,7 +315,7 @@ StatsdConfig build_fake_config() { durationMetric->set_condition("APP_IS_BACKGROUND_AND_SCREEN_ON"); link = durationMetric->add_links(); link->set_condition("APP_IS_BACKGROUND"); link->add_key_in_main()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_what()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_condition()->set_key(APP_USAGE_UID_KEY_ID); // Duration of screen on time. Loading cmds/statsd/src/metrics/MetricProducer.h +2 −2 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ protected: // that StatsLogReport wants. std::unordered_map<HashableDimensionKey, std::vector<KeyValuePair>> mDimensionKeyMap; std::vector<EventConditionLink> mConditionLinks; std::vector<MetricConditionLink> mConditionLinks; std::vector<sp<AnomalyTracker>> mAnomalyTrackers; Loading @@ -149,7 +149,7 @@ protected: * [eventKey]: the extracted dimension key for the final output. if the metric doesn't have * dimensions, it will be DEFAULT_DIMENSION_KEY * [conditionKey]: the keys of conditions which should be used to query the condition for this * target event (from EventConditionLink). This is passed to individual metrics * target event (from MetricConditionLink). This is passed to individual metrics * because DurationMetric needs it to be cached. * [condition]: whether condition is met. If condition is sliced, this is the result coming from * query with ConditionWizard; If condition is not sliced, this is the Loading Loading
cmds/statsd/src/condition/ConditionWizard.h +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ namespace android { namespace os { namespace statsd { // Held by MetricProducer, to query a condition state with input defined in EventConditionLink. // Held by MetricProducer, to query a condition state with input defined in MetricConditionLink. class ConditionWizard : public virtual android::RefBase { public: ConditionWizard(){}; // for testing Loading
cmds/statsd/src/condition/condition_util.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -94,17 +94,17 @@ ConditionState evaluateCombinationCondition(const std::vector<int>& children, } HashableDimensionKey getDimensionKeyForCondition(const LogEvent& event, const EventConditionLink& link) { const MetricConditionLink& link) { vector<KeyMatcher> eventKey; eventKey.reserve(link.key_in_main().size()); eventKey.reserve(link.key_in_what().size()); for (const auto& key : link.key_in_main()) { for (const auto& key : link.key_in_what()) { eventKey.push_back(key); } vector<KeyValuePair> dimensionKey = getDimensionKey(event, eventKey); for (int i = 0; i < link.key_in_main_size(); i++) { for (int i = 0; i < link.key_in_what_size(); i++) { auto& kv = dimensionKey[i]; kv.set_key(link.key_in_condition(i).key()); } Loading
cmds/statsd/src/condition/condition_util.h +1 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ ConditionState evaluateCombinationCondition(const std::vector<int>& children, const std::vector<ConditionState>& conditionCache); HashableDimensionKey getDimensionKeyForCondition(const LogEvent& event, const EventConditionLink& link); const MetricConditionLink& link); } // namespace statsd } // namespace os } // namespace android Loading
cmds/statsd/src/config/ConfigManager.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -273,9 +273,9 @@ StatsdConfig build_fake_config() { keyMatcher = metric->add_dimension(); keyMatcher->set_key(WAKE_LOCK_UID_KEY_ID); metric->set_condition("APP_IS_BACKGROUND_AND_SCREEN_ON"); EventConditionLink* link = metric->add_links(); MetricConditionLink* link = metric->add_links(); link->set_condition("APP_IS_BACKGROUND"); link->add_key_in_main()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_what()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_condition()->set_key(APP_USAGE_UID_KEY_ID); // Duration of an app holding any wl, while screen on and app in background, slice by uid Loading @@ -289,7 +289,7 @@ StatsdConfig build_fake_config() { durationMetric->set_condition("APP_IS_BACKGROUND_AND_SCREEN_ON"); link = durationMetric->add_links(); link->set_condition("APP_IS_BACKGROUND"); link->add_key_in_main()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_what()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_condition()->set_key(APP_USAGE_UID_KEY_ID); // max Duration of an app holding any wl, while screen on and app in background, slice by uid Loading @@ -303,7 +303,7 @@ StatsdConfig build_fake_config() { durationMetric->set_condition("APP_IS_BACKGROUND_AND_SCREEN_ON"); link = durationMetric->add_links(); link->set_condition("APP_IS_BACKGROUND"); link->add_key_in_main()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_what()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_condition()->set_key(APP_USAGE_UID_KEY_ID); // Duration of an app holding any wl, while screen on and app in background Loading @@ -315,7 +315,7 @@ StatsdConfig build_fake_config() { durationMetric->set_condition("APP_IS_BACKGROUND_AND_SCREEN_ON"); link = durationMetric->add_links(); link->set_condition("APP_IS_BACKGROUND"); link->add_key_in_main()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_what()->set_key(WAKE_LOCK_UID_KEY_ID); link->add_key_in_condition()->set_key(APP_USAGE_UID_KEY_ID); // Duration of screen on time. Loading
cmds/statsd/src/metrics/MetricProducer.h +2 −2 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ protected: // that StatsLogReport wants. std::unordered_map<HashableDimensionKey, std::vector<KeyValuePair>> mDimensionKeyMap; std::vector<EventConditionLink> mConditionLinks; std::vector<MetricConditionLink> mConditionLinks; std::vector<sp<AnomalyTracker>> mAnomalyTrackers; Loading @@ -149,7 +149,7 @@ protected: * [eventKey]: the extracted dimension key for the final output. if the metric doesn't have * dimensions, it will be DEFAULT_DIMENSION_KEY * [conditionKey]: the keys of conditions which should be used to query the condition for this * target event (from EventConditionLink). This is passed to individual metrics * target event (from MetricConditionLink). This is passed to individual metrics * because DurationMetric needs it to be cached. * [condition]: whether condition is met. If condition is sliced, this is the result coming from * query with ConditionWizard; If condition is not sliced, this is the Loading