aboutsummaryrefslogtreecommitdiffstats
path: root/csit.infra.dash/app/cdash/utils
diff options
context:
space:
mode:
authorTibor Frank <tifrank@cisco.com>2023-03-13 10:13:57 +0100
committerTibor Frank <tifrank@cisco.com>2023-04-04 08:22:38 +0000
commit0fc5aff9887fa7a3125c71d0662475a3f9a763ba (patch)
tree4f2810d91b2b88244f8ccf9ed0e7c8cbecede0bc /csit.infra.dash/app/cdash/utils
parent3a8e7ca967bdb63f2497ff5654fbf94de4c465a2 (diff)
CDash: Add comparison tables
Signed-off-by: Tibor Frank <tifrank@cisco.com> Change-Id: I8ce9e670721e1fdb1f297b3bfb8f0d8ffb916713
Diffstat (limited to 'csit.infra.dash/app/cdash/utils')
-rw-r--r--csit.infra.dash/app/cdash/utils/constants.py13
-rw-r--r--csit.infra.dash/app/cdash/utils/utils.py26
2 files changed, 39 insertions, 0 deletions
diff --git a/csit.infra.dash/app/cdash/utils/constants.py b/csit.infra.dash/app/cdash/utils/constants.py
index 12d7ee5702..1aedb9b96f 100644
--- a/csit.infra.dash/app/cdash/utils/constants.py
+++ b/csit.infra.dash/app/cdash/utils/constants.py
@@ -142,6 +142,7 @@ 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,
@@ -291,6 +292,18 @@ class Constants:
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.
# The title.
diff --git a/csit.infra.dash/app/cdash/utils/utils.py b/csit.infra.dash/app/cdash/utils/utils.py
index 424456088d..68099987d2 100644
--- a/csit.infra.dash/app/cdash/utils/utils.py
+++ b/csit.infra.dash/app/cdash/utils/utils.py
@@ -17,6 +17,7 @@
import pandas as pd
import dash_bootstrap_components as dbc
+from math import sqrt
from numpy import isnan
from dash import dcc
from datetime import datetime
@@ -391,3 +392,28 @@ def get_list_group_items(
)
return children
+
+def relative_change_stdev(mean1, mean2, std1, std2):
+ """Compute relative standard deviation of change of two values.
+
+ The "1" values are the base for comparison.
+ Results are returned as percentage (and percentual points for stdev).
+ Linearized theory is used, so results are wrong for relatively large stdev.
+
+ :param mean1: Mean of the first number.
+ :param mean2: Mean of the second number.
+ :param std1: Standard deviation estimate of the first number.
+ :param std2: Standard deviation estimate of the second number.
+ :type mean1: float
+ :type mean2: float
+ :type std1: float
+ :type std2: float
+ :returns: Relative change and its stdev.
+ :rtype: float
+ """
+ mean1, mean2 = float(mean1), float(mean2)
+ quotient = mean2 / mean1
+ first = std1 / mean1
+ second = std2 / mean2
+ std = quotient * sqrt(first * first + second * second)
+ return (quotient - 1) * 100, std * 100