Add StatsdStats and guardrail.
+ StatsdStats is the global class that tracks the stats about statsd.
+ Added guardrail for classes that have a map which could potentially grow
unboundedly with the number of logs.
TODO: add unit tests & CTS for StatsdStats, and guardrail
add stats for pulled atoms.
Test: statsd_test
Change-Id: I0ea562de4dd3f6162f7923a9c193420b482c1d51
diff --git a/cmds/statsd/src/metrics/MetricProducer.h b/cmds/statsd/src/metrics/MetricProducer.h
index ddccf9a..b22ff6f 100644
--- a/cmds/statsd/src/metrics/MetricProducer.h
+++ b/cmds/statsd/src/metrics/MetricProducer.h
@@ -19,6 +19,7 @@
#include "anomaly/AnomalyTracker.h"
#include "condition/ConditionWizard.h"
+#include "config/ConfigKey.h"
#include "matchers/matcher_util.h"
#include "packages/PackageInfoListener.h"
@@ -35,9 +36,10 @@
// be a no-op.
class MetricProducer : public virtual PackageInfoListener {
public:
- MetricProducer(const int64_t startTimeNs, const int conditionIndex,
+ MetricProducer(const ConfigKey& key, const int64_t startTimeNs, const int conditionIndex,
const sp<ConditionWizard>& wizard)
- : mStartTimeNs(startTimeNs),
+ : mConfigKey(key),
+ mStartTimeNs(startTimeNs),
mCurrentBucketStartTimeNs(startTimeNs),
mCurrentBucketNum(0),
mCondition(conditionIndex >= 0 ? false : true),
@@ -83,6 +85,8 @@
}
protected:
+ const ConfigKey mConfigKey;
+
const uint64_t mStartTimeNs;
uint64_t mCurrentBucketStartTimeNs;