std::map<std::string, std::list<std::pair<DNSName, unsigned int>>> smtData;
};
+ /* Protects s_topNMGsByReason and s_topSMTsByReason. s_metricsData should only be accessed
+ by the dynamic blocks maintenance thread so it does not need a lock. */
static std::mutex s_topsMutex;
// need N+1 datapoints to be able to do the diff after a collection point has been reached
static std::list<MetricsSnapshot> s_metricsData;
snapshot.smtData = getTopSuffixes(s_topN * 5);
snapshot.nmgData = getTopNetmasks(s_topN * 5);
- {
- std::lock_guard<std::mutex> lock(s_topsMutex);
- if (s_metricsData.size() >= 7) {
- s_metricsData.pop_front();
- }
- s_metricsData.push_back(std::move(snapshot));
+ if (s_metricsData.size() >= 7) {
+ s_metricsData.pop_front();
}
+ s_metricsData.push_back(std::move(snapshot));
}
void DynBlockMaintenance::generateMetrics()