C-Dash: Hover info and y-axis in trending and iterative graphs
[csit.git] / csit.infra.dash / app / cdash / utils / constants.py
index 75cd68a..12d7ee5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (c) 2022 Cisco and/or its affiliates.
+# Copyright (c) 2023 Cisco and/or its affiliates.
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at:
@@ -39,17 +39,14 @@ class Constants:
     BRAND = "CSIT-Dash"
 
     # The application description.
-    DESCRIPTION = 'Performance Dashboard "CSIT-Dash"'
+    DESCRIPTION = "Performance Dashboard"
 
     # External stylesheets.
     EXTERNAL_STYLESHEETS = ["/static/dist/css/bootstrap.css", ]
 
-    # Top level template for all pages.
-    TEMPLATE = "d-flex h-100 text-center text-white bg-dark"
-
     # Path and name of the file specifying the HTML layout of the dash
     # application.
-    MAIN_HTML_LAYOUT_FILE = "index_layout.jinja2"
+    MAIN_HTML_LAYOUT_FILE = "base_layout.jinja2"
 
     # Path and name of the file specifying the HTML layout of the dash
     # application.
@@ -66,7 +63,7 @@ class Constants:
 
     # Maximal value of TIME_PERIOD for data read from the parquets in days.
     # Do not change without a good reason.
-    MAX_TIME_PERIOD = 180
+    MAX_TIME_PERIOD = 130
 
     # It defines the time period for data read from the parquets in days from
     # now back to the past.
@@ -74,14 +71,12 @@ class Constants:
     # TIME_PERIOD = MAX_TIME_PERIOD - is the default value
     TIME_PERIOD = MAX_TIME_PERIOD  # [days]
 
-    # List of releases used for iterative data processing.
-    # The releases MUST be in the order from the current (newest) to the last
-    # (oldest).
-    RELEASES = ["csit2210", "csit2206", "csit2202", ]
-
     ############################################################################
     # General, application wide, layout affecting constants.
 
+    # Add a time delay (in ms) to the spinner being shown
+    SPINNER_DELAY = 500
+
     # If True, clear all inputs in control panel when button "ADD SELECTED" is
     # pressed.
     CLEAR_ALL_INPUTS = False
@@ -101,7 +96,7 @@ class Constants:
         }
     ]
 
-    # Checklist "All" is enable, visible and unchecked.
+    # Checklist "All" is enabled, visible and unchecked.
     CL_ALL_ENABLED = [
         {
             "label": "All",
@@ -114,7 +109,7 @@ class Constants:
     PLACEHOLDER = html.Nobr("")
 
     # List of drivers used in CSIT.
-    DRIVERS = ("avf", "af-xdp", "rdma", "dpdk")
+    DRIVERS = ("avf", "af-xdp", "rdma", "dpdk", "mlx5")
 
     # Labels for input elements (dropdowns, ...).
     LABELS = {
@@ -132,6 +127,7 @@ class Constants:
         "nfv_density-vm_vhost-chain": "VNF Service Chains Routing",
         "nfv_density-dcr_memif-pipeline": "CNF Service Pipelines Routing",
         "nfv_density-dcr_memif-chain": "CNF Service Chains Routing",
+        "hoststack": "Hoststack"
     }
 
     # URL style.
@@ -158,7 +154,8 @@ class Constants:
         "3n-dnv": 2.000,
         "3n-icx": 2.600,
         "3n-skx": 2.500,
-        "3n-tsh": 2.200
+        "3n-tsh": 2.200,
+        "3n-snr": 2.200
     }
 
     ############################################################################
@@ -205,21 +202,33 @@ class Constants:
         "mrr": "result_receive_rate_rate_avg",
         "ndr": "result_ndr_lower_rate_value",
         "pdr": "result_pdr_lower_rate_value",
-        "pdr-lat": "result_latency_forward_pdr_50_avg"
+        "pdr-lat": "result_latency_forward_pdr_50_avg",
+        "hoststack-cps": "result_rate_value",
+        "hoststack-rps": "result_rate_value",
+        "hoststack-bps": "result_bandwidth_value",
+        "hoststack-lat": "result_latency_value"
     }
 
     VALUE_ITER = {
         "mrr": "result_receive_rate_rate_values",
         "ndr": "result_ndr_lower_rate_value",
         "pdr": "result_pdr_lower_rate_value",
-        "pdr-lat": "result_latency_forward_pdr_50_avg"
+        "pdr-lat": "result_latency_forward_pdr_50_avg",
+        "hoststack-cps": "result_rate_value",
+        "hoststack-rps": "result_rate_value",
+        "hoststack-bps": "result_bandwidth_value",
+        "hoststack-lat": "result_latency_value"
     }
 
     UNIT = {
         "mrr": "result_receive_rate_rate_unit",
         "ndr": "result_ndr_lower_rate_unit",
         "pdr": "result_pdr_lower_rate_unit",
-        "pdr-lat": "result_latency_forward_pdr_50_unit"
+        "pdr-lat": "result_latency_forward_pdr_50_unit",
+        "hoststack-cps": "result_rate_unit",
+        "hoststack-rps": "result_rate_unit",
+        "hoststack-bps": "result_bandwidth_unit",
+        "hoststack-lat": "result_latency_unit"
     }
 
     # Latencies.
@@ -253,7 +262,7 @@ class Constants:
     # News.
 
     # The title.
-    NEWS_TITLE = "CI TEST FAILURE AND ANOMALY STATISTICS"
+    NEWS_TITLE = "Failures and Anomalies"
 
     # The pathname prefix for the application.
     NEWS_ROUTES_PATHNAME_PREFIX = "/news/"
@@ -270,7 +279,7 @@ class Constants:
     # Report.
 
     # The title.
-    REPORT_TITLE = "PER RELEASE PERFORMANCE RESULTS"
+    REPORT_TITLE = "Per Release Performance"
 
     # The pathname prefix for the application.
     REPORT_ROUTES_PATHNAME_PREFIX = "/report/"
@@ -285,15 +294,11 @@ class Constants:
     # Statistics.
 
     # The title.
-    STATS_TITLE = "CI JOB EXECUTION STATISTICS"
+    STATS_TITLE = "Test Job Statistics"
 
     # The pathname prefix for the application.
     STATS_ROUTES_PATHNAME_PREFIX = "/stats/"
 
-    # Path and name of the file specifying the HTML layout of the dash
-    # application.
-    STATS_HTML_LAYOUT_FILE = "cdash/templates/stats_layout.jinja2"
-
     # Layout of plot.ly graphs.
     STATS_GRAPH_LAYOUT_FILE = "cdash/stats/layout.yaml"
 
@@ -307,15 +312,11 @@ class Constants:
     # Trending.
 
     # The title.
-    TREND_TITLE = "PERFORMANCE TRENDING (DAILY, WEEKLY)"
+    TREND_TITLE = "Performance Trending"
 
     # The pathname prefix for the application.
     TREND_ROUTES_PATHNAME_PREFIX = "/trending/"
 
-    # Path and name of the file specifying the HTML layout of the dash
-    # application.
-    TREND_HTML_LAYOUT_FILE = "cdash/templates/trending_layout.jinja2"
-
     # Layout of plot.ly graphs.
     TREND_GRAPH_LAYOUT_FILE = "cdash/trending/layout.yaml"