Loading cmds/statsd/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,7 @@ cc_defaults { "src/stats_log_util.cpp", "src/statscompanion_util.cpp", "src/statsd_config.proto", "src/statsd_metadata.proto", "src/StatsLogProcessor.cpp", "src/StatsService.cpp", "src/storage/StorageManager.cpp", Loading cmds/statsd/src/metrics/MetricsManager.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -80,7 +80,7 @@ MetricsManager::MetricsManager(const ConfigKey& key, const StatsdConfig& config, mAllMetricProducers, mAllAnomalyTrackers, mAllPeriodicAlarmTrackers, mConditionToMetricMap, mTrackerToMetricMap, mTrackerToConditionMap, mActivationAtomTrackerToMetricMap, mDeactivationAtomTrackerToMetricMap, mMetricIndexesWithActivation, mNoReportMetricIds); mAlertTrackerMap, mMetricIndexesWithActivation, mNoReportMetricIds); mHashStringsInReport = config.hash_strings_in_metric_report(); mVersionStringsInReport = config.version_strings_in_metric_report(); Loading cmds/statsd/src/metrics/MetricsManager.h +4 −0 Original line number Diff line number Diff line Loading @@ -230,6 +230,10 @@ private: // Maps deactivation triggering event to MetricProducers. 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; void initLogSourceWhiteList(); Loading cmds/statsd/src/metrics/metrics_manager_util.cpp +7 −6 Original line number 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, const unordered_map<int64_t, int>& metricProducerMap, unordered_map<int64_t, int>& alertTrackerMap, const sp<AlarmMonitor>& anomalyAlarmMonitor, vector<sp<MetricProducer>>& allMetricProducers, vector<sp<AnomalyTracker>>& allAnomalyTrackers) { unordered_map<int64_t, int> anomalyTrackerMap; for (int i = 0; i < config.alert_size(); i++) { const Alert& alert = config.alert(i); 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(). return false; } anomalyTrackerMap.insert(std::make_pair(alert.id(), allAnomalyTrackers.size())); alertTrackerMap.insert(std::make_pair(alert.id(), allAnomalyTrackers.size())); allAnomalyTrackers.push_back(anomalyTracker); } for (int i = 0; i < config.subscription_size(); ++i) { Loading @@ -872,8 +872,8 @@ bool initAlerts(const StatsdConfig& config, (long long)subscription.id()); return false; } const auto& itr = anomalyTrackerMap.find(subscription.rule_id()); if (itr == anomalyTrackerMap.end()) { const auto& itr = alertTrackerMap.find(subscription.rule_id()); if (itr == alertTrackerMap.end()) { ALOGW("subscription \"%lld\" has unknown rule id: \"%lld\"", (long long)subscription.id(), (long long)subscription.rule_id()); 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>>& activationAtomTrackerToMetricMap, unordered_map<int, std::vector<int>>& deactivationAtomTrackerToMetricMap, unordered_map<int64_t, int>& alertTrackerMap, vector<int>& metricsWithActivation, std::set<int64_t>& noReportMetricIds) { unordered_map<int64_t, int> logTrackerMap; Loading Loading @@ -976,8 +977,8 @@ bool initStatsdConfig(const ConfigKey& key, const StatsdConfig& config, UidMap& ALOGE("initMetricProducers failed"); return false; } if (!initAlerts(config, metricProducerMap, anomalyAlarmMonitor, allMetricProducers, allAnomalyTrackers)) { if (!initAlerts(config, metricProducerMap, alertTrackerMap, anomalyAlarmMonitor, allMetricProducers, allAnomalyTrackers)) { ALOGE("initAlerts failed"); return false; } Loading cmds/statsd/src/metrics/metrics_manager_util.h +1 −0 Original line number 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, unordered_map<int, std::vector<int>>& activationAtomTrackerToMetricMap, unordered_map<int, std::vector<int>>& deactivationAtomTrackerToMetricMap, std::unordered_map<int64_t, int>& alertTrackerMap, vector<int>& metricsWithActivation, std::set<int64_t>& noReportMetricIds); Loading Loading
cmds/statsd/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,7 @@ cc_defaults { "src/stats_log_util.cpp", "src/statscompanion_util.cpp", "src/statsd_config.proto", "src/statsd_metadata.proto", "src/StatsLogProcessor.cpp", "src/StatsService.cpp", "src/storage/StorageManager.cpp", Loading
cmds/statsd/src/metrics/MetricsManager.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -80,7 +80,7 @@ MetricsManager::MetricsManager(const ConfigKey& key, const StatsdConfig& config, mAllMetricProducers, mAllAnomalyTrackers, mAllPeriodicAlarmTrackers, mConditionToMetricMap, mTrackerToMetricMap, mTrackerToConditionMap, mActivationAtomTrackerToMetricMap, mDeactivationAtomTrackerToMetricMap, mMetricIndexesWithActivation, mNoReportMetricIds); mAlertTrackerMap, mMetricIndexesWithActivation, mNoReportMetricIds); mHashStringsInReport = config.hash_strings_in_metric_report(); mVersionStringsInReport = config.version_strings_in_metric_report(); Loading
cmds/statsd/src/metrics/MetricsManager.h +4 −0 Original line number Diff line number Diff line Loading @@ -230,6 +230,10 @@ private: // Maps deactivation triggering event to MetricProducers. 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; void initLogSourceWhiteList(); Loading
cmds/statsd/src/metrics/metrics_manager_util.cpp +7 −6 Original line number 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, const unordered_map<int64_t, int>& metricProducerMap, unordered_map<int64_t, int>& alertTrackerMap, const sp<AlarmMonitor>& anomalyAlarmMonitor, vector<sp<MetricProducer>>& allMetricProducers, vector<sp<AnomalyTracker>>& allAnomalyTrackers) { unordered_map<int64_t, int> anomalyTrackerMap; for (int i = 0; i < config.alert_size(); i++) { const Alert& alert = config.alert(i); 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(). return false; } anomalyTrackerMap.insert(std::make_pair(alert.id(), allAnomalyTrackers.size())); alertTrackerMap.insert(std::make_pair(alert.id(), allAnomalyTrackers.size())); allAnomalyTrackers.push_back(anomalyTracker); } for (int i = 0; i < config.subscription_size(); ++i) { Loading @@ -872,8 +872,8 @@ bool initAlerts(const StatsdConfig& config, (long long)subscription.id()); return false; } const auto& itr = anomalyTrackerMap.find(subscription.rule_id()); if (itr == anomalyTrackerMap.end()) { const auto& itr = alertTrackerMap.find(subscription.rule_id()); if (itr == alertTrackerMap.end()) { ALOGW("subscription \"%lld\" has unknown rule id: \"%lld\"", (long long)subscription.id(), (long long)subscription.rule_id()); 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>>& activationAtomTrackerToMetricMap, unordered_map<int, std::vector<int>>& deactivationAtomTrackerToMetricMap, unordered_map<int64_t, int>& alertTrackerMap, vector<int>& metricsWithActivation, std::set<int64_t>& noReportMetricIds) { unordered_map<int64_t, int> logTrackerMap; Loading Loading @@ -976,8 +977,8 @@ bool initStatsdConfig(const ConfigKey& key, const StatsdConfig& config, UidMap& ALOGE("initMetricProducers failed"); return false; } if (!initAlerts(config, metricProducerMap, anomalyAlarmMonitor, allMetricProducers, allAnomalyTrackers)) { if (!initAlerts(config, metricProducerMap, alertTrackerMap, anomalyAlarmMonitor, allMetricProducers, allAnomalyTrackers)) { ALOGE("initAlerts failed"); return false; } Loading
cmds/statsd/src/metrics/metrics_manager_util.h +1 −0 Original line number 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, unordered_map<int, std::vector<int>>& activationAtomTrackerToMetricMap, unordered_map<int, std::vector<int>>& deactivationAtomTrackerToMetricMap, std::unordered_map<int64_t, int>& alertTrackerMap, vector<int>& metricsWithActivation, std::set<int64_t>& noReportMetricIds); Loading