Further reduce statsd memory usage.
+ Remove the protobuf *Metric object from MetricProducers
-- This saves ~150 bytes per metric.
+ Remove the StatsdConfig from ConfigManager
-- This saves us xKB per config.
+ Also remove alerts from fake config to avoid crash (Bug: 70627390)
+ Other misc fixes too.
Test: statsd_test & manual
Change-Id: Ied4eb3fa31c50599817b3a5e1caf5077c487fad2
diff --git a/cmds/statsd/src/metrics/MetricProducer.h b/cmds/statsd/src/metrics/MetricProducer.h
index 269bd43..d4a2195 100644
--- a/cmds/statsd/src/metrics/MetricProducer.h
+++ b/cmds/statsd/src/metrics/MetricProducer.h
@@ -38,9 +38,10 @@
// be a no-op.
class MetricProducer : public virtual PackageInfoListener {
public:
- MetricProducer(const ConfigKey& key, const int64_t startTimeNs, const int conditionIndex,
- const sp<ConditionWizard>& wizard)
- : mConfigKey(key),
+ MetricProducer(const std::string& name, const ConfigKey& key, const int64_t startTimeNs,
+ const int conditionIndex, const sp<ConditionWizard>& wizard)
+ : mName(name),
+ mConfigKey(key),
mStartTimeNs(startTimeNs),
mCurrentBucketStartTimeNs(startTimeNs),
mCurrentBucketNum(0),
@@ -108,6 +109,8 @@
android::util::ProtoOutputStream* protoOutput) = 0;
virtual size_t byteSizeLocked() const = 0;
+ const std::string mName;
+
const ConfigKey mConfigKey;
// The start time for the current in memory metrics data.