CSIT-1041: Trending dashboard
[csit.git] / resources / tools / presentation / generator_CPTA.py
index e8091c0..3a8ea93 100644 (file)
@@ -232,11 +232,15 @@ def _generate_trending_traces(in_data, build_info, period, moving_win_size=10,
         in_data = _select_data(in_data, period,
                                fill_missing=fill_missing,
                                use_first=use_first)
-    try:
-        data_x = ["{0}/{1}".format(key, build_info[str(key)][1].split("~")[-1])
-                  for key in in_data.keys()]
-    except KeyError:
-        data_x = [key for key in in_data.keys()]
+    # try:
+    #     data_x = ["{0}/{1}".format(key, build_info[str(key)][1].split("~")[-1])
+    #               for key in in_data.keys()]
+    # except KeyError:
+    #     data_x = [key for key in in_data.keys()]
+    hover_text = ["vpp-build: {0}".format(x[1].split("~")[-1])
+                  for x in build_info.values()]
+    data_x = [key for key in in_data.keys()]
+
     data_y = [val for val in in_data.values()]
     data_pd = pd.Series(data_y, index=data_x)
 
@@ -247,10 +251,12 @@ def _generate_trending_traces(in_data, build_info, period, moving_win_size=10,
     anomalies = pd.Series()
     anomalies_res = list()
     for idx, item in enumerate(in_data.items()):
-        item_pd = pd.Series([item[1], ],
-                            index=["{0}/{1}".
-                            format(item[0],
-                                   build_info[str(item[0])][1].split("~")[-1]), ])
+        # item_pd = pd.Series([item[1], ],
+        #                     index=["{0}/{1}".
+        #                     format(item[0],
+        #                            build_info[str(item[0])][1].split("~")[-1]),
+        #                            ])
+        item_pd = pd.Series([item[1], ], index=[item[0], ])
         if item[0] in outliers.keys():
             anomalies = anomalies.append(item_pd)
             anomalies_res.append(0.0)
@@ -282,6 +288,8 @@ def _generate_trending_traces(in_data, build_info, period, moving_win_size=10,
             "color": color,
             "symbol": "circle",
         },
+        text=hover_text,
+        hoverinfo="x+y+text+name"
     )
     traces = [trace_samples, ]
 
@@ -387,7 +395,7 @@ def _generate_all_charts(spec, input_data):
                 input_data.metadata(job_name, build)["version"]
             )
         except KeyError:
-            pass
+            build_info[build] = ("", "")
 
     # Create the header:
     csv_table = list()
@@ -487,7 +495,11 @@ def _generate_all_charts(spec, input_data):
                             row[idx] = str(round(float(item) / 1000000, 2))
                         except ValueError:
                             pass
-                txt_table.add_row(row)
+                try:
+                    txt_table.add_row(row)
+                except Exception as err:
+                    logging.warning("Error occurred while generating TXT table:"
+                                    "\n{0}".format(err))
             line_nr += 1
         txt_table.align["Build Number:"] = "l"
     with open("{0}.txt".format(file_name), "w") as txt_file: