Commit c0aea423 authored by shahab SHARIAT BAGHERI's avatar shahab SHARIAT BAGHERI Committed by Robert Schmidt

MAC stats improvment

parent 439644f3
...@@ -485,16 +485,16 @@ int flexran_agent_mac_stats_reply(mid_t mod_id, ...@@ -485,16 +485,16 @@ int flexran_agent_mac_stats_reply(mid_t mod_id,
} }
// Add full UL CQI report to the UE report // Add full UL CQI report to the UE report
ue_report[i]->ul_cqi_report = full_ul_report; ue_report[i]->ul_cqi_report = full_ul_report;
}
if (report_config->ue_report_type[i].ue_report_flags & PROTOCOL__FLEX_UE_STATS_TYPE__FLUST_MON_APP) {
Protocol__FlexMonApp *monapp; }
monapp = malloc(sizeof(Protocol__FlexMonApp)); if (report_config->ue_report_type[i].ue_report_flags & PROTOCOL__FLEX_UE_STATS_TYPE__FLUST_MAC_STATS) {
Protocol__FlexMacStats *monapp;
monapp = malloc(sizeof(Protocol__FlexMacStats));
if (monapp == NULL) if (monapp == NULL)
goto error; goto error;
protocol__flex_mon_app__init(monapp); protocol__flex_mac_stats__init(monapp);
monapp->total_bytes_sdus_dl = flexran_get_total_size_dl_mac_sdus(mod_id, i, cc_id); monapp->total_bytes_sdus_dl = flexran_get_total_size_dl_mac_sdus(mod_id, i, cc_id);
...@@ -503,9 +503,6 @@ int flexran_agent_mac_stats_reply(mid_t mod_id, ...@@ -503,9 +503,6 @@ int flexran_agent_mac_stats_reply(mid_t mod_id,
monapp->total_bytes_sdus_ul = flexran_get_total_size_ul_mac_sdus(mod_id, i, cc_id); monapp->total_bytes_sdus_ul = flexran_get_total_size_ul_mac_sdus(mod_id, i, cc_id);
monapp->has_total_bytes_sdus_ul = 1; monapp->has_total_bytes_sdus_ul = 1;
monapp->harq_round = flexran_get_harq_round(mod_id, cc_id, i);
monapp->has_harq_round = 1;
monapp->tbs_dl = flexran_get_TBS_dl(mod_id, i, cc_id); monapp->tbs_dl = flexran_get_TBS_dl(mod_id, i, cc_id);
monapp->has_tbs_dl = 1; monapp->has_tbs_dl = 1;
...@@ -580,10 +577,10 @@ int flexran_agent_mac_stats_reply(mid_t mod_id, ...@@ -580,10 +577,10 @@ int flexran_agent_mac_stats_reply(mid_t mod_id,
monapp->mac_sdus_dl = mac_sdus; monapp->mac_sdus_dl = mac_sdus;
ue_report[i]->mon_app = monapp; ue_report[i]->mac_stats = monapp;
} }
......
...@@ -271,33 +271,32 @@ message flex_pdcp_stats { ...@@ -271,33 +271,32 @@ message flex_pdcp_stats {
} }
// //
// Monitoring App // MAC Stats
// //
message flex_mon_app { message flex_mac_stats {
optional uint32 total_bytes_sdus_dl = 1; optional uint32 tbs_dl = 1;
optional uint32 total_bytes_sdus_ul = 2; optional uint32 tbs_ul = 2;
optional uint32 harq_round = 3; optional uint32 prb_retx_dl = 3;
optional uint32 tbs_dl = 4; optional uint32 prb_retx_ul = 4;
optional uint32 tbs_ul = 5; optional uint32 prb_dl = 5;
optional uint32 prb_retx_dl = 6; optional uint32 prb_ul = 6;
optional uint32 prb_retx_ul = 7; optional uint32 mcs1_dl = 7;
optional uint32 prb_dl = 8; optional uint32 mcs2_dl = 8;
optional uint32 prb_ul = 9; optional uint32 mcs1_ul = 9;
optional uint32 mcs1_dl = 10; optional uint32 mcs2_ul = 10;
optional uint32 mcs2_dl = 11; optional uint32 total_bytes_sdus_ul = 11;
optional uint32 mcs1_ul = 12; optional uint32 total_bytes_sdus_dl = 12;
optional uint32 mcs2_ul = 13; optional uint32 total_prb_retx_dl = 13;
optional uint32 total_prb_retx_dl = 14; optional uint32 total_prb_retx_ul = 14;
optional uint32 total_prb_retx_ul = 15; optional uint32 total_prb_dl = 15;
optional uint32 total_prb_dl = 16; optional uint32 total_prb_ul = 16;
optional uint32 total_prb_ul = 17; optional uint32 total_pdu_dl = 17;
optional uint32 total_pdu_dl = 18; optional uint32 total_pdu_ul = 18;
optional uint32 total_pdu_ul = 19; optional uint32 total_tbs_dl = 19;
optional uint32 total_tbs_dl = 20; optional uint32 total_tbs_ul = 20;
optional uint32 total_tbs_ul = 21; repeated flex_mac_sdus_dl mac_sdus_dl = 21;
repeated flex_mac_sdus_dl mac_sdus_dl = 22;
} }
message flex_mac_sdus_dl { message flex_mac_sdus_dl {
......
...@@ -49,7 +49,7 @@ message flex_ue_stats_report { ...@@ -49,7 +49,7 @@ message flex_ue_stats_report {
optional flex_ul_cqi_report ul_cqi_report = 9; optional flex_ul_cqi_report ul_cqi_report = 9;
optional flex_rrc_measurements rrc_measurements = 10; optional flex_rrc_measurements rrc_measurements = 10;
optional flex_pdcp_stats pdcp_stats = 11; optional flex_pdcp_stats pdcp_stats = 11;
optional flex_mon_app mon_app = 12; optional flex_mac_stats mac_stats = 12;
} }
// //
...@@ -86,9 +86,9 @@ enum flex_ue_stats_type { ...@@ -86,9 +86,9 @@ enum flex_ue_stats_type {
FLUST_DL_CQI = 16; FLUST_DL_CQI = 16;
FLUST_PBS = 32; FLUST_PBS = 32;
FLUST_UL_CQI = 64; FLUST_UL_CQI = 64;
FLUST_MON_APP = 128; FLUST_MAC_STATS = 128;
FLUST_PDCP_STATS = 1024; FLUST_PDCP_STATS = 1024;
FLUST_RRC_MEASUREMENTS = 65536; FLUST_RRC_MEASUREMENTS = 65536;
// To be extended with more types of stats // To be extended with more types of stats
......
...@@ -93,6 +93,15 @@ uint32_t flexran_get_TBS_dl(mid_t mod_id, mid_t ue_id, int cc_id); ...@@ -93,6 +93,15 @@ uint32_t flexran_get_TBS_dl(mid_t mod_id, mid_t ue_id, int cc_id);
/*Get uplink TBS */ /*Get uplink TBS */
uint32_t flexran_get_TBS_ul(mid_t mod_id, mid_t ue_id, int cc_id); uint32_t flexran_get_TBS_ul(mid_t mod_id, mid_t ue_id, int cc_id);
/*Get total TBS DL*/
uint64_t flexran_get_total_TBS_dl(mid_t mod_id, mid_t ue_id, int cc_id);
/*Get total TBS DL*/
uint64_t flexran_get_total_TBS_ul(mid_t mod_id, mid_t ue_id, int cc_id);
/*Get retx PRB dl*/
uint16_t flexran_get_num_prb_retx_dl_per_ue(mid_t mod_id, mid_t ue_id, uint32_t cc_id);
/* Get the transmission queue size for a UE with a channel_id logical channel id */ /* Get the transmission queue size for a UE with a channel_id logical channel id */
rlc_buffer_occupancy_t flexran_get_tx_queue_size(mid_t mod_id, mid_t ue_id, logical_chan_id_t channel_id); rlc_buffer_occupancy_t flexran_get_tx_queue_size(mid_t mod_id, mid_t ue_id, logical_chan_id_t channel_id);
...@@ -152,8 +161,23 @@ uint16_t flexran_get_num_prb_dl_tx_per_ue(mid_t mod_id, mid_t ue_id, uint32_t cc ...@@ -152,8 +161,23 @@ uint16_t flexran_get_num_prb_dl_tx_per_ue(mid_t mod_id, mid_t ue_id, uint32_t cc
/*Get number of prb for rx per UE UL*/ /*Get number of prb for rx per UE UL*/
uint16_t flexran_get_num_prb_ul_rx_per_ue(mid_t mod_id, mid_t ue_id, uint32_t cc_id); uint16_t flexran_get_num_prb_ul_rx_per_ue(mid_t mod_id, mid_t ue_id, uint32_t cc_id);
/*Get number of prb for retx per UE UL*/
uint32_t flexran_get_num_prb_retx_ul_per_ue(mid_t mod_id, mid_t ue_id, uint32_t cc_id);
/*Get number of prb for retx per UE*/ /*Get number of prb for retx per UE*/
uint16_t flexran_get_num_prb_retx_per_ue(mid_t mod_id, mid_t ue_id, uint32_t cc_id); uint16_t flexran_get_num_prb_retx_dl_per_ue(mid_t mod_id, mid_t ue_id, uint32_t cc_id);
/*MCS before rate adaptation DL*/
uint8_t flexran_get_mcs1_dl(mid_t mod_id, mid_t ue_id, int cc_id);
/*MCS after rate adaptation DL*/
uint8_t flexran_get_mcs2_dl(mid_t mod_id, mid_t ue_id, int cc_id);
/*MCS before rate adaptation UL*/
uint8_t flexran_get_mcs1_ul(mid_t mod_id, mid_t ue_id, int cc_id);
/*MCS after rate adaptation UL*/
uint8_t flexran_get_mcs2_ul(mid_t mod_id, mid_t ue_id, int cc_id);
/* Get the number of active component carriers for a specific UE */ /* Get the number of active component carriers for a specific UE */
int flexran_get_active_CC(mid_t mod_id, mid_t ue_id); int flexran_get_active_CC(mid_t mod_id, mid_t ue_id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment