C-Dash: Add links to jenkins jobs for iterative
[csit.git] / csit.infra.dash / app / cdash / report / graphs.py
index 544fdf0..6b7fd12 100644 (file)
@@ -20,7 +20,7 @@ import pandas as pd
 from copy import deepcopy
 
 from ..utils.constants import Constants as C
-from ..utils.utils import get_color
+from ..utils.utils import get_color, get_hdrh_latencies
 
 
 def select_iterative_data(data: pd.DataFrame, itm:dict) -> pd.DataFrame:
@@ -128,6 +128,18 @@ def graph_iterative(data: pd.DataFrame, sel:dict, layout: dict,
             y_tput_max = max(max(y_data), y_tput_max)
 
         nr_of_samples = len(y_data)
+
+        if itm["testtype"] == "mrr":
+            c_data = [
+                (
+                    f"{itm_data['job'].to_list()[0]}/",
+                    f"{itm_data['build'].to_list()[0]}"
+                ),
+            ] * nr_of_samples
+        else:
+            c_data = list()
+            for _, row in itm_data.iterrows():
+                c_data.append(f"{row['job']}/{row['build']}")
         tput_kwargs = dict(
             y=y_data,
             name=(
@@ -139,12 +151,19 @@ def graph_iterative(data: pd.DataFrame, sel:dict, layout: dict,
             hoverinfo=u"y+name",
             boxpoints="all",
             jitter=0.3,
-            marker=dict(color=get_color(idx))
+            marker=dict(color=get_color(idx)),
+            customdata=c_data
         )
         tput_traces.append(go.Box(**tput_kwargs))
         show_tput = True
 
         if ttype == "pdr":
+            customdata = list()
+            for _, row in itm_data.iterrows():
+                customdata.append(
+                    get_hdrh_latencies(row, f"{row['job']}/{row['build']}")
+                )
+
             y_lat_row = itm_data[C.VALUE_ITER["latency"]].to_list()
             y_lat = [(y / norm_factor) for y in y_lat_row]
             if y_lat:
@@ -164,7 +183,8 @@ def graph_iterative(data: pd.DataFrame, sel:dict, layout: dict,
                 hoverinfo="all",
                 boxpoints="all",
                 jitter=0.3,
-                marker=dict(color=get_color(idx))
+                marker=dict(color=get_color(idx)),
+                customdata=customdata
             )
             x_lat.append(idx + 1)
             lat_traces.append(go.Box(**lat_kwargs))