Commit e9df8888 authored by hardy's avatar hardy
Browse files

adding real time stats from log to HTML

parent 875e2906
......@@ -694,6 +694,8 @@ class RANManagement():
#dlsch and ulsch statistics (dictionary)
dlsch_ulsch_stats = {}
#real time statistics (dictionary)
real_time_stats ={}
#count "L1 thread not ready" msg
L1_thread_not_ready_cnt = 0
#count "problem receiving samples" msg
......@@ -863,6 +865,17 @@ class RANManagement():
if result is not None:
#remove 1- all useless char before relevant info (ulsch or dlsch) 2- trailing char
dlsch_ulsch_stats[k]=re.sub(r'^.*\]\s+', r'' , line.rstrip())
#real time statistics
#same method as above
keys = {'feprx','feptx_prec','feptx_ofdm','feptx_total','L1 Tx processing','DLSCH encoding','L1 Rx processing','PUSCH inner-receiver','PUSCH decoding'}
for k in keys:
result =, line)
if result is not None:
#remove 1- all useless char before relevant info 2- trailing char
tmp=re.match(rf'^.*?(\b{k}\b.*)',line.rstrip()) #from python 3.6 we can use literal string interpolation for the variable k, using rf' in the regex
#count "L1 thread not ready" msg
result ='\[PHY\]\s+L1_thread isn\'t ready', str(line))
if result is not None:
......@@ -920,6 +933,14 @@ class RANManagement():
htmleNBFailureMsg += statMsg
#real time statistics statistics
if len(real_time_stats)!=0: #check if dictionary is not empty
for key in real_time_stats: #for each dictionary key
statMsg += real_time_stats[key] + '\n'
htmleNBFailureMsg += statMsg
if uciStatMsgCount > 0:
statMsg = nodeB_prefix + 'NB showed ' + str(uciStatMsgCount) + ' "uci->stat" message(s)'
logging.debug('\u001B[1;30;43m ' + statMsg + ' \u001B[0m')
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