Clean up MAC stats: don't show timing stats in console log, only file
This commit is contained in:
@@ -117,8 +117,6 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
|
||||
protocol_ctxt_t ctxt={0};
|
||||
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, module_idP, ENB_FLAG_YES, NOT_A_RNTI, frame, slot,module_idP);
|
||||
|
||||
char stats_output[16384];
|
||||
|
||||
gNB_MAC_INST *gNB = RC.nrmac[module_idP];
|
||||
NR_COMMON_channels_t *cc = gNB->common_channels;
|
||||
NR_ServingCellConfigCommon_t *scc = cc->ServingCellConfigCommon;
|
||||
@@ -180,9 +178,10 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
|
||||
|
||||
|
||||
if ((slot == 0) && (frame & 127) == 0) {
|
||||
stats_output[0]='\0';
|
||||
dump_mac_stats(RC.nrmac[module_idP],stats_output,16384,true);
|
||||
LOG_I(NR_MAC,"Frame.Slot %d.%d\n%s\n",frame,slot,stats_output);
|
||||
char stats_output[16384];
|
||||
stats_output[0] = '\0';
|
||||
dump_mac_stats(RC.nrmac[module_idP], stats_output, sizeof(stats_output), true);
|
||||
LOG_I(NR_MAC, "Frame.Slot %d.%d\n%s\n", frame, slot, stats_output);
|
||||
}
|
||||
|
||||
nr_mac_update_timers(module_idP, frame, slot);
|
||||
|
||||
@@ -534,7 +534,7 @@ int get_mcs_from_bler(const NR_bler_options_t *bler_options,
|
||||
|
||||
void nr_sr_reporting(gNB_MAC_INST *nrmac, frame_t frameP, sub_frame_t slotP);
|
||||
|
||||
void dump_mac_stats(gNB_MAC_INST *gNB, char *output, int strlen, bool reset_rsrp);
|
||||
size_t dump_mac_stats(gNB_MAC_INST *gNB, char *output, int strlen, bool reset_rsrp);
|
||||
|
||||
void process_CellGroup(NR_CellGroupConfig_t *CellGroup, NR_UE_sched_ctrl_t *sched_ctrl);
|
||||
|
||||
|
||||
@@ -45,25 +45,30 @@
|
||||
extern RAN_CONTEXT_t RC;
|
||||
|
||||
|
||||
#define MACSTATSSTRLEN 16384
|
||||
#define MACSTATSSTRLEN 65536
|
||||
|
||||
void *nrmac_stats_thread(void *arg) {
|
||||
|
||||
gNB_MAC_INST *gNB = (gNB_MAC_INST *)arg;
|
||||
|
||||
char output[MACSTATSSTRLEN];
|
||||
memset(output,0,MACSTATSSTRLEN);
|
||||
FILE *fd=fopen("nrMAC_stats.log","w");
|
||||
AssertFatal(fd!=NULL,"Cannot open nrMAC_stats.log, error %s\n",strerror(errno));
|
||||
char output[MACSTATSSTRLEN] = {0};
|
||||
FILE *file = fopen("nrMAC_stats.log","w");
|
||||
AssertFatal(file!=NULL,"Cannot open nrMAC_stats.log, error %s\n",strerror(errno));
|
||||
|
||||
while (oai_exit == 0) {
|
||||
dump_mac_stats(gNB,output,MACSTATSSTRLEN,false);
|
||||
fprintf(fd,"%s\n",output);
|
||||
fflush(fd);
|
||||
usleep(200000);
|
||||
fseek(fd,0,SEEK_SET);
|
||||
size_t stroff = 0;
|
||||
stroff += dump_mac_stats(gNB, output, MACSTATSSTRLEN, false);
|
||||
stroff += snprintf(output + stroff, MACSTATSSTRLEN - stroff, "\n");
|
||||
stroff += print_meas_log(&gNB->eNB_scheduler, "DL & UL scheduling timing stats", NULL, NULL, output + stroff);
|
||||
stroff += print_meas_log(&gNB->schedule_dlsch, "dlsch scheduler", NULL, NULL, output + stroff);
|
||||
stroff += print_meas_log(&gNB->rlc_data_req, "rlc_data_req", NULL, NULL, output + stroff);
|
||||
stroff += print_meas_log(&gNB->rlc_status_ind, "rlc_status_ind", NULL, NULL, output + stroff);
|
||||
fwrite(output, stroff, 1, file);
|
||||
fflush(file);
|
||||
sleep(1);
|
||||
fseek(file,0,SEEK_SET);
|
||||
}
|
||||
fclose(fd);
|
||||
fclose(file);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -73,7 +78,7 @@ void clear_mac_stats(gNB_MAC_INST *gNB) {
|
||||
}
|
||||
}
|
||||
|
||||
void dump_mac_stats(gNB_MAC_INST *gNB, char *output, int strlen, bool reset_rsrp)
|
||||
size_t dump_mac_stats(gNB_MAC_INST *gNB, char *output, int strlen, bool reset_rsrp)
|
||||
{
|
||||
int num = 1;
|
||||
|
||||
@@ -138,10 +143,7 @@ void dump_mac_stats(gNB_MAC_INST *gNB, char *output, int strlen, bool reset_rsrp
|
||||
}
|
||||
}
|
||||
pthread_mutex_unlock(&gNB->UE_info.mutex);
|
||||
print_meas(&gNB->eNB_scheduler, "DL & UL scheduling timing stats", NULL, NULL);
|
||||
print_meas(&gNB->schedule_dlsch,"dlsch scheduler",NULL,NULL);
|
||||
print_meas(&gNB->rlc_data_req, "rlc_data_req",NULL,NULL);
|
||||
print_meas(&gNB->rlc_status_ind,"rlc_status_ind",NULL,NULL);
|
||||
return stroff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user