diff --git a/src/corenetwork/statsCollector/BaseStationStatsCollector.cc b/src/corenetwork/statsCollector/BaseStationStatsCollector.cc index a5e22757f..1e76dc18a 100644 --- a/src/corenetwork/statsCollector/BaseStationStatsCollector.cc +++ b/src/corenetwork/statsCollector/BaseStationStatsCollector.cc @@ -124,6 +124,12 @@ void BaseStationStatsCollector::initialize(int stage){ scheduleAt(NOW + tPutPeriod_,tPut_); } } + + // statistics + dl_total_prb_ = registerSignal("DlTotalPRB"); + ul_total_prb_ = registerSignal("UlTotalPRB"); + num_ue_dl_nongbr_ = registerSignal("ActiveUsersDl"); + num_ue_ul_nongbr_ = registerSignal("ActiveUsersUl"); } @@ -293,6 +299,7 @@ void BaseStationStatsCollector::add_dl_total_prb_usage_cell() { double prb_usage = mac_->getUtilization(DL); EV << collectorType_ << "::add_dl_total_prb_usage_cell " << prb_usage << "%"<< endl; + emit(dl_total_prb_, prb_usage); dl_total_prb_usage_cell.addValue((int)prb_usage); } @@ -300,6 +307,7 @@ void BaseStationStatsCollector::add_ul_total_prb_usage_cell() { double prb_usage = mac_->getUtilization(UL); EV << collectorType_ << "::add_ul_total_prb_usage_cell " << prb_usage << "%"<< endl; + emit(ul_total_prb_, prb_usage); ul_total_prb_usage_cell.addValue((int)prb_usage); } @@ -307,6 +315,7 @@ void BaseStationStatsCollector::add_number_of_active_ue_dl_nongbr_cell() { int users = mac_->getActiveUesNumber(DL); EV << collectorType_ << "::add_number_of_active_ue_dl_nongbr_cell " << users << endl; + emit(num_ue_dl_nongbr_, users); number_of_active_ue_dl_nongbr_cell.addValue(users); } @@ -314,6 +323,7 @@ void BaseStationStatsCollector::add_number_of_active_ue_ul_nongbr_cell() { int users = mac_->getActiveUesNumber(UL); EV << collectorType_ << "::add_number_of_active_ue_ul_nongbr_cell " << users << endl; + emit(num_ue_ul_nongbr_, users); number_of_active_ue_ul_nongbr_cell.addValue(users); } diff --git a/src/corenetwork/statsCollector/BaseStationStatsCollector.h b/src/corenetwork/statsCollector/BaseStationStatsCollector.h index e095804f7..33b5a0f85 100644 --- a/src/corenetwork/statsCollector/BaseStationStatsCollector.h +++ b/src/corenetwork/statsCollector/BaseStationStatsCollector.h @@ -64,8 +64,11 @@ class BaseStationStatsCollector: public cSimpleModule L2MeasBase dl_nongbr_pdr_cell; L2MeasBase ul_nongbr_pdr_cell; - // TODO insert signals for oMNeT++ statistics - + // statistics + omnetpp::simsignal_t dl_total_prb_; + omnetpp::simsignal_t ul_total_prb_; + omnetpp::simsignal_t num_ue_dl_nongbr_; + omnetpp::simsignal_t num_ue_ul_nongbr_; /* * timers: diff --git a/src/corenetwork/statsCollector/StatsCollectors.ned b/src/corenetwork/statsCollector/StatsCollectors.ned index c73bc0162..b1aef3421 100644 --- a/src/corenetwork/statsCollector/StatsCollectors.ned +++ b/src/corenetwork/statsCollector/StatsCollectors.ned @@ -45,6 +45,17 @@ module BaseStationStatsCollector like StatsCollector @display("i=block/cogwheel"); @class("BaseStationStatsCollector"); + @signal[DlTotalPRB]; + @statistic[DlTotalPRB](title="Downlink total number of PRBs"; unit=""; source="DlTotalPRB"; record=vector); + + @signal[UlTotalPRB]; + @statistic[UlTotalPRB](title="Uplink total number of PRBs"; unit=""; source="UlTotalPRB"; record=vector); + + @signal[ActiveUsersDl]; + @statistic[ActiveUsersDl](title="Number of active users (downlink)"; unit=""; source="ActiveUsersDl"; record=vector); + + @signal[ActiveUsersUl]; + @statistic[ActiveUsersUl](title="Number of active users (uplink)"; unit=""; source="ActiveUsersUl"; record=vector); } module GNodeBStatsCollector extends BaseStationStatsCollector