CSIT-412 replace latency (N/A) string by number -1 89/2989/5
authorMiroslav Miklus <mmiklus@cisco.com>
Tue, 20 Sep 2016 14:43:19 +0000 (16:43 +0200)
committerPeter Mikus <pmikus@cisco.com>
Sat, 24 Sep 2016 02:36:24 +0000 (02:36 +0000)
Change-Id: Id6373d3bbfcc42e315976b59aa86c6cadee411f1
Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
resources/libraries/python/TrafficGenerator.py
resources/tools/t-rex/t-rex-stateless.py

index 2a94912..c28e8ec 100644 (file)
@@ -485,17 +485,8 @@ class TrafficGenerator(object):
             self._loss = self._result.split(', ')[3].split('=')[1]
 
             self._latency = []
-            lat_int_list = []
-            #round latency numbers
-            lat_str = self._result.split(', ')[4].split('=')[1]
-            for lat in lat_str.split("/"):
-                lat_int_list.append(int(float(lat)))
-            self._latency.append("/".join(str(tmp) for tmp in lat_int_list))
-            lat_int_list = []
-            lat_str = self._result.split(', ')[5].split('=')[1]
-            for lat in lat_str.split("/"):
-                lat_int_list.append(int(float(lat)))
-            self._latency.append("/".join(str(tmp) for tmp in lat_int_list))
+            self._latency.append(self._result.split(', ')[4].split('=')[1])
+            self._latency.append(self._result.split(', ')[5].split('=')[1])
 
     def stop_traffic_on_tg(self):
         """Stop all traffic on TG
index b23dfa8..b58a82a 100755 (executable)
@@ -315,6 +315,34 @@ def create_streams_v6(traffic_options, frame_size=78):
 
     return create_streams_v46(base_pkt_a, base_pkt_b, vm1, vm2, frame_size)
 
+def fmt_latency(lat_min, lat_avg, lat_max):
+    """ Return formatted, rounded latency
+
+    :param lat_min: Min latency
+    :param lat_avg: Average latency
+    :param lat_max: Max latency
+    :type lat_min: string
+    :type lat_avg: string
+    :type lat_max: string
+    :return: Formatted and rounded output "min/avg/max"
+    :rtype: string
+    """
+
+    try:
+        t_min = int(round(float(lat_min)))
+    except ValueError:
+        t_min = int(-1)
+    try:
+        t_avg = int(round(float(lat_avg)))
+    except ValueError:
+        t_avg = int(-1)
+    try:
+        t_max = int(round(float(lat_max)))
+    except ValueError:
+        t_max = int(-1)
+
+    return "/".join(str(tmp) for tmp in (t_min, t_avg, t_max))
+
 def simple_burst(stream_a, stream_b, stream_lat_a, stream_lat_b, duration, rate,
                  warmup_time, async_start, latency):
     """Run the traffic with specific parameters.
@@ -347,8 +375,8 @@ def simple_burst(stream_a, stream_b, stream_lat_a, stream_lat_b, duration, rate,
     total_sent = 0
     lost_a = 0
     lost_b = 0
-    lat_a = "0/0/0"
-    lat_b = "0/0/0"
+    lat_a = "-1/-1/-1"
+    lat_b = "-1/-1/-1"
 
     try:
         # turn this off if too many logs
@@ -420,14 +448,14 @@ def simple_burst(stream_a, stream_b, stream_lat_a, stream_lat_b, duration, rate,
             lost_b = stats[1]["opackets"] - stats[0]["ipackets"]
 
             if latency:
-                lat_a = "/".join((\
+                lat_a = fmt_latency(\
                     str(stats["latency"][0]["latency"]["total_min"]),\
                     str(stats["latency"][0]["latency"]["average"]),\
-                    str(stats["latency"][0]["latency"]["total_max"])))
-                lat_b = "/".join((\
+                    str(stats["latency"][0]["latency"]["total_max"]))
+                lat_b = fmt_latency(\
                     str(stats["latency"][1]["latency"]["total_min"]),\
                     str(stats["latency"][1]["latency"]["average"]),\
-                    str(stats["latency"][1]["latency"]["total_max"])))
+                    str(stats["latency"][1]["latency"]["total_max"]))
 
             total_sent = stats[0]["opackets"] + stats[1]["opackets"]
             total_rcvd = stats[0]["ipackets"] + stats[1]["ipackets"]