Benchmarks for network metrics reporting

Bug: 29748723
Test: this is an APCT test.

(cherry picked from commit 484dac1d071c7476895c4a3184e8dbdd7b63e524)

Change-Id: I482a7d5c15210906069e0fe7ef55ab3f21bfc127
diff --git a/server/NetworkController.h b/server/NetworkController.h
index 195cdbd..ac044e3 100644
--- a/server/NetworkController.h
+++ b/server/NetworkController.h
@@ -22,6 +22,7 @@
 
 #include "utils/RWLock.h"
 
+#include <atomic>
 #include <list>
 #include <map>
 #include <set>
@@ -93,6 +94,9 @@
 
     void dump(DumpWriter& dw);
 
+    int setMetricsReportingLevel(const int level);
+    int getMetricsReportingLevel() const;
+
 private:
     bool isValidNetwork(unsigned netId) const;
     Network* getNetworkLocked(unsigned netId) const;
@@ -113,6 +117,8 @@
     std::map<unsigned, Network*> mNetworks;  // Map keys are NetIds.
     std::map<uid_t, Permission> mUsers;
     std::set<uid_t> mProtectableUsers;
+    std::atomic_int mReportingLevel{1};
+
 };
 
 #endif  // NETD_SERVER_NETWORK_CONTROLLER_H