import yaml
import requests
import time
+import os
import copy
from past.utils import old_div
from rapid_log import RapidLog
inf = float("inf")
from datetime import datetime as dt
+_CURR_DIR = os.path.dirname(os.path.realpath(__file__))
+
class RapidTest(object):
"""
Class to manage the testing
self.test['maxr'] = 1
if 'maxz' not in self.test.keys():
self.test['maxz'] = inf
- with open('format.yaml') as f:
+ with open(os.path.join(_CURR_DIR,'format.yaml')) as f:
self.data_format = yaml.load(f, Loader=yaml.FullLoader)
@staticmethod
elapsed_time_str = ' NA |'
else:
elapsed_time_str = '{:>3.0f} |'.format(data['actual_duration'])
+ if data['mis_ordered'] is None:
+ mis_ordered_str = ' NA '
+ else:
+ mis_ordered_str = '{:>9.0f} '.format(data['mis_ordered'])
return(flow_number_str + '{:>5.1f}'.format(data['speed']) + '% ' + prefix['speed']
+ '{:>6.3f}'.format(RapidTest.get_pps(data['speed'],size)) + ' Mpps|' +
pps_req_tx_str + pps_tx_str + bcolors.ENDC + pps_sut_tx_str +
+ ' us | ' + '{:>9.0f}'.format(data['abs_tx']) + ' | {:>9.0f}'.format(data['abs_rx']) +
' | '+ prefix['abs_drop_rate']+ '{:>9.0f}'.format(data['abs_tx']-data['abs_rx']) +
tot_drop_str + prefix['drop_rate'] +
- '{:>5.2f}'.format(100*old_div(float(data['abs_tx']-data['abs_rx']),data['abs_tx'])) + bcolors.ENDC +
+ '{:>5.2f}'.format(100*old_div(float(data['abs_tx']-data['abs_rx']),data['abs_tx'])) + ' |' +
+ prefix['mis_ordered'] + mis_ordered_str + bcolors.ENDC +
' |' + elapsed_time_str)
def run_iteration(self, requested_duration, flow_number, size, speed):
BUCKET_SIZE_EXP = self.gen_machine.bucket_size_exp
+ sleep_time = self.test['sleep_time']
LAT_PERCENTILE = self.test['lat_percentile']
iteration_data= {}
time_loop_data= {}
iteration_data['r'] = 0;
- sleep_time = 2
+
while (iteration_data['r'] < self.test['maxr']):
self.gen_machine.start_latency_cores()
time.sleep(sleep_time)
iteration_data['avg_bg_rate'] = None
#Stop generating
self.gen_machine.stop_gen_cores()
+ time.sleep(3.5)
self.gen_machine.stop_latency_cores()
iteration_data['r'] += 1
iteration_data['lat_avg'] = old_div(iteration_data['lat_avg'], float(tot_lat_measurement_duration))