aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/TrafficGenerator.py
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2020-01-10 12:44:45 +0000
committerPeter Mikus <pmikus@cisco.com>2020-04-27 13:57:08 +0000
commitfcce2ca13e7dacebf719fd9f7a6dcc8fb24f56ef (patch)
tree6e70df348e37c62499da706fc39e22b610d97bb2 /resources/libraries/python/TrafficGenerator.py
parentfd70b6786c00f8a0f0021b517f0601154e0a0498 (diff)
Performance: TRex approximatedDuration and approximateRate
- API to provide duration for send and receive traffic Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Id186a200be66b7703348e6fd3099ffd405e915ae
Diffstat (limited to 'resources/libraries/python/TrafficGenerator.py')
-rw-r--r--resources/libraries/python/TrafficGenerator.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/resources/libraries/python/TrafficGenerator.py b/resources/libraries/python/TrafficGenerator.py
index 4e3a5493bd..539ced584a 100644
--- a/resources/libraries/python/TrafficGenerator.py
+++ b/resources/libraries/python/TrafficGenerator.py
@@ -151,6 +151,8 @@ class TrafficGenerator(AbstractMeasurer):
self._sent = None
self._latency = None
self._received = None
+ self._approximated_rate = None
+ self._approximated_duration = None
# Measurement input fields, needed for async stop result.
self._start_time = None
self._rate = None
@@ -204,6 +206,15 @@ class TrafficGenerator(AbstractMeasurer):
"""
return self._latency
+ def get_approximated_rate(self):
+ """Return approximated rate computed as ratio of transmited packets over
+ duration of trial.
+
+ :returns: Approximated rate.
+ :rtype: str
+ """
+ return self._approximated_rate
+
# TODO: pylint says disable=too-many-locals.
# A fix is developed in https://gerrit.fd.io/r/c/csit/+/22221
def initialize_traffic_generator(
@@ -460,9 +471,12 @@ class TrafficGenerator(AbstractMeasurer):
self._received = self._result.split(u", ")[1].split(u"=", 1)[1]
self._sent = self._result.split(u", ")[2].split(u"=", 1)[1]
self._loss = self._result.split(u", ")[3].split(u"=", 1)[1]
+ self._approximated_duration = \
+ self._result.split(u", ")[5].split(u"=", 1)[1]
+ self._approximated_rate = self._result.split(u", ")[6].split(u"=", 1)[1]
self._latency = list()
- self._latency.append(self._result.split(u", ")[4].split(u"=", 1)[1])
- self._latency.append(self._result.split(u", ")[5].split(u"=", 1)[1])
+ self._latency.append(self._result.split(u", ")[7].split(u"=", 1)[1])
+ self._latency.append(self._result.split(u", ")[8].split(u"=", 1)[1])
def trex_stl_stop_remote_exec(self, node):
"""Execute script on remote node over ssh to stop running traffic.
@@ -748,6 +762,7 @@ class TrafficGenerator(AbstractMeasurer):
duration, transmit_rate, transmit_count, loss_count
)
measurement.latency = self.get_latency_int()
+ measurement.approximated_rate = self.get_approximated_rate()
return measurement
def measure(self, duration, transmit_rate):