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

Commit 423aa621 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Partial Config Update: store metric/state hashes"

parents 25953d49 052d11c5
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -69,13 +69,14 @@ const int FIELD_ID_END_BUCKET_ELAPSED_MILLIS = 6;
CountMetricProducer::CountMetricProducer(
        const ConfigKey& key, const CountMetric& metric, const int conditionIndex,
        const vector<ConditionState>& initialConditionCache, const sp<ConditionWizard>& wizard,
        const int64_t timeBaseNs, const int64_t startTimeNs,
        const uint64_t protoHash, const int64_t timeBaseNs, const int64_t startTimeNs,
        const unordered_map<int, shared_ptr<Activation>>& eventActivationMap,
        const unordered_map<int, vector<shared_ptr<Activation>>>& eventDeactivationMap,
        const vector<int>& slicedStateAtoms,
        const unordered_map<int, unordered_map<int, int64_t>>& stateGroupMap)
    : MetricProducer(metric.id(), key, timeBaseNs, conditionIndex, initialConditionCache, wizard,
                     eventActivationMap, eventDeactivationMap, slicedStateAtoms, stateGroupMap) {
                     protoHash, eventActivationMap, eventDeactivationMap, slicedStateAtoms,
                     stateGroupMap) {
    if (metric.has_bucket()) {
        mBucketSizeNs =
                TimeUnitToBucketSizeInMillisGuardrailed(key.GetUid(), metric.bucket()) * 1000000;
+5 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ public:
    CountMetricProducer(
            const ConfigKey& key, const CountMetric& countMetric, const int conditionIndex,
            const vector<ConditionState>& initialConditionCache, const sp<ConditionWizard>& wizard,
            const int64_t timeBaseNs, const int64_t startTimeNs,
            const uint64_t protoHash, const int64_t timeBaseNs, const int64_t startTimeNs,
            const std::unordered_map<int, std::shared_ptr<Activation>>& eventActivationMap = {},
            const std::unordered_map<int, std::vector<std::shared_ptr<Activation>>>&
                    eventDeactivationMap = {},
@@ -57,6 +57,10 @@ public:
                        const HashableDimensionKey& primaryKey, const FieldValue& oldState,
                        const FieldValue& newState) override;

    MetricType getMetricType() const override {
        return METRIC_TYPE_COUNT;
    }

protected:
    void onMatchedLogEventInternalLocked(
            const size_t matcherIndex, const MetricDimensionKey& eventKey,
+4 −3
Original line number Diff line number Diff line
@@ -66,14 +66,15 @@ DurationMetricProducer::DurationMetricProducer(
        const ConfigKey& key, const DurationMetric& metric, const int conditionIndex,
        const vector<ConditionState>& initialConditionCache, const size_t startIndex,
        const size_t stopIndex, const size_t stopAllIndex, const bool nesting,
        const sp<ConditionWizard>& wizard, const FieldMatcher& internalDimensions,
        const int64_t timeBaseNs, const int64_t startTimeNs,
        const sp<ConditionWizard>& wizard, const uint64_t protoHash,
        const FieldMatcher& internalDimensions, const int64_t timeBaseNs, const int64_t startTimeNs,
        const unordered_map<int, shared_ptr<Activation>>& eventActivationMap,
        const unordered_map<int, vector<shared_ptr<Activation>>>& eventDeactivationMap,
        const vector<int>& slicedStateAtoms,
        const unordered_map<int, unordered_map<int, int64_t>>& stateGroupMap)
    : MetricProducer(metric.id(), key, timeBaseNs, conditionIndex, initialConditionCache, wizard,
                     eventActivationMap, eventDeactivationMap, slicedStateAtoms, stateGroupMap),
                     protoHash, eventActivationMap, eventDeactivationMap, slicedStateAtoms,
                     stateGroupMap),
      mAggregationType(metric.aggregation_type()),
      mStartIndex(startIndex),
      mStopIndex(stopIndex),
+7 −2
Original line number Diff line number Diff line
@@ -42,8 +42,9 @@ public:
            const ConfigKey& key, const DurationMetric& durationMetric, const int conditionIndex,
            const vector<ConditionState>& initialConditionCache, const size_t startIndex,
            const size_t stopIndex, const size_t stopAllIndex, const bool nesting,
            const sp<ConditionWizard>& wizard, const FieldMatcher& internalDimensions,
            const int64_t timeBaseNs, const int64_t startTimeNs,
            const sp<ConditionWizard>& wizard, const uint64_t protoHash,
            const FieldMatcher& internalDimensions, const int64_t timeBaseNs,
            const int64_t startTimeNs,
            const unordered_map<int, shared_ptr<Activation>>& eventActivationMap = {},
            const unordered_map<int, vector<shared_ptr<Activation>>>& eventDeactivationMap = {},
            const vector<int>& slicedStateAtoms = {},
@@ -58,6 +59,10 @@ public:
                        const HashableDimensionKey& primaryKey, const FieldValue& oldState,
                        const FieldValue& newState) override;

    MetricType getMetricType() const override {
        return METRIC_TYPE_DURATION;
    }

protected:
    void onMatchedLogEventLocked(const size_t matcherIndex, const LogEvent& event) override;

+3 −2
Original line number Diff line number Diff line
@@ -55,13 +55,14 @@ const int FIELD_ID_ATOMS = 2;
EventMetricProducer::EventMetricProducer(
        const ConfigKey& key, const EventMetric& metric, const int conditionIndex,
        const vector<ConditionState>& initialConditionCache, const sp<ConditionWizard>& wizard,
        const int64_t startTimeNs,
        const uint64_t protoHash, const int64_t startTimeNs,
        const unordered_map<int, shared_ptr<Activation>>& eventActivationMap,
        const unordered_map<int, vector<shared_ptr<Activation>>>& eventDeactivationMap,
        const vector<int>& slicedStateAtoms,
        const unordered_map<int, unordered_map<int, int64_t>>& stateGroupMap)
    : MetricProducer(metric.id(), key, startTimeNs, conditionIndex, initialConditionCache, wizard,
                     eventActivationMap, eventDeactivationMap, slicedStateAtoms, stateGroupMap) {
                     protoHash, eventActivationMap, eventDeactivationMap, slicedStateAtoms,
                     stateGroupMap) {
    if (metric.links().size() > 0) {
        for (const auto& link : metric.links()) {
            Metric2Condition mc;
Loading