summaryrefslogtreecommitdiff
path: root/cmds/statsd/src/metrics/MetricsManager.cpp
diff options
context:
space:
mode:
authorBookatz <bookatz@google.com>2018-02-13 12:26:01 -0800
committerBookatz <bookatz@google.com>2018-02-14 13:56:25 -0800
commit1476ef24f33fd9ff7d0e748f61cc964723e6bb1c (patch)
tree01ddd8cce2a2edbfdecb9146ceed6e292ca99e7d /cmds/statsd/src/metrics/MetricsManager.cpp
parent07b2dbc2c54d3b436791ea532d5c0d70a3281574 (diff)
Statsd guardrail for Alerts
Now, each config is allowed at most 100 Alerts in it. That is, for each uid, for each config id, the config's alert section can have at most 100 items in it. Bug: 73287046 Test: none yet Change-Id: I2c81bc647627e432337c359c0a76aa3fc08bdd23
Diffstat (limited to 'cmds/statsd/src/metrics/MetricsManager.cpp')
-rw-r--r--cmds/statsd/src/metrics/MetricsManager.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/cmds/statsd/src/metrics/MetricsManager.cpp b/cmds/statsd/src/metrics/MetricsManager.cpp
index 66e1aeb8f43e..ddc05c64415a 100644
--- a/cmds/statsd/src/metrics/MetricsManager.cpp
+++ b/cmds/statsd/src/metrics/MetricsManager.cpp
@@ -92,8 +92,10 @@ MetricsManager::MetricsManager(const ConfigKey& key, const StatsdConfig& config,
ALOGE("This config is too big! Reject!");
mConfigValid = false;
}
-
- // TODO: add alert size.
+ if (mAllAnomalyTrackers.size() > StatsdStats::kMaxAlertCountPerConfig) {
+ ALOGE("This config has too many alerts! Reject!");
+ mConfigValid = false;
+ }
// no matter whether this config is valid, log it in the stats.
StatsdStats::getInstance().noteConfigReceived(key, mAllMetricProducers.size(),
mAllConditionTrackers.size(),