C-Dash: Add multiple telemetry panels
[csit.git] / csit.infra.dash / app / cdash / utils / constants.py
index cf16491..c2a7782 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:
@@ -44,9 +44,6 @@ class Constants:
     # 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 = "base_layout.jinja2"
@@ -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,23 +71,21 @@ 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
 
     # The element is disabled.
-    STYLE_DISABLED = {"display": "none"}
+    STYLE_DISABLED = {"visibility": "hidden"}
 
     # The element is enabled and visible.
-    STYLE_ENABLED = {"display": "inherit"}
+    STYLE_ENABLED = {"visibility": "visible"}
 
     # Checklist "All" is disabled.
     CL_ALL_DISABLED = [
@@ -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 = {
@@ -122,16 +117,30 @@ class Constants:
         "container_memif": "LXC/DRC Container Memif",
         "crypto": "IPSec IPv4 Routing",
         "ip4": "IPv4 Routing",
-        "ip6": "IPv6 Routing",
         "ip4_tunnels": "IPv4 Tunnels",
+        "ip6": "IPv6 Routing",
+        "ip6_tunnels": "IPv6 Tunnels",
         "l2": "L2 Ethernet Switching",
+        "lb": "Load Balancer",
         "srv6": "SRv6 Routing",
         "vm_vhost": "VMs vhost-user",
-        "nfv_density-dcr_memif-chain_ipsec": "CNF Service Chains Routing IPSec",
-        "nfv_density-vm_vhost-chain_dot1qip4vxlan":"VNF Service Chains Tunnels",
-        "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",
+        "nfv_density.dcr_memif.chain_ipsec": "CNF Service Chains Routing IPSec",
+        "nfv_density.vm_vhost.chain_dot1qip4vxlan":"VNF Service Chains Tunnels",
+        "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",
+        "flow": "Flow",
+        "l2bd": "L2 Bridge Domain",
+        "crypto.ethip4": "IPSec IPv4 Routing",
+        "crypto.ethip6": "IPSec IPv6 Routing",
+        "interfaces": "Interfaces",
+        "ip4_tunnels.lisp": "IPv4 Tunnels LISP",
+        "ip6_tunnels.lisp": "IPv6 Tunnels LISP",
+        "l2patch": "L2 Patch",
+        "l2xc": "L2 Cross Connect",
+        "vm_vhost.ethip4": "VMs vhost-user IPv4 Routing",
+        "vm_vhost.ethip6": "VMs vhost-user IPv6 Routing"
     }
 
     # URL style.
@@ -146,11 +155,13 @@ class Constants:
 
     NORM_FREQUENCY = 2.0  # [GHz]
     FREQUENCY = {  # [GHz]
+        "1n-aws": 1.000,
         "2n-aws": 1.000,
         "2n-dnv": 2.000,
         "2n-clx": 2.300,
         "2n-icx": 2.600,
         "2n-skx": 2.500,
+        "2n-spr": 2.800,
         "2n-tx2": 2.500,
         "2n-zn2": 2.900,
         "3n-alt": 3.000,
@@ -159,11 +170,13 @@ class Constants:
         "3n-icx": 2.600,
         "3n-skx": 2.500,
         "3n-tsh": 2.200,
-        "3n-snr": 2.200
+        "3n-snr": 2.200,
+        "3na-spr": 2.800,
+        "3nb-spr": 2.800
     }
 
     ############################################################################
-    # General, plots constants.
+    # General, plots and tables constants.
 
     PLOT_COLORS = (
         "#1A1110", "#DA2647", "#214FC6", "#01786F", "#BD8260", "#FFD12A",
@@ -206,21 +219,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"
+        "latency": "result_latency_forward_pdr_50_avg",
+        "hoststack-cps": "result_rate_value",
+        "hoststack-rps": "result_rate_value",
+        "hoststack-bps": "result_bandwidth_value",
+        "hoststack-latency": "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"
+        "latency": "result_latency_forward_pdr_50_avg",
+        "hoststack-cps": "result_rate_value",
+        "hoststack-rps": "result_rate_value",
+        "hoststack-bps": "result_bandwidth_value",
+        "hoststack-latency": "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"
+        "latency": "result_latency_forward_pdr_50_unit",
+        "hoststack-cps": "result_rate_unit",
+        "hoststack-rps": "result_rate_unit",
+        "hoststack-bps": "result_bandwidth_unit",
+        "hoststack-latency": "result_latency_unit"
     }
 
     # Latencies.
@@ -250,6 +275,18 @@ class Constants:
         "result_latency_reverse_pdr_90_hdrh": "High-load, 90% PDR."
     }
 
+    # Operators used to filter data in comparison tables.
+    OPERATORS = (
+        ("contains ", ),
+        ("lt ", "<"),
+        ("gt ", ">"),
+        ("eq ", "="),
+        ("ge ", ">="),
+        ("le ", "<="),
+        ("ne ", "!="),
+        ("datestartswith ", )
+    )
+
     ############################################################################
     # News.
 
@@ -282,6 +319,18 @@ class Constants:
     # Default name of downloaded file with selected data.
     REPORT_DOWNLOAD_FILE_NAME = "iterative_data.csv"
 
+    ############################################################################
+    # Comparisons.
+
+    # The title.
+    COMP_TITLE = "Per Release Performance Comparisons"
+
+    # The pathname prefix for the application.
+    COMP_ROUTES_PATHNAME_PREFIX = "/comparisons/"
+
+    # Default name of downloaded file with selected data.
+    COMP_DOWNLOAD_FILE_NAME = "comparison_data.csv"
+
     ############################################################################
     # Statistics.
 
@@ -314,3 +363,18 @@ class Constants:
 
     # Default name of downloaded file with selected data.
     TREND_DOWNLOAD_FILE_NAME = "trending_data.csv"
+    TELEMETRY_DOWNLOAD_FILE_NAME = "telemetry_data.csv"
+
+    ############################################################################
+    # Coverage data.
+
+    # The title.
+    COVERAGE_TITLE = "Per Release Coverage Data"
+
+    # The pathname prefix for the application.
+    COVERAGE_ROUTES_PATHNAME_PREFIX = "/coverage/"
+
+    # Default name of downloaded file with selected data.
+    COVERAGE_DOWNLOAD_FILE_NAME = "coverage_data.csv"
+
+    ############################################################################
\ No newline at end of file