Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c6dc474 authored by Yangster-mac's avatar Yangster-mac
Browse files

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

Test: statsd cts tests passed.
Change-Id: I4c21b0da3d153c8d0c368a78647c44699a3161a5
parent 940ba0c8
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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;
+16 −16
Original line number Diff line number Diff line
@@ -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.
+2 −2
Original line number Diff line number Diff line
@@ -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 {
+2 −2
Original line number Diff line number Diff line
@@ -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;
+4 −4
Original line number Diff line number Diff line
@@ -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;
Loading