Implement a logic to rate limitted flush statsd with by checking the
size of each MetricsProducer's. The implementation of byteSize() method
is still TBD as it depends on migration to ProtoOutputStream.

Test: statsd, statsd_test
Change-Id: I966606044d7cb814dabe94192bacecad91f28177
diff --git a/cmds/statsd/src/metrics/MetricsManager.cpp b/cmds/statsd/src/metrics/MetricsManager.cpp
index 1ffa58b..4fa3965 100644
--- a/cmds/statsd/src/metrics/MetricsManager.cpp
+++ b/cmds/statsd/src/metrics/MetricsManager.cpp
@@ -150,6 +150,15 @@
     }
 }
 
+// Returns the total byte size of all metrics managed by a single config source.
+size_t MetricsManager::byteSize() {
+    size_t totalSize = 0;
+    for (auto metricProducer : mAllMetricProducers) {
+        totalSize += metricProducer->byteSize();
+    }
+    return totalSize;
+}
+
 }  // namespace statsd
 }  // namespace os
 }  // namespace android