The patch introduces frame_loss_percent result value.
The implementation is done for Ixia and IxNet
traffic generators. The value is visible in list
of result values at the end of the test, in csv,
rst and md files.
JIRA: VSPERF-201
Change-Id: I9b6795d427b199cb62ed66b7a137e412e36dc757
Signed-off-by: Radek Zetik <radekx.zetik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Tv Rao <tv.rao@freescale.com>
Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com>
MIN_LATENCY_NS = 'min_latency_ns'
MAX_LATENCY_NS = 'max_latency_ns'
AVG_LATENCY_NS = 'avg_latency_ns'
+ FRAME_LOSS_PERCENT = 'frame_loss_percent'
#Burst traffic
TX_FRAMES = 'tx_frames'
RX_FRAMES = 'rx_frames'
ResultsConstants.THROUGHPUT_RX_PERCENT,
ResultsConstants.MIN_LATENCY_NS,
ResultsConstants.MAX_LATENCY_NS,
- ResultsConstants.AVG_LATENCY_NS]
+ ResultsConstants.AVG_LATENCY_NS,
+ ResultsConstants.FRAME_LOSS_PERCENT]
"""
assert len(result) == 8 # fail-fast if underlying Tcl code changes
+ if float(result[0]) == 0:
+ loss_rate = 100
+ else:
+ loss_rate = (float(result[0]) - float(result[1])) / float(result[0]) * 100
result_dict = OrderedDict()
# drop the first 4 elements as we don't use/need them. In
# addition, IxExplorer does not support latency or % line rate
result_dict[ResultsConstants.TX_RATE_FPS] = result[5]
result_dict[ResultsConstants.THROUGHPUT_RX_MBPS] = result[6]
result_dict[ResultsConstants.TX_RATE_MBPS] = result[7]
+ result_dict[ResultsConstants.FRAME_LOSS_PERCENT] = loss_rate
result_dict[ResultsConstants.TX_RATE_PERCENT] = \
ResultsConstants.UNKNOWN_VALUE
result_dict[ResultsConstants.THROUGHPUT_RX_PERCENT] = \
results[ResultsConstants.THROUGHPUT_RX_MBPS] = row[6]
results[ResultsConstants.TX_RATE_PERCENT] = row[3]
results[ResultsConstants.THROUGHPUT_RX_PERCENT] = row[4]
+ results[ResultsConstants.FRAME_LOSS_PERCENT] = row[10]
results[ResultsConstants.MIN_LATENCY_NS] = row[11]
results[ResultsConstants.MAX_LATENCY_NS] = row[12]
results[ResultsConstants.AVG_LATENCY_NS] = row[13]
"""
results = OrderedDict()
results[ResultsConstants.B2B_FRAMES] = 0
+ results[ResultsConstants.B2B_FRAME_LOSS_PERCENT] = 100
with open(path, 'r') as in_file:
reader = csv.reader(in_file, delimiter=',')
if int(row[12]) > \
int(results[ResultsConstants.B2B_FRAMES]):
results[ResultsConstants.B2B_FRAMES] = int(row[12])
+ results[ResultsConstants.B2B_FRAME_LOSS_PERCENT] = float(row[14])
return results