PAL: Add hoststack and vsap to comp tables
[csit.git] / resources / tools / presentation / generator_tables.py
index 59250d0..fd33983 100644 (file)
@@ -489,17 +489,10 @@ def table_merged_details(table, input_data):
             separator = u"" if table[u'output-file'].endswith(u"/") else u"_"
             file_name = f"{table[u'output-file']}{separator}{suite_name}.csv"
             logging.info(f"      Writing file: {file_name}")
-            try:
-                with open(file_name, u"wt") as file_handler:
-                    file_handler.write(u",".join(header) + u"\n")
-                    for item in table_lst:
-                        file_handler.write(u",".join(item) + u"\n")
-            except Exception as err:
-                logging.error(f"{err}")
-                logging.info(header)
-                logging.info(table_lst)
-                if file_handler:
-                    file_handler.close()
+            with open(file_name, u"wt") as file_handler:
+                file_handler.write(u",".join(header) + u"\n")
+                for item in table_lst:
+                    file_handler.write(u",".join(item) + u"\n")
 
     logging.info(u"  Done.")
 
@@ -570,6 +563,22 @@ def _tpc_insert_data(target, src, include_tests):
                 target[u"data"].append(
                     float(u"nan") if lat == -1 else lat * 1e6
                 )
+        elif include_tests == u"hoststack":
+            try:
+                target[u"data"].append(
+                    float(src[u"result"][u"bits_per_second"])
+                )
+            except KeyError:
+                target[u"data"].append(
+                    (float(src[u"result"][u"client"][u"tx_data"]) * 8) /
+                    ((float(src[u"result"][u"client"][u"time"]) +
+                      float(src[u"result"][u"server"][u"time"])) / 2)
+                )
+        elif include_tests == u"vsap":
+            try:
+                target[u"data"].append(src[u"result"][u"cps"])
+            except KeyError:
+                target[u"data"].append(src[u"result"][u"rps"])
     except (KeyError, TypeError):
         pass
 
@@ -1822,8 +1831,8 @@ def table_comparison(table, input_data):
                             include_tests=table[u"include-tests"]
                         )
 
-        if table[u"include-tests"] in (u"NDR", u"PDR") or \
-                u"latency" in table[u"include-tests"]:
+        if table[u"include-tests"] in (u"NDR", u"PDR", u"hoststack", u"vsap") \
+                or u"latency" in table[u"include-tests"]:
             for tst_name, tst_data in col_data[u"data"].items():
                 if tst_data[u"data"]:
                     tst_data[u"mean"] = mean(tst_data[u"data"])