Rename the dimension_in_what/condition as fields_in_what/condition in MetricConditionLink proto.

Test: statsd cts tests passed.
Change-Id: I4c21b0da3d153c8d0c368a78647c44699a3161a5
This commit is contained in:
Yangster-mac
2018-01-18 16:17:43 -08:00
parent 940ba0c8fe
commit 2c6dc474ac
7 changed files with 32 additions and 32 deletions

View File

@@ -158,15 +158,15 @@ void flattenValueLeaves(const DimensionsValue& value,
std::vector<HashableDimensionKey> getDimensionKeysForCondition(
const LogEvent& event, const MetricConditionLink& link) {
std::vector<Field> whatFields;
getFieldsFromFieldMatcher(link.dimensions_in_what(), &whatFields);
getFieldsFromFieldMatcher(link.fields_in_what(), &whatFields);
std::vector<Field> conditionFields;
getFieldsFromFieldMatcher(link.dimensions_in_condition(), &conditionFields);
getFieldsFromFieldMatcher(link.fields_in_condition(), &conditionFields);
std::vector<HashableDimensionKey> hashableDimensionKeys;
// TODO(yanglu): here we could simplify the logic to get the leaf value node in what and
// directly construct the full condition value tree.
std::vector<DimensionsValue> whatValues = getDimensionKeys(event, link.dimensions_in_what());
std::vector<DimensionsValue> whatValues = getDimensionKeys(event, link.fields_in_what());
for (size_t i = 0; i < whatValues.size(); ++i) {
std::vector<DimensionsValue> whatLeaves;
@@ -185,7 +185,7 @@ std::vector<HashableDimensionKey> getDimensionKeysForCondition(
conditionValueMap.insert(std::make_pair(conditionFields[j], whatLeaves[j]));
}
std::vector<DimensionsValue> conditionValues;
findDimensionsValues(conditionValueMap, link.dimensions_in_condition(), &conditionValues);
findDimensionsValues(conditionValueMap, link.fields_in_condition(), &conditionValues);
if (conditionValues.size() != 1) {
ALOGE("Not able to find unambiguous field value in condition atom.");
continue;

View File

@@ -296,10 +296,10 @@ StatsdConfig build_fake_config() {
metric->set_condition(204);
MetricConditionLink* link = metric->add_links();
link->set_condition(203);
link->mutable_dimensions_in_what()->set_field(WAKE_LOCK_TAG_ID);
link->mutable_dimensions_in_what()->add_child()->set_field(WAKE_LOCK_UID_KEY_ID);
link->mutable_dimensions_in_condition()->set_field(APP_USAGE_TAG_ID);
link->mutable_dimensions_in_condition()->add_child()->set_field(APP_USAGE_UID_KEY_ID);
link->mutable_fields_in_what()->set_field(WAKE_LOCK_TAG_ID);
link->mutable_fields_in_what()->add_child()->set_field(WAKE_LOCK_UID_KEY_ID);
link->mutable_fields_in_condition()->set_field(APP_USAGE_TAG_ID);
link->mutable_fields_in_condition()->add_child()->set_field(APP_USAGE_UID_KEY_ID);
// Duration of an app holding any wl, while screen on and app in background, slice by uid
DurationMetric* durationMetric = config.add_duration_metric();
@@ -313,10 +313,10 @@ StatsdConfig build_fake_config() {
durationMetric->set_condition(204);
link = durationMetric->add_links();
link->set_condition(203);
link->mutable_dimensions_in_what()->set_field(WAKE_LOCK_TAG_ID);
link->mutable_dimensions_in_what()->add_child()->set_field(WAKE_LOCK_UID_KEY_ID);
link->mutable_dimensions_in_condition()->set_field(APP_USAGE_TAG_ID);
link->mutable_dimensions_in_condition()->add_child()->set_field(APP_USAGE_UID_KEY_ID);
link->mutable_fields_in_what()->set_field(WAKE_LOCK_TAG_ID);
link->mutable_fields_in_what()->add_child()->set_field(WAKE_LOCK_UID_KEY_ID);
link->mutable_fields_in_condition()->set_field(APP_USAGE_TAG_ID);
link->mutable_fields_in_condition()->add_child()->set_field(APP_USAGE_UID_KEY_ID);
// max Duration of an app holding any wl, while screen on and app in background, slice by uid
durationMetric = config.add_duration_metric();
@@ -330,10 +330,10 @@ StatsdConfig build_fake_config() {
durationMetric->set_condition(204);
link = durationMetric->add_links();
link->set_condition(203);
link->mutable_dimensions_in_what()->set_field(WAKE_LOCK_TAG_ID);
link->mutable_dimensions_in_what()->add_child()->set_field(WAKE_LOCK_UID_KEY_ID);
link->mutable_dimensions_in_condition()->set_field(APP_USAGE_TAG_ID);
link->mutable_dimensions_in_condition()->add_child()->set_field(APP_USAGE_UID_KEY_ID);
link->mutable_fields_in_what()->set_field(WAKE_LOCK_TAG_ID);
link->mutable_fields_in_what()->add_child()->set_field(WAKE_LOCK_UID_KEY_ID);
link->mutable_fields_in_condition()->set_field(APP_USAGE_TAG_ID);
link->mutable_fields_in_condition()->add_child()->set_field(APP_USAGE_UID_KEY_ID);
// Duration of an app holding any wl, while screen on and app in background
durationMetric = config.add_duration_metric();
@@ -344,10 +344,10 @@ StatsdConfig build_fake_config() {
durationMetric->set_condition(204);
link = durationMetric->add_links();
link->set_condition(203);
link->mutable_dimensions_in_what()->set_field(WAKE_LOCK_TAG_ID);
link->mutable_dimensions_in_what()->add_child()->set_field(WAKE_LOCK_UID_KEY_ID);
link->mutable_dimensions_in_condition()->set_field(APP_USAGE_TAG_ID);
link->mutable_dimensions_in_condition()->add_child()->set_field(APP_USAGE_UID_KEY_ID);
link->mutable_fields_in_what()->set_field(WAKE_LOCK_TAG_ID);
link->mutable_fields_in_what()->add_child()->set_field(WAKE_LOCK_UID_KEY_ID);
link->mutable_fields_in_condition()->set_field(APP_USAGE_TAG_ID);
link->mutable_fields_in_condition()->add_child()->set_field(APP_USAGE_UID_KEY_ID);
// Duration of screen on time.

View File

@@ -151,9 +151,9 @@ message Bucket {
message MetricConditionLink {
optional int64 condition = 1;
optional FieldMatcher dimensions_in_what = 2;
optional FieldMatcher fields_in_what = 2;
optional FieldMatcher dimensions_in_condition = 3;
optional FieldMatcher fields_in_condition = 3;
}
message FieldFilter {

View File

@@ -57,10 +57,10 @@ StatsdConfig CreateStatsdConfigForPushedEvent() {
auto links = gaugeMetric->add_links();
links->set_condition(isInBackgroundPredicate.id());
auto dimensionWhat = links->mutable_dimensions_in_what();
auto dimensionWhat = links->mutable_fields_in_what();
dimensionWhat->set_field(android::util::APP_START_CHANGED);
dimensionWhat->add_child()->set_field(1); // uid field.
auto dimensionCondition = links->mutable_dimensions_in_condition();
auto dimensionCondition = links->mutable_fields_in_condition();
dimensionCondition->set_field(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED);
dimensionCondition->add_child()->set_field(1); // uid field.
return config;

View File

@@ -75,20 +75,20 @@ StatsdConfig CreateStatsdConfig() {
// 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_dimensions_in_what();
auto dimensionWhat = links->mutable_fields_in_what();
dimensionWhat->set_field(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
dimensionWhat->add_child()->set_field(1); // uid field.
auto dimensionCondition = links->mutable_dimensions_in_condition();
auto dimensionCondition = links->mutable_fields_in_condition();
dimensionCondition->set_field(android::util::SYNC_STATE_CHANGED);
dimensionCondition->add_child()->set_field(1); // uid field.
// Links between crash atom and condition of app is in background.
links = countMetric->add_links();
links->set_condition(isInBackgroundPredicate.id());
dimensionWhat = links->mutable_dimensions_in_what();
dimensionWhat = links->mutable_fields_in_what();
dimensionWhat->set_field(android::util::PROCESS_LIFE_CYCLE_STATE_CHANGED);
dimensionWhat->add_child()->set_field(1); // uid field.
dimensionCondition = links->mutable_dimensions_in_condition();
dimensionCondition = links->mutable_fields_in_condition();
dimensionCondition->set_field(android::util::ACTIVITY_FOREGROUND_STATE_CHANGED);
dimensionCondition->add_child()->set_field(1); // uid field.
return config;

View File

@@ -149,8 +149,8 @@ TEST(CountMetricProducerTest, TestEventsWithSlicedCondition) {
metric.set_condition(StringToId("APP_IN_BACKGROUND_PER_UID_AND_SCREEN_ON"));
MetricConditionLink* link = metric.add_links();
link->set_condition(StringToId("APP_IN_BACKGROUND_PER_UID"));
*link->mutable_dimensions_in_what() = buildSimpleAtomFieldMatcher(tagId, 1);
*link->mutable_dimensions_in_condition() = buildSimpleAtomFieldMatcher(conditionTagId, 2);
*link->mutable_fields_in_what() = buildSimpleAtomFieldMatcher(tagId, 1);
*link->mutable_fields_in_condition() = buildSimpleAtomFieldMatcher(conditionTagId, 2);
LogEvent event1(tagId, bucketStartTimeNs + 1);
event1.write("111"); // uid

View File

@@ -98,8 +98,8 @@ TEST(EventMetricProducerTest, TestEventsWithSlicedCondition) {
metric.set_condition(StringToId("APP_IN_BACKGROUND_PER_UID_AND_SCREEN_ON"));
MetricConditionLink* link = metric.add_links();
link->set_condition(StringToId("APP_IN_BACKGROUND_PER_UID"));
*link->mutable_dimensions_in_what() = buildSimpleAtomFieldMatcher(tagId, 1);
*link->mutable_dimensions_in_condition() = buildSimpleAtomFieldMatcher(conditionTagId, 2);
*link->mutable_fields_in_what() = buildSimpleAtomFieldMatcher(tagId, 1);
*link->mutable_fields_in_condition() = buildSimpleAtomFieldMatcher(conditionTagId, 2);
LogEvent event1(tagId, bucketStartTimeNs + 1);
EXPECT_TRUE(event1.write("111"));