Loading cmds/statsd/src/config/ConfigManager.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -212,7 +212,7 @@ static StatsdConfig build_fake_config() { keyMatcher = durationMetric->add_dimension(); keyMatcher->set_key(WAKE_LOCK_UID_KEY_ID); durationMetric->set_what("WL_HELD_PER_APP_PER_NAME"); durationMetric->set_predicate("APP_IS_BACKGROUND_AND_SCREEN_ON"); 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); Loading @@ -226,7 +226,7 @@ static StatsdConfig build_fake_config() { keyMatcher = durationMetric->add_dimension(); keyMatcher->set_key(WAKE_LOCK_UID_KEY_ID); durationMetric->set_what("WL_HELD_PER_APP_PER_NAME"); durationMetric->set_predicate("APP_IS_BACKGROUND_AND_SCREEN_ON"); 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); Loading @@ -238,7 +238,7 @@ static StatsdConfig build_fake_config() { durationMetric->mutable_bucket()->set_bucket_size_millis(30 * 1000L); durationMetric->set_type(DurationMetric_AggregationType_DURATION_MAX_SPARSE); durationMetric->set_what("WL_HELD_PER_APP_PER_NAME"); durationMetric->set_predicate("APP_IS_BACKGROUND_AND_SCREEN_ON"); 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); Loading cmds/statsd/src/metrics/metrics_manager_util.cpp +27 −2 Original line number Diff line number Diff line Loading @@ -220,6 +220,11 @@ bool initMetrics(const StatsdConfig& config, const unordered_map<string, int>& l handleMetricWithConditions(metric.condition(), metricIndex, conditionTrackerMap, metric.links(), allConditionTrackers, conditionIndex, conditionToMetricMap); } else { if (metric.links_size() > 0) { ALOGW("metrics has a EventConditionLink but doesn't have a condition"); return false; } } sp<MetricProducer> countProducer = Loading Loading @@ -276,10 +281,15 @@ bool initMetrics(const StatsdConfig& config, const unordered_map<string, int>& l int conditionIndex = -1; if (metric.has_predicate()) { handleMetricWithConditions(metric.predicate(), metricIndex, conditionTrackerMap, if (metric.has_condition()) { handleMetricWithConditions(metric.condition(), metricIndex, conditionTrackerMap, metric.links(), allConditionTrackers, conditionIndex, conditionToMetricMap); } else { if (metric.links_size() > 0) { ALOGW("metrics has a EventConditionLink but doesn't have a condition"); return false; } } sp<MetricProducer> durationMetric = new DurationMetricProducer( Loading Loading @@ -308,6 +318,11 @@ bool initMetrics(const StatsdConfig& config, const unordered_map<string, int>& l handleMetricWithConditions(metric.condition(), metricIndex, conditionTrackerMap, metric.links(), allConditionTrackers, conditionIndex, conditionToMetricMap); } else { if (metric.links_size() > 0) { ALOGW("metrics has a EventConditionLink but doesn't have a condition"); return false; } } sp<MetricProducer> eventMetric = Loading Loading @@ -349,6 +364,11 @@ bool initMetrics(const StatsdConfig& config, const unordered_map<string, int>& l handleMetricWithConditions(metric.condition(), metricIndex, conditionTrackerMap, metric.links(), allConditionTrackers, conditionIndex, conditionToMetricMap); } else { if (metric.links_size() > 0) { ALOGW("metrics has a EventConditionLink but doesn't have a condition"); return false; } } sp<MetricProducer> valueProducer = Loading Loading @@ -389,6 +409,11 @@ bool initMetrics(const StatsdConfig& config, const unordered_map<string, int>& l handleMetricWithConditions(metric.condition(), metricIndex, conditionTrackerMap, metric.links(), allConditionTrackers, conditionIndex, conditionToMetricMap); } else { if (metric.links_size() > 0) { ALOGW("metrics has a EventConditionLink but doesn't have a condition"); return false; } } sp<MetricProducer> gaugeProducer = Loading cmds/statsd/src/statsd_config.proto +8 −8 Original line number Diff line number Diff line Loading @@ -161,20 +161,20 @@ message DurationMetric { optional string what = 2; optional string condition = 3; repeated EventConditionLink links = 4; enum AggregationType { DURATION_SUM = 1; DURATION_MAX_SPARSE = 2; } optional AggregationType type = 3; optional string predicate = 4; optional AggregationType type = 5; repeated KeyMatcher dimension = 5; optional Bucket bucket = 6; repeated KeyMatcher dimension = 6; repeated EventConditionLink links = 7; optional Bucket bucket = 7; } message GaugeMetric { Loading Loading
cmds/statsd/src/config/ConfigManager.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -212,7 +212,7 @@ static StatsdConfig build_fake_config() { keyMatcher = durationMetric->add_dimension(); keyMatcher->set_key(WAKE_LOCK_UID_KEY_ID); durationMetric->set_what("WL_HELD_PER_APP_PER_NAME"); durationMetric->set_predicate("APP_IS_BACKGROUND_AND_SCREEN_ON"); 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); Loading @@ -226,7 +226,7 @@ static StatsdConfig build_fake_config() { keyMatcher = durationMetric->add_dimension(); keyMatcher->set_key(WAKE_LOCK_UID_KEY_ID); durationMetric->set_what("WL_HELD_PER_APP_PER_NAME"); durationMetric->set_predicate("APP_IS_BACKGROUND_AND_SCREEN_ON"); 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); Loading @@ -238,7 +238,7 @@ static StatsdConfig build_fake_config() { durationMetric->mutable_bucket()->set_bucket_size_millis(30 * 1000L); durationMetric->set_type(DurationMetric_AggregationType_DURATION_MAX_SPARSE); durationMetric->set_what("WL_HELD_PER_APP_PER_NAME"); durationMetric->set_predicate("APP_IS_BACKGROUND_AND_SCREEN_ON"); 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); Loading
cmds/statsd/src/metrics/metrics_manager_util.cpp +27 −2 Original line number Diff line number Diff line Loading @@ -220,6 +220,11 @@ bool initMetrics(const StatsdConfig& config, const unordered_map<string, int>& l handleMetricWithConditions(metric.condition(), metricIndex, conditionTrackerMap, metric.links(), allConditionTrackers, conditionIndex, conditionToMetricMap); } else { if (metric.links_size() > 0) { ALOGW("metrics has a EventConditionLink but doesn't have a condition"); return false; } } sp<MetricProducer> countProducer = Loading Loading @@ -276,10 +281,15 @@ bool initMetrics(const StatsdConfig& config, const unordered_map<string, int>& l int conditionIndex = -1; if (metric.has_predicate()) { handleMetricWithConditions(metric.predicate(), metricIndex, conditionTrackerMap, if (metric.has_condition()) { handleMetricWithConditions(metric.condition(), metricIndex, conditionTrackerMap, metric.links(), allConditionTrackers, conditionIndex, conditionToMetricMap); } else { if (metric.links_size() > 0) { ALOGW("metrics has a EventConditionLink but doesn't have a condition"); return false; } } sp<MetricProducer> durationMetric = new DurationMetricProducer( Loading Loading @@ -308,6 +318,11 @@ bool initMetrics(const StatsdConfig& config, const unordered_map<string, int>& l handleMetricWithConditions(metric.condition(), metricIndex, conditionTrackerMap, metric.links(), allConditionTrackers, conditionIndex, conditionToMetricMap); } else { if (metric.links_size() > 0) { ALOGW("metrics has a EventConditionLink but doesn't have a condition"); return false; } } sp<MetricProducer> eventMetric = Loading Loading @@ -349,6 +364,11 @@ bool initMetrics(const StatsdConfig& config, const unordered_map<string, int>& l handleMetricWithConditions(metric.condition(), metricIndex, conditionTrackerMap, metric.links(), allConditionTrackers, conditionIndex, conditionToMetricMap); } else { if (metric.links_size() > 0) { ALOGW("metrics has a EventConditionLink but doesn't have a condition"); return false; } } sp<MetricProducer> valueProducer = Loading Loading @@ -389,6 +409,11 @@ bool initMetrics(const StatsdConfig& config, const unordered_map<string, int>& l handleMetricWithConditions(metric.condition(), metricIndex, conditionTrackerMap, metric.links(), allConditionTrackers, conditionIndex, conditionToMetricMap); } else { if (metric.links_size() > 0) { ALOGW("metrics has a EventConditionLink but doesn't have a condition"); return false; } } sp<MetricProducer> gaugeProducer = Loading
cmds/statsd/src/statsd_config.proto +8 −8 Original line number Diff line number Diff line Loading @@ -161,20 +161,20 @@ message DurationMetric { optional string what = 2; optional string condition = 3; repeated EventConditionLink links = 4; enum AggregationType { DURATION_SUM = 1; DURATION_MAX_SPARSE = 2; } optional AggregationType type = 3; optional string predicate = 4; optional AggregationType type = 5; repeated KeyMatcher dimension = 5; optional Bucket bucket = 6; repeated KeyMatcher dimension = 6; repeated EventConditionLink links = 7; optional Bucket bucket = 7; } message GaugeMetric { Loading