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

Commit a070b6a4 authored by Yangster-mac's avatar Yangster-mac Committed by Yang Lu
Browse files

Bug fix: gauge metric producer does not need the atom id parameter.

Test: statsd unit test passed
Change-Id: Ifd1e2f7a05a03886eb227ac1ae0e30b884e49f0c
parent c9cbc3e5
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -60,13 +60,12 @@ const int FIELD_ID_ATOM = 3;

GaugeMetricProducer::GaugeMetricProducer(const ConfigKey& key, const GaugeMetric& metric,
                                         const int conditionIndex,
                                         const sp<ConditionWizard>& wizard, const int atomTagId,
                                         const sp<ConditionWizard>& wizard,
                                         const int pullTagId, const uint64_t startTimeNs,
                                         shared_ptr<StatsPullerManager> statsPullerManager)
    : MetricProducer(metric.id(), key, startTimeNs, conditionIndex, wizard),
      mStatsPullerManager(statsPullerManager),
      mPullTagId(pullTagId),
      mAtomTagId(atomTagId) {
      mPullTagId(pullTagId) {
    mCurrentSlicedBucket = std::make_shared<DimToGaugeFieldsMap>();
    mCurrentSlicedBucketForAnomaly = std::make_shared<DimToValMap>();
    int64_t bucketSizeMills = 0;
@@ -101,8 +100,8 @@ GaugeMetricProducer::GaugeMetricProducer(const ConfigKey& key, const GaugeMetric
GaugeMetricProducer::GaugeMetricProducer(const ConfigKey& key, const GaugeMetric& metric,
                                         const int conditionIndex,
                                         const sp<ConditionWizard>& wizard, const int pullTagId,
                                         const int atomTagId, const int64_t startTimeNs)
    : GaugeMetricProducer(key, metric, conditionIndex, wizard, pullTagId, atomTagId, startTimeNs,
                                         const int64_t startTimeNs)
    : GaugeMetricProducer(key, metric, conditionIndex, wizard, pullTagId, startTimeNs,
                          make_shared<StatsPullerManager>()) {
}

+2 −4
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ class GaugeMetricProducer : public virtual MetricProducer, public virtual PullDa
public:
    GaugeMetricProducer(const ConfigKey& key, const GaugeMetric& countMetric,
                        const int conditionIndex, const sp<ConditionWizard>& wizard,
                        const int pullTagId, const int atomTagId, const int64_t startTimeNs);
                        const int pullTagId, const int64_t startTimeNs);

    virtual ~GaugeMetricProducer();

@@ -71,7 +71,7 @@ private:
    // for testing
    GaugeMetricProducer(const ConfigKey& key, const GaugeMetric& gaugeMetric,
                        const int conditionIndex, const sp<ConditionWizard>& wizard,
                        const int pullTagId, const int atomTagId, const uint64_t startTimeNs,
                        const int pullTagId, const uint64_t startTimeNs,
                        std::shared_ptr<StatsPullerManager> statsPullerManager);

    // Internal interface to handle condition change.
@@ -103,8 +103,6 @@ private:
    // Translate Atom based bucket to single numeric value bucket for anomaly
    void updateCurrentSlicedBucketForAnomaly();

    int mAtomTagId;

    // Whitelist of fields to report. Empty means all are reported.
    FieldFilter mFieldFilter;

+1 −1
Original line number Diff line number Diff line
@@ -459,7 +459,7 @@ bool initMetrics(const ConfigKey& key, const StatsdConfig& config, const long ti
        }

        sp<MetricProducer> gaugeProducer = new GaugeMetricProducer(
                key, metric, conditionIndex, wizard, pullTagId, atomTagId, startTimeNs);
                key, metric, conditionIndex, wizard, pullTagId, startTimeNs);
        allMetricProducers.push_back(gaugeProducer);
    }
    for (int i = 0; i < config.no_report_metric_size(); ++i) {
+3 −3
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ TEST(GaugeMetricProducerTest, TestNoCondition) {
    EXPECT_CALL(*pullerManager, UnRegisterReceiver(tagId, _)).WillOnce(Return());

    GaugeMetricProducer gaugeProducer(kConfigKey, metric, -1 /*-1 meaning no condition*/, wizard,
                                      tagId, tagId, bucketStartTimeNs, pullerManager);
                                      tagId, bucketStartTimeNs, pullerManager);

    vector<shared_ptr<LogEvent>> allData;
    allData.clear();
@@ -145,7 +145,7 @@ TEST(GaugeMetricProducerTest, TestWithCondition) {
                return true;
            }));

    GaugeMetricProducer gaugeProducer(kConfigKey, metric, 1, wizard, tagId, tagId,
    GaugeMetricProducer gaugeProducer(kConfigKey, metric, 1, wizard, tagId,
                                      bucketStartTimeNs, pullerManager);

    gaugeProducer.onConditionChanged(true, bucketStartTimeNs + 8);
@@ -194,7 +194,7 @@ TEST(GaugeMetricProducerTest, TestAnomalyDetection) {
    gaugeFieldMatcher->set_field(tagId);
    gaugeFieldMatcher->add_child()->set_field(2);
    GaugeMetricProducer gaugeProducer(kConfigKey, metric, -1 /*-1 meaning no condition*/, wizard,
                                      tagId, tagId, bucketStartTimeNs, pullerManager);
                                      tagId, bucketStartTimeNs, pullerManager);

    Alert alert;
    alert.set_id(101);