summaryrefslogtreecommitdiff
path: root/cmds/statsd/src/metrics/MetricsManager.cpp
diff options
context:
space:
mode:
authortsaichristine <tsaichristine@google.com>2019-10-07 14:47:38 -0700
committertsaichristine <tsaichristine@google.com>2019-10-14 16:04:00 -0700
commitd21aacffedddc6b710001ddb29e73caf75b28cd1 (patch)
tree50b262365a173da0d00f5e3263f7c59a566a32c9 /cmds/statsd/src/metrics/MetricsManager.cpp
parent30f59237f2cf8c661f506e2eed2782c91bf4c78c (diff)
Take 2: Integrate StateTracker into statsd
Changes in this CL compared to previous StateTracker version: - MetricsManager parses StatsdConfig for State information and updates MetricProducers accordingly - MetricProducer implements StateListener - MetricProducer has a list of atom ids of its slice_by_states and any state maps from these states. MetricProducers are responsible for handling the conversion from original state value to mapped state value. - More unit tests added and e2e CountMetric test added Test: bit statsd_test:* Bug: 136566566 Change-Id: I07ce468733a1affcadf2be0206e081fddbbce4c5
Diffstat (limited to 'cmds/statsd/src/metrics/MetricsManager.cpp')
-rw-r--r--cmds/statsd/src/metrics/MetricsManager.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/cmds/statsd/src/metrics/MetricsManager.cpp b/cmds/statsd/src/metrics/MetricsManager.cpp
index 963205ee56f4..7bae4b929b48 100644
--- a/cmds/statsd/src/metrics/MetricsManager.cpp
+++ b/cmds/statsd/src/metrics/MetricsManager.cpp
@@ -15,8 +15,12 @@
*/
#define DEBUG false // STOPSHIP if true
#include "Log.h"
+
#include "MetricsManager.h"
-#include "statslog.h"
+
+#include <log/logprint.h>
+#include <private/android_filesystem_config.h>
+#include <utils/SystemClock.h>
#include "CountMetricProducer.h"
#include "condition/CombinationConditionTracker.h"
@@ -25,12 +29,10 @@
#include "matchers/CombinationLogMatchingTracker.h"
#include "matchers/SimpleLogMatchingTracker.h"
#include "metrics_manager_util.h"
-#include "stats_util.h"
+#include "state/StateManager.h"
#include "stats_log_util.h"
-
-#include <log/logprint.h>
-#include <private/android_filesystem_config.h>
-#include <utils/SystemClock.h>
+#include "stats_util.h"
+#include "statslog.h"
using android::util::FIELD_COUNT_REPEATED;
using android::util::FIELD_TYPE_INT32;
@@ -149,6 +151,12 @@ MetricsManager::MetricsManager(const ConfigKey& key, const StatsdConfig& config,
}
MetricsManager::~MetricsManager() {
+ for (auto it : mAllMetricProducers) {
+ for (int atomId : it->getSlicedStateAtoms()) {
+ StateManager::getInstance().unregisterListener(atomId, it);
+ }
+ }
+
VLOG("~MetricsManager()");
}