Merge changes I7127dd7d,I84da0cd9 into rvc-dev am: 1bd7fe106a am: 1692eca8b8 am: ffe5ca6455
Change-Id: I197ce5346843a83d4dde1f1f611f8cdc83f82851
This commit is contained in:
@@ -97,6 +97,7 @@ cc_defaults {
|
|||||||
"src/stats_log_util.cpp",
|
"src/stats_log_util.cpp",
|
||||||
"src/statscompanion_util.cpp",
|
"src/statscompanion_util.cpp",
|
||||||
"src/statsd_config.proto",
|
"src/statsd_config.proto",
|
||||||
|
"src/statsd_metadata.proto",
|
||||||
"src/StatsLogProcessor.cpp",
|
"src/StatsLogProcessor.cpp",
|
||||||
"src/StatsService.cpp",
|
"src/StatsService.cpp",
|
||||||
"src/storage/StorageManager.cpp",
|
"src/storage/StorageManager.cpp",
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ MetricsManager::MetricsManager(const ConfigKey& key, const StatsdConfig& config,
|
|||||||
mAllMetricProducers, mAllAnomalyTrackers, mAllPeriodicAlarmTrackers,
|
mAllMetricProducers, mAllAnomalyTrackers, mAllPeriodicAlarmTrackers,
|
||||||
mConditionToMetricMap, mTrackerToMetricMap, mTrackerToConditionMap,
|
mConditionToMetricMap, mTrackerToMetricMap, mTrackerToConditionMap,
|
||||||
mActivationAtomTrackerToMetricMap, mDeactivationAtomTrackerToMetricMap,
|
mActivationAtomTrackerToMetricMap, mDeactivationAtomTrackerToMetricMap,
|
||||||
mMetricIndexesWithActivation, mNoReportMetricIds);
|
mAlertTrackerMap, mMetricIndexesWithActivation, mNoReportMetricIds);
|
||||||
|
|
||||||
mHashStringsInReport = config.hash_strings_in_metric_report();
|
mHashStringsInReport = config.hash_strings_in_metric_report();
|
||||||
mVersionStringsInReport = config.version_strings_in_metric_report();
|
mVersionStringsInReport = config.version_strings_in_metric_report();
|
||||||
|
|||||||
@@ -230,6 +230,10 @@ private:
|
|||||||
// Maps deactivation triggering event to MetricProducers.
|
// Maps deactivation triggering event to MetricProducers.
|
||||||
std::unordered_map<int, std::vector<int>> mDeactivationAtomTrackerToMetricMap;
|
std::unordered_map<int, std::vector<int>> mDeactivationAtomTrackerToMetricMap;
|
||||||
|
|
||||||
|
// Maps AlertIds to the index of the corresponding AnomalyTracker stored in mAllAnomalyTrackers.
|
||||||
|
// The map is used in LoadMetadata to more efficiently lookup AnomalyTrackers from an AlertId.
|
||||||
|
std::unordered_map<int64_t, int> mAlertTrackerMap;
|
||||||
|
|
||||||
std::vector<int> mMetricIndexesWithActivation;
|
std::vector<int> mMetricIndexesWithActivation;
|
||||||
|
|
||||||
void initLogSourceWhiteList();
|
void initLogSourceWhiteList();
|
||||||
|
|||||||
@@ -830,10 +830,10 @@ bool initMetrics(const ConfigKey& key, const StatsdConfig& config, const int64_t
|
|||||||
|
|
||||||
bool initAlerts(const StatsdConfig& config,
|
bool initAlerts(const StatsdConfig& config,
|
||||||
const unordered_map<int64_t, int>& metricProducerMap,
|
const unordered_map<int64_t, int>& metricProducerMap,
|
||||||
|
unordered_map<int64_t, int>& alertTrackerMap,
|
||||||
const sp<AlarmMonitor>& anomalyAlarmMonitor,
|
const sp<AlarmMonitor>& anomalyAlarmMonitor,
|
||||||
vector<sp<MetricProducer>>& allMetricProducers,
|
vector<sp<MetricProducer>>& allMetricProducers,
|
||||||
vector<sp<AnomalyTracker>>& allAnomalyTrackers) {
|
vector<sp<AnomalyTracker>>& allAnomalyTrackers) {
|
||||||
unordered_map<int64_t, int> anomalyTrackerMap;
|
|
||||||
for (int i = 0; i < config.alert_size(); i++) {
|
for (int i = 0; i < config.alert_size(); i++) {
|
||||||
const Alert& alert = config.alert(i);
|
const Alert& alert = config.alert(i);
|
||||||
const auto& itr = metricProducerMap.find(alert.metric_id());
|
const auto& itr = metricProducerMap.find(alert.metric_id());
|
||||||
@@ -858,7 +858,7 @@ bool initAlerts(const StatsdConfig& config,
|
|||||||
// The ALOGW for this invalid alert was already displayed in addAnomalyTracker().
|
// The ALOGW for this invalid alert was already displayed in addAnomalyTracker().
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
anomalyTrackerMap.insert(std::make_pair(alert.id(), allAnomalyTrackers.size()));
|
alertTrackerMap.insert(std::make_pair(alert.id(), allAnomalyTrackers.size()));
|
||||||
allAnomalyTrackers.push_back(anomalyTracker);
|
allAnomalyTrackers.push_back(anomalyTracker);
|
||||||
}
|
}
|
||||||
for (int i = 0; i < config.subscription_size(); ++i) {
|
for (int i = 0; i < config.subscription_size(); ++i) {
|
||||||
@@ -872,8 +872,8 @@ bool initAlerts(const StatsdConfig& config,
|
|||||||
(long long)subscription.id());
|
(long long)subscription.id());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
const auto& itr = anomalyTrackerMap.find(subscription.rule_id());
|
const auto& itr = alertTrackerMap.find(subscription.rule_id());
|
||||||
if (itr == anomalyTrackerMap.end()) {
|
if (itr == alertTrackerMap.end()) {
|
||||||
ALOGW("subscription \"%lld\" has unknown rule id: \"%lld\"",
|
ALOGW("subscription \"%lld\" has unknown rule id: \"%lld\"",
|
||||||
(long long)subscription.id(), (long long)subscription.rule_id());
|
(long long)subscription.id(), (long long)subscription.rule_id());
|
||||||
return false;
|
return false;
|
||||||
@@ -944,6 +944,7 @@ bool initStatsdConfig(const ConfigKey& key, const StatsdConfig& config, UidMap&
|
|||||||
unordered_map<int, std::vector<int>>& trackerToConditionMap,
|
unordered_map<int, std::vector<int>>& trackerToConditionMap,
|
||||||
unordered_map<int, std::vector<int>>& activationAtomTrackerToMetricMap,
|
unordered_map<int, std::vector<int>>& activationAtomTrackerToMetricMap,
|
||||||
unordered_map<int, std::vector<int>>& deactivationAtomTrackerToMetricMap,
|
unordered_map<int, std::vector<int>>& deactivationAtomTrackerToMetricMap,
|
||||||
|
unordered_map<int64_t, int>& alertTrackerMap,
|
||||||
vector<int>& metricsWithActivation,
|
vector<int>& metricsWithActivation,
|
||||||
std::set<int64_t>& noReportMetricIds) {
|
std::set<int64_t>& noReportMetricIds) {
|
||||||
unordered_map<int64_t, int> logTrackerMap;
|
unordered_map<int64_t, int> logTrackerMap;
|
||||||
@@ -976,8 +977,8 @@ bool initStatsdConfig(const ConfigKey& key, const StatsdConfig& config, UidMap&
|
|||||||
ALOGE("initMetricProducers failed");
|
ALOGE("initMetricProducers failed");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!initAlerts(config, metricProducerMap, anomalyAlarmMonitor, allMetricProducers,
|
if (!initAlerts(config, metricProducerMap, alertTrackerMap, anomalyAlarmMonitor,
|
||||||
allAnomalyTrackers)) {
|
allMetricProducers, allAnomalyTrackers)) {
|
||||||
ALOGE("initAlerts failed");
|
ALOGE("initAlerts failed");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ bool initStatsdConfig(const ConfigKey& key, const StatsdConfig& config, UidMap&
|
|||||||
std::unordered_map<int, std::vector<int>>& trackerToConditionMap,
|
std::unordered_map<int, std::vector<int>>& trackerToConditionMap,
|
||||||
unordered_map<int, std::vector<int>>& activationAtomTrackerToMetricMap,
|
unordered_map<int, std::vector<int>>& activationAtomTrackerToMetricMap,
|
||||||
unordered_map<int, std::vector<int>>& deactivationAtomTrackerToMetricMap,
|
unordered_map<int, std::vector<int>>& deactivationAtomTrackerToMetricMap,
|
||||||
|
std::unordered_map<int64_t, int>& alertTrackerMap,
|
||||||
vector<int>& metricsWithActivation,
|
vector<int>& metricsWithActivation,
|
||||||
std::set<int64_t>& noReportMetricIds);
|
std::set<int64_t>& noReportMetricIds);
|
||||||
|
|
||||||
|
|||||||
63
cmds/statsd/src/statsd_metadata.proto
Normal file
63
cmds/statsd/src/statsd_metadata.proto
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2020 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package android.os.statsd.metadata;
|
||||||
|
|
||||||
|
message ConfigKey {
|
||||||
|
optional int64 config_id = 1;
|
||||||
|
optional int32 uid = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message Field {
|
||||||
|
optional int32 tag = 1;
|
||||||
|
optional int32 field = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message FieldValue {
|
||||||
|
optional Field field = 1;
|
||||||
|
oneof value {
|
||||||
|
int32 value_int = 2;
|
||||||
|
int64 value_long = 3;
|
||||||
|
float value_float = 4;
|
||||||
|
double value_double = 5;
|
||||||
|
string value_str = 6;
|
||||||
|
bytes value_storage = 7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
message MetricDimensionKey {
|
||||||
|
repeated FieldValue dimension_key_in_what = 1;
|
||||||
|
repeated FieldValue state_values_key = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message AlertMetadata {
|
||||||
|
optional int64 alert_id = 1;
|
||||||
|
// The earliest time the alert can be fired again in wall clock time.
|
||||||
|
optional int32 last_refractory_ends_sec = 2;
|
||||||
|
optional MetricDimensionKey dimension_key = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
// All metadata for a config in statsd
|
||||||
|
message StatsMetadata {
|
||||||
|
optional ConfigKey config_key = 1;
|
||||||
|
repeated AlertMetadata alert_metadata = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message StatsMetadataList {
|
||||||
|
repeated StatsMetadata stats_metadata = 1;
|
||||||
|
}
|
||||||
@@ -40,6 +40,7 @@ using android::os::statsd::Predicate;
|
|||||||
#ifdef __ANDROID__
|
#ifdef __ANDROID__
|
||||||
|
|
||||||
const ConfigKey kConfigKey(0, 12345);
|
const ConfigKey kConfigKey(0, 12345);
|
||||||
|
const long kAlertId = 3;
|
||||||
|
|
||||||
const long timeBaseSec = 1000;
|
const long timeBaseSec = 1000;
|
||||||
|
|
||||||
@@ -85,7 +86,7 @@ StatsdConfig buildGoodConfig() {
|
|||||||
config.add_no_report_metric(3);
|
config.add_no_report_metric(3);
|
||||||
|
|
||||||
auto alert = config.add_alert();
|
auto alert = config.add_alert();
|
||||||
alert->set_id(3);
|
alert->set_id(kAlertId);
|
||||||
alert->set_metric_id(3);
|
alert->set_metric_id(3);
|
||||||
alert->set_num_buckets(10);
|
alert->set_num_buckets(10);
|
||||||
alert->set_refractory_period_secs(100);
|
alert->set_refractory_period_secs(100);
|
||||||
@@ -218,7 +219,7 @@ StatsdConfig buildDimensionMetricsWithMultiTags() {
|
|||||||
metric->mutable_dimensions_in_what()->add_child()->set_field(1);
|
metric->mutable_dimensions_in_what()->add_child()->set_field(1);
|
||||||
|
|
||||||
auto alert = config.add_alert();
|
auto alert = config.add_alert();
|
||||||
alert->set_id(103);
|
alert->set_id(kAlertId);
|
||||||
alert->set_metric_id(3);
|
alert->set_metric_id(3);
|
||||||
alert->set_num_buckets(10);
|
alert->set_num_buckets(10);
|
||||||
alert->set_refractory_period_secs(100);
|
alert->set_refractory_period_secs(100);
|
||||||
@@ -284,6 +285,7 @@ TEST(MetricsManagerTest, TestGoodConfig) {
|
|||||||
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
||||||
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
||||||
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
||||||
|
unordered_map<int64_t, int> alertTrackerMap;
|
||||||
vector<int> metricsWithActivation;
|
vector<int> metricsWithActivation;
|
||||||
std::set<int64_t> noReportMetricIds;
|
std::set<int64_t> noReportMetricIds;
|
||||||
|
|
||||||
@@ -293,10 +295,14 @@ TEST(MetricsManagerTest, TestGoodConfig) {
|
|||||||
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
||||||
trackerToMetricMap, trackerToConditionMap,
|
trackerToMetricMap, trackerToConditionMap,
|
||||||
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
||||||
metricsWithActivation, noReportMetricIds));
|
alertTrackerMap, metricsWithActivation,
|
||||||
|
noReportMetricIds));
|
||||||
EXPECT_EQ(1u, allMetricProducers.size());
|
EXPECT_EQ(1u, allMetricProducers.size());
|
||||||
EXPECT_EQ(1u, allAnomalyTrackers.size());
|
EXPECT_EQ(1u, allAnomalyTrackers.size());
|
||||||
EXPECT_EQ(1u, noReportMetricIds.size());
|
EXPECT_EQ(1u, noReportMetricIds.size());
|
||||||
|
EXPECT_EQ(1u, alertTrackerMap.size());
|
||||||
|
EXPECT_NE(alertTrackerMap.find(kAlertId), alertTrackerMap.end());
|
||||||
|
EXPECT_EQ(alertTrackerMap.find(kAlertId)->second, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(MetricsManagerTest, TestDimensionMetricsWithMultiTags) {
|
TEST(MetricsManagerTest, TestDimensionMetricsWithMultiTags) {
|
||||||
@@ -316,6 +322,7 @@ TEST(MetricsManagerTest, TestDimensionMetricsWithMultiTags) {
|
|||||||
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
||||||
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
||||||
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
||||||
|
unordered_map<int64_t, int> alertTrackerMap;
|
||||||
vector<int> metricsWithActivation;
|
vector<int> metricsWithActivation;
|
||||||
std::set<int64_t> noReportMetricIds;
|
std::set<int64_t> noReportMetricIds;
|
||||||
|
|
||||||
@@ -325,7 +332,8 @@ TEST(MetricsManagerTest, TestDimensionMetricsWithMultiTags) {
|
|||||||
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
||||||
trackerToMetricMap, trackerToConditionMap,
|
trackerToMetricMap, trackerToConditionMap,
|
||||||
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
||||||
metricsWithActivation, noReportMetricIds));
|
alertTrackerMap, metricsWithActivation,
|
||||||
|
noReportMetricIds));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(MetricsManagerTest, TestCircleLogMatcherDependency) {
|
TEST(MetricsManagerTest, TestCircleLogMatcherDependency) {
|
||||||
@@ -345,6 +353,7 @@ TEST(MetricsManagerTest, TestCircleLogMatcherDependency) {
|
|||||||
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
||||||
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
||||||
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
||||||
|
unordered_map<int64_t, int> alertTrackerMap;
|
||||||
vector<int> metricsWithActivation;
|
vector<int> metricsWithActivation;
|
||||||
std::set<int64_t> noReportMetricIds;
|
std::set<int64_t> noReportMetricIds;
|
||||||
|
|
||||||
@@ -354,7 +363,8 @@ TEST(MetricsManagerTest, TestCircleLogMatcherDependency) {
|
|||||||
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
||||||
trackerToMetricMap, trackerToConditionMap,
|
trackerToMetricMap, trackerToConditionMap,
|
||||||
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
||||||
metricsWithActivation, noReportMetricIds));
|
alertTrackerMap, metricsWithActivation,
|
||||||
|
noReportMetricIds));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(MetricsManagerTest, TestMissingMatchers) {
|
TEST(MetricsManagerTest, TestMissingMatchers) {
|
||||||
@@ -374,6 +384,7 @@ TEST(MetricsManagerTest, TestMissingMatchers) {
|
|||||||
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
||||||
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
||||||
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
||||||
|
unordered_map<int64_t, int> alertTrackerMap;
|
||||||
vector<int> metricsWithActivation;
|
vector<int> metricsWithActivation;
|
||||||
std::set<int64_t> noReportMetricIds;
|
std::set<int64_t> noReportMetricIds;
|
||||||
EXPECT_FALSE(initStatsdConfig(kConfigKey, config, uidMap, pullerManager, anomalyAlarmMonitor,
|
EXPECT_FALSE(initStatsdConfig(kConfigKey, config, uidMap, pullerManager, anomalyAlarmMonitor,
|
||||||
@@ -382,7 +393,8 @@ TEST(MetricsManagerTest, TestMissingMatchers) {
|
|||||||
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
||||||
trackerToMetricMap, trackerToConditionMap,
|
trackerToMetricMap, trackerToConditionMap,
|
||||||
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
||||||
metricsWithActivation, noReportMetricIds));
|
alertTrackerMap, metricsWithActivation,
|
||||||
|
noReportMetricIds));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(MetricsManagerTest, TestMissingPredicate) {
|
TEST(MetricsManagerTest, TestMissingPredicate) {
|
||||||
@@ -402,6 +414,7 @@ TEST(MetricsManagerTest, TestMissingPredicate) {
|
|||||||
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
||||||
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
||||||
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
||||||
|
unordered_map<int64_t, int> alertTrackerMap;
|
||||||
vector<int> metricsWithActivation;
|
vector<int> metricsWithActivation;
|
||||||
std::set<int64_t> noReportMetricIds;
|
std::set<int64_t> noReportMetricIds;
|
||||||
EXPECT_FALSE(initStatsdConfig(kConfigKey, config, uidMap, pullerManager, anomalyAlarmMonitor,
|
EXPECT_FALSE(initStatsdConfig(kConfigKey, config, uidMap, pullerManager, anomalyAlarmMonitor,
|
||||||
@@ -410,7 +423,7 @@ TEST(MetricsManagerTest, TestMissingPredicate) {
|
|||||||
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
||||||
trackerToMetricMap, trackerToConditionMap,
|
trackerToMetricMap, trackerToConditionMap,
|
||||||
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
||||||
metricsWithActivation, noReportMetricIds));
|
alertTrackerMap, metricsWithActivation, noReportMetricIds));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(MetricsManagerTest, TestCirclePredicateDependency) {
|
TEST(MetricsManagerTest, TestCirclePredicateDependency) {
|
||||||
@@ -430,6 +443,7 @@ TEST(MetricsManagerTest, TestCirclePredicateDependency) {
|
|||||||
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
||||||
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
||||||
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
||||||
|
unordered_map<int64_t, int> alertTrackerMap;
|
||||||
vector<int> metricsWithActivation;
|
vector<int> metricsWithActivation;
|
||||||
std::set<int64_t> noReportMetricIds;
|
std::set<int64_t> noReportMetricIds;
|
||||||
|
|
||||||
@@ -439,7 +453,8 @@ TEST(MetricsManagerTest, TestCirclePredicateDependency) {
|
|||||||
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
||||||
trackerToMetricMap, trackerToConditionMap,
|
trackerToMetricMap, trackerToConditionMap,
|
||||||
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
||||||
metricsWithActivation, noReportMetricIds));
|
alertTrackerMap, metricsWithActivation,
|
||||||
|
noReportMetricIds));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(MetricsManagerTest, testAlertWithUnknownMetric) {
|
TEST(MetricsManagerTest, testAlertWithUnknownMetric) {
|
||||||
@@ -459,6 +474,7 @@ TEST(MetricsManagerTest, testAlertWithUnknownMetric) {
|
|||||||
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
unordered_map<int, std::vector<int>> trackerToConditionMap;
|
||||||
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> activationAtomTrackerToMetricMap;
|
||||||
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
unordered_map<int, std::vector<int>> deactivationAtomTrackerToMetricMap;
|
||||||
|
unordered_map<int64_t, int> alertTrackerMap;
|
||||||
vector<int> metricsWithActivation;
|
vector<int> metricsWithActivation;
|
||||||
std::set<int64_t> noReportMetricIds;
|
std::set<int64_t> noReportMetricIds;
|
||||||
|
|
||||||
@@ -468,7 +484,8 @@ TEST(MetricsManagerTest, testAlertWithUnknownMetric) {
|
|||||||
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
allAnomalyTrackers, allAlarmTrackers, conditionToMetricMap,
|
||||||
trackerToMetricMap, trackerToConditionMap,
|
trackerToMetricMap, trackerToConditionMap,
|
||||||
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
activationAtomTrackerToMetricMap, deactivationAtomTrackerToMetricMap,
|
||||||
metricsWithActivation, noReportMetricIds));
|
alertTrackerMap, metricsWithActivation,
|
||||||
|
noReportMetricIds));
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user