fix metric hub when called with periodicity other than 1s

This commit is contained in:
Andre Puschmann 2017-10-18 15:00:07 +02:00
parent 5509262f54
commit 29b9b6001b
1 changed files with 6 additions and 5 deletions

View File

@ -34,8 +34,9 @@ public:
metrics_hub() { metrics_hub() {
m = NULL; m = NULL;
} }
bool init(metrics_interface<metrics_t> *m_, float report_period_secs=1.0) { bool init(metrics_interface<metrics_t> *m_, float report_period_secs_=1.0) {
m = m_; m = m_;
report_period_secs = report_period_secs_;
start_periodic(report_period_secs*1e6); start_periodic(report_period_secs*1e6);
return true; return true;
} }
@ -55,13 +56,13 @@ private:
bzero(&metric, sizeof(metrics_t)); bzero(&metric, sizeof(metrics_t));
m->get_metrics(metric); m->get_metrics(metric);
for (uint32_t i=0;i<listeners.size();i++) { for (uint32_t i=0;i<listeners.size();i++) {
listeners[i]->set_metrics(metric); listeners[i]->set_metrics(metric, report_period_secs);
} }
} }
} }
metrics_interface<metrics_t> *m; metrics_interface<metrics_t> *m;
std::vector<metrics_listener<metrics_t>*> listeners; std::vector<metrics_listener<metrics_t>*> listeners;
float report_period_secs;
}; };
} // namespace srslte } // namespace srslte