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

Commit 7685337f authored by tsaichristine's avatar tsaichristine
Browse files

Remove dimensions_in_condition from statsd metrics

The dimensions_in_condition field is not used for any configs in statsd.
The functionality that it was intended to provide will be replaced by
StateTracker which is being tracked in b/136566566.

go/remove-dic contains background information on what was
removed/changed and why

Test: bit statsd_test:*
&& atest CtsStatsdHostTestCases
&& atest GtsStatsdHostTestCases

Change-Id: Ic328fa5fe027377380ba57363d9bc77985f18376
parent 68fcb023
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -253,9 +253,6 @@ cc_test {
        "tests/e2e/GaugeMetric_e2e_push_test.cpp",
        "tests/e2e/GaugeMetric_e2e_pull_test.cpp",
        "tests/e2e/ValueMetric_pull_e2e_test.cpp",
        "tests/e2e/DimensionInCondition_e2e_combination_AND_cond_test.cpp",
        "tests/e2e/DimensionInCondition_e2e_combination_OR_cond_test.cpp",
        "tests/e2e/DimensionInCondition_e2e_simple_cond_test.cpp",
        "tests/e2e/Anomaly_count_e2e_test.cpp",
        "tests/e2e/Anomaly_duration_sum_e2e_test.cpp",
        "tests/e2e/ConfigTtl_e2e_test.cpp",
+2 −27
Original line number Diff line number Diff line
@@ -110,20 +110,14 @@ bool CombinationConditionTracker::init(const vector<Predicate>& allConditionConf

void CombinationConditionTracker::isConditionMet(
        const ConditionKey& conditionParameters, const vector<sp<ConditionTracker>>& allConditions,
        const std::vector<Matcher>& dimensionFields,
        const bool isSubOutputDimensionFields,
        const bool isPartialLink,
        vector<ConditionState>& conditionCache,
        std::unordered_set<HashableDimensionKey>& dimensionsKeySet) const {
        vector<ConditionState>& conditionCache) const {
    // So far, this is fine as there is at most one child having sliced output.
    for (const int childIndex : mChildren) {
        if (conditionCache[childIndex] == ConditionState::kNotEvaluated) {
            allConditions[childIndex]->isConditionMet(conditionParameters, allConditions,
                                                      dimensionFields,
                                                      isSubOutputDimensionFields,
                                                      isPartialLink,
                                                      conditionCache,
                                                      dimensionsKeySet);
                                                      conditionCache);
        }
    }
    conditionCache[mIndex] =
@@ -178,25 +172,6 @@ void CombinationConditionTracker::evaluateCondition(
    }
}

ConditionState CombinationConditionTracker::getMetConditionDimension(
        const std::vector<sp<ConditionTracker>>& allConditions,
        const std::vector<Matcher>& dimensionFields,
        const bool isSubOutputDimensionFields,
        std::unordered_set<HashableDimensionKey>& dimensionsKeySet) const {
    vector<ConditionState> conditionCache(allConditions.size(), ConditionState::kNotEvaluated);
    // So far, this is fine as there is at most one child having sliced output.
    for (const int childIndex : mChildren) {
        conditionCache[childIndex] = conditionCache[childIndex] |
            allConditions[childIndex]->getMetConditionDimension(
                allConditions, dimensionFields, isSubOutputDimensionFields, dimensionsKeySet);
    }
    evaluateCombinationCondition(mChildren, mLogicalOperation, conditionCache);
    if (conditionCache[mIndex] == ConditionState::kTrue && dimensionsKeySet.empty()) {
        dimensionsKeySet.insert(DEFAULT_DIMENSION_KEY);
    }
    return conditionCache[mIndex];
}

bool CombinationConditionTracker::equalOutputDimensions(
        const std::vector<sp<ConditionTracker>>& allConditions,
        const vector<Matcher>& dimensions) const {
+1 −10
Original line number Diff line number Diff line
@@ -43,17 +43,8 @@ public:

    void isConditionMet(const ConditionKey& conditionParameters,
                        const std::vector<sp<ConditionTracker>>& allConditions,
                        const vector<Matcher>& dimensionFields,
                        const bool isSubOutputDimensionFields,
                        const bool isPartialLink,
                        std::vector<ConditionState>& conditionCache,
                        std::unordered_set<HashableDimensionKey>& dimensionsKeySet) const override;

    ConditionState getMetConditionDimension(
            const std::vector<sp<ConditionTracker>>& allConditions,
            const vector<Matcher>& dimensionFields,
            const bool isSubOutputDimensionFields,
            std::unordered_set<HashableDimensionKey>& dimensionsKeySet) const override;
                        std::vector<ConditionState>& conditionCache) const override;

    // Only one child predicate can have dimension.
    const std::set<HashableDimensionKey>* getChangedToTrueDimensions(
+1 −16
Original line number Diff line number Diff line
@@ -84,29 +84,14 @@ public:
    //                       condition.
    // [allConditions]: all condition trackers. This is needed because the condition evaluation is
    //                  done recursively
    // [dimensionFields]: the needed dimension fields which should be all or subset of the condition
    //                    tracker output dimension.
    // [isSubOutputDimensionFields]: true if the needed dimension fields which is strictly subset of
    //                               the condition tracker output dimension.
    // [isPartialLink]: true if the link specified by 'conditionParameters' contains all the fields
    //                  in the condition tracker output dimension.
    // [conditionCache]: the cache holding the condition evaluation values.
    // [dimensionsKeySet]: the dimensions where the sliced condition is true. For combination
    //                    condition, it assumes that only one child predicate is sliced.
    virtual void isConditionMet(
            const ConditionKey& conditionParameters,
            const std::vector<sp<ConditionTracker>>& allConditions,
            const vector<Matcher>& dimensionFields,
            const bool isSubOutputDimensionFields,
            const bool isPartialLink,
            std::vector<ConditionState>& conditionCache,
            std::unordered_set<HashableDimensionKey>& dimensionsKeySet) const = 0;

    virtual ConditionState getMetConditionDimension(
            const std::vector<sp<ConditionTracker>>& allConditions,
            const vector<Matcher>& dimensionFields,
            const bool isSubOutputDimensionFields,
            std::unordered_set<HashableDimensionKey>& dimensionsKeySet) const = 0;
            std::vector<ConditionState>& conditionCache) const = 0;

    // return the list of LogMatchingTracker index that this ConditionTracker uses.
    virtual const std::set<int>& getLogTrackerIndex() const {
+4 −16
Original line number Diff line number Diff line
@@ -25,27 +25,15 @@ using std::string;
using std::vector;

ConditionState ConditionWizard::query(const int index, const ConditionKey& parameters,
                                      const vector<Matcher>& dimensionFields,
                                      const bool isSubOutputDimensionFields,
                                      const bool isPartialLink,
                                      std::unordered_set<HashableDimensionKey>* dimensionKeySet) {
                                      const bool isPartialLink) {
    vector<ConditionState> cache(mAllConditions.size(), ConditionState::kNotEvaluated);

    mAllConditions[index]->isConditionMet(
        parameters, mAllConditions, dimensionFields, isSubOutputDimensionFields, isPartialLink,
        cache, *dimensionKeySet);
        parameters, mAllConditions, isPartialLink,
        cache);
    return cache[index];
}

ConditionState ConditionWizard::getMetConditionDimension(
        const int index, const vector<Matcher>& dimensionFields,
        const bool isSubOutputDimensionFields,
        std::unordered_set<HashableDimensionKey>* dimensionsKeySet) const {
    return mAllConditions[index]->getMetConditionDimension(mAllConditions, dimensionFields,
                                                           isSubOutputDimensionFields,
                                                           *dimensionsKeySet);
}

const set<HashableDimensionKey>* ConditionWizard::getChangedToTrueDimensions(
        const int index) const {
    return mAllConditions[index]->getChangedToTrueDimensions(mAllConditions);
Loading