Loading cmds/statsd/Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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", Loading cmds/statsd/src/metrics/MetricsManager.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -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(); Loading cmds/statsd/src/metrics/MetricsManager.h +4 −0 Original line number Original line Diff line number Diff line Loading @@ -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(); Loading cmds/statsd/src/metrics/metrics_manager_util.cpp +7 −6 Original line number Original line Diff line number Diff line Loading @@ -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()); Loading @@ -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) { Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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; } } Loading cmds/statsd/src/metrics/metrics_manager_util.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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); Loading Loading
cmds/statsd/Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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", Loading
cmds/statsd/src/metrics/MetricsManager.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -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(); Loading
cmds/statsd/src/metrics/MetricsManager.h +4 −0 Original line number Original line Diff line number Diff line Loading @@ -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(); Loading
cmds/statsd/src/metrics/metrics_manager_util.cpp +7 −6 Original line number Original line Diff line number Diff line Loading @@ -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()); Loading @@ -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) { Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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; } } Loading
cmds/statsd/src/metrics/metrics_manager_util.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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); Loading