diff options
Diffstat (limited to 'resources/tools/presentation')
-rw-r--r-- | resources/tools/presentation/input_data_parser.py | 131 | ||||
-rw-r--r-- | resources/tools/presentation/specification.yaml | 68 |
2 files changed, 89 insertions, 110 deletions
diff --git a/resources/tools/presentation/input_data_parser.py b/resources/tools/presentation/input_data_parser.py index cd26d69c76..73b9ea114a 100644 --- a/resources/tools/presentation/input_data_parser.py +++ b/resources/tools/presentation/input_data_parser.py @@ -214,12 +214,11 @@ class ExecutionChecker(ResultVisitor): r'PDR_UPPER:\s(\d+.\d+)' ) REGEX_PERF_MSG_INFO = re.compile( - r'NDR_LOWER:\s(\d+.\d+)\s([a-zA-Z]*).*\s(\d+.\d+)\s([a-zA-Z]*).*\n' - r'LATENCY.*\[\'(.*)\', \'(.*)\'\].*\n' - r'NDR_UPPER:\s(\d+.\d+)\s([a-zA-Z]*).*\s(\d+.\d+)\s([a-zA-Z]*).*\n' - r'PDR_LOWER:\s(\d+.\d+)\s([a-zA-Z]*).*\s(\d+.\d+)\s([a-zA-Z]*).*\n' - r'LATENCY.*\[\'(.*)\', \'(.*)\'\].*\n' - r'PDR_UPPER:\s(\d+.\d+)\s([a-zA-Z]*).*\s(\d+.\d+)\s([a-zA-Z]*)' + r'NDR_LOWER:\s(\d+.\d+)\s.*\s(\d+.\d+)\s.*\n.*\n.*\n' + r'PDR_LOWER:\s(\d+.\d+)\s.*\s(\d+.\d+)\s.*\n.*\n.*\n' + r'Latency at 90% PDR:.*\[\'(.*)\', \'(.*)\'\].*\n' + r'Latency at 50% PDR:.*\[\'(.*)\', \'(.*)\'\].*\n' + r'Latency at 10% PDR:.*\[\'(.*)\', \'(.*)\'\].*\n' ) # TODO: Remove when not needed REGEX_NDRPDR_LAT_BASE = re.compile( @@ -373,31 +372,21 @@ class ExecutionChecker(ResultVisitor): """ groups = re.search(self.REGEX_PERF_MSG_INFO, msg) - if not groups or groups.lastindex != 20: + if not groups or groups.lastindex != 10: return msg try: data = { u"ndr_low": float(groups.group(1)), - u"ndr_low_unit": groups.group(2), - u"ndr_low_b": float(groups.group(3)), - u"ndr_low_b_unit": groups.group(4), - u"ndr_lat_1": groups.group(5), - u"ndr_lat_2": groups.group(6), - u"ndr_up": float(groups.group(7)), - u"ndr_up_unit": groups.group(8), - u"ndr_up_b": float(groups.group(9)), - u"ndr_up_b_unit": groups.group(10), - u"pdr_low": float(groups.group(11)), - u"pdr_low_unit": groups.group(12), - u"pdr_low_b": float(groups.group(13)), - u"pdr_low_b_unit": groups.group(14), - u"pdr_lat_1": groups.group(15), - u"pdr_lat_2": groups.group(16), - u"pdr_up": float(groups.group(17)), - u"pdr_up_unit": groups.group(18), - u"pdr_up_b": float(groups.group(19)), - u"pdr_up_b_unit": groups.group(20) + u"ndr_low_b": float(groups.group(2)), + u"pdr_low": float(groups.group(3)), + u"pdr_low_b": float(groups.group(4)), + u"pdr_lat_90_1": groups.group(5), + u"pdr_lat_90_2": groups.group(6), + u"pdr_lat_50_1": groups.group(7), + u"pdr_lat_50_2": groups.group(8), + u"pdr_lat_10_1": groups.group(9), + u"pdr_lat_10_2": groups.group(10), } except (AttributeError, IndexError, ValueError, KeyError): return msg @@ -411,69 +400,59 @@ class ExecutionChecker(ResultVisitor): robot framework. :type in_str_1: str :type in_str_2: str - :returns: Processed latency string or original string if a problem + :returns: Processed latency string or empty string if a problem occurs. :rtype: tuple(str, str) """ in_list_1 = in_str_1.split('/', 3) - if len(in_list_1) < 3: - return u"Not Measured.", u"Not Measured." - in_list_2 = in_str_2.split('/', 3) - if len(in_list_2) < 3: - return u"Not Measured.", u"Not Measured." - hdr_lat_1 = u"" - if len(in_list_1) == 4: - in_list_1[3] += u"=" * (len(in_list_1[3]) % 4) - try: - hdr_lat_1 = hdrh.histogram.HdrHistogram.decode(in_list_1[3]) - except hdrh.codec.HdrLengthException: - pass - hdr_lat_2 = u"" - if len(in_list_2) == 4: - in_list_2[3] += u"=" * (len(in_list_2[3]) % 4) - try: - hdr_lat_2 = hdrh.histogram.HdrHistogram.decode(in_list_2[3]) - except hdrh.codec.HdrLengthException: - pass + if len(in_list_1) != 4 and len(in_list_2) != 4: + return u"" + + in_list_1[3] += u"=" * (len(in_list_1[3]) % 4) + try: + hdr_lat_1 = hdrh.histogram.HdrHistogram.decode(in_list_1[3]) + except hdrh.codec.HdrLengthException: + return u"" + + in_list_2[3] += u"=" * (len(in_list_2[3]) % 4) + try: + hdr_lat_2 = hdrh.histogram.HdrHistogram.decode(in_list_2[3]) + except hdrh.codec.HdrLengthException: + return u"" - hdr_lat = u"Not Measured." if hdr_lat_1 and hdr_lat_2: - hdr_lat = ( - f"50%/90%/99%/99.9%, " - f"{hdr_lat_1.get_value_at_percentile(50.0)}/" - f"{hdr_lat_1.get_value_at_percentile(90.0)}/" - f"{hdr_lat_1.get_value_at_percentile(99.0)}/" - f"{hdr_lat_1.get_value_at_percentile(99.9)}, " - f"{hdr_lat_2.get_value_at_percentile(50.0)}/" - f"{hdr_lat_2.get_value_at_percentile(90.0)}/" - f"{hdr_lat_2.get_value_at_percentile(99.0)}/" - f"{hdr_lat_2.get_value_at_percentile(99.9)} " - f"uSec." + return ( + f"{hdr_lat_1.get_value_at_percentile(50.0)} " + f"{hdr_lat_1.get_value_at_percentile(90.0)} " + f"{hdr_lat_1.get_value_at_percentile(99.0)} , " + f"{hdr_lat_2.get_value_at_percentile(50.0)} " + f"{hdr_lat_2.get_value_at_percentile(90.0)} " + f"{hdr_lat_2.get_value_at_percentile(99.0)}" ) - return ( - f"Min/Avg/Max, " - f"{in_list_1[0]}/{in_list_1[1]}/{in_list_1[2]}, " - f"{in_list_2[0]}/{in_list_2[1]}/{in_list_2[2]} uSec.", - hdr_lat - ) + return u"" try: - pdr_lat = _process_lat(data[u'pdr_lat_1'], data[u'pdr_lat_2']) - ndr_lat = _process_lat(data[u'ndr_lat_1'], data[u'ndr_lat_2']) + pdr_lat_10 = _process_lat(data[u'pdr_lat_10_1'], + data[u'pdr_lat_10_2']) + pdr_lat_50 = _process_lat(data[u'pdr_lat_50_1'], + data[u'pdr_lat_50_2']) + pdr_lat_90 = _process_lat(data[u'pdr_lat_90_1'], + data[u'pdr_lat_90_2']) + pdr_lat_10 = f"\n3. {pdr_lat_10}" if pdr_lat_10 else u"" + pdr_lat_50 = f"\n4. {pdr_lat_50}" if pdr_lat_50 else u"" + pdr_lat_90 = f"\n5. {pdr_lat_90}" if pdr_lat_90 else u"" + return ( - f"NDR Throughput: {(data[u'ndr_low'] / 1e6):.2f} " - f"M{data[u'ndr_low_unit']}, " - f"{data[u'ndr_low_b']:.2f} {data[u'ndr_low_b_unit']}.\n" - f"One-Way Latency at NDR: {ndr_lat[0]}\n" - f"One-Way Latency at NDR by percentiles: {ndr_lat[1]}\n" - f"PDR Throughput: {(data[u'pdr_low'] / 1e6):.2f} " - f"M{data[u'pdr_low_unit']}, " - f"{data[u'pdr_low_b']:.2f} {data[u'pdr_low_b_unit']}.\n" - f"One-Way Latency at PDR: {pdr_lat[0]}\n" - f"One-Way Latency at PDR by percentiles: {pdr_lat[1]}" + u" |prein| " + f"1. {(data[u'ndr_low'] / 1e6):.2f} {data[u'ndr_low_b']:.2f}" + f"\n2. {(data[u'pdr_low'] / 1e6):.2f} {data[u'pdr_low_b']:.2f}" + f"{pdr_lat_10}" + f"{pdr_lat_50}" + f"{pdr_lat_90}" + u" |preout| " ) except (AttributeError, IndexError, ValueError, KeyError): return msg diff --git a/resources/tools/presentation/specification.yaml b/resources/tools/presentation/specification.yaml index 41f1e0925a..83057b11ed 100644 --- a/resources/tools/presentation/specification.yaml +++ b/resources/tools/presentation/specification.yaml @@ -4097,9 +4097,9 @@ output-file-ext: ".csv" output-file: "{DIR[DTR,PERF,VPP,3N,HSW]}/vpp_performance_results_3n_hsw" columns: - - title: "Name" + - title: "Test Name" data: "data name" - - title: "Status" + - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " data: "data msg" rows: "generated" data: "vpp-perf-results-3n-hsw" @@ -4116,9 +4116,9 @@ # output-file-ext: ".csv" # output-file: "{DIR[DTR,PERF,VPP,3N,SKX]}/vpp_performance_results_3n_skx" # columns: -# - title: "Name" +# - title: "Test Name" # data: "data name" -# - title: "Status" +# - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " # data: "data msg" # rows: "generated" # data: "vpp-perf-results-3n-skx" @@ -4135,9 +4135,9 @@ # output-file-ext: ".csv" # output-file: "{DIR[DTR,PERF,VPP,2N,SKX]}/vpp_performance_results_2n_skx" # columns: -# - title: "Name" +# - title: "Test Name" # data: "data name" -# - title: "Status" +# - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " # data: "data msg" # rows: "generated" # data: "vpp-perf-results-2n-skx" @@ -4154,9 +4154,9 @@ # output-file-ext: ".csv" # output-file: "{DIR[DTR,PERF,VPP,2N,CLX]}/vpp_performance_results_2n_clx" # columns: -# - title: "Name" +# - title: "Test Name" # data: "data name" -# - title: "Status" +# - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " # data: "data msg" # rows: "generated" # data: "vpp-perf-results-2n-clx" @@ -4173,9 +4173,9 @@ output-file-ext: ".csv" output-file: "{DIR[DTR,PERF,VPP,3N,TSH]}/vpp_performance_results_3n_tsh" columns: - - title: "Name" + - title: "Test Name" data: "data name" - - title: "Status" + - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " data: "data msg" rows: "generated" data: "vpp-perf-results-3n-tsh" @@ -4192,9 +4192,9 @@ output-file-ext: ".csv" output-file: "{DIR[DTR,PERF,VPP,3N,DNV]}/vpp_performance_results_3n_dnv" columns: - - title: "Name" + - title: "Test Name" data: "data name" - - title: "Status" + - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " data: "data msg" rows: "generated" data: "vpp-perf-results-3n-dnv" @@ -4211,9 +4211,9 @@ output-file-ext: ".csv" output-file: "{DIR[DTR,PERF,VPP,2N,DNV]}/vpp_performance_results_2n_dnv" columns: - - title: "Name" + - title: "Test Name" data: "data name" - - title: "Status" + - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " data: "data msg" rows: "generated" data: "vpp-perf-results-2n-dnv" @@ -4419,7 +4419,7 @@ output-file-ext: ".csv" output-file: "{DIR[DTR,MRR,VPP,3N,HSW]}/vpp_mrr_results_3n_hsw" columns: - - title: "Name" + - title: "Test Name" data: "data name" - title: "Status" data: "data msg" @@ -4438,7 +4438,7 @@ # output-file-ext: ".csv" # output-file: "{DIR[DTR,MRR,VPP,3N,SKX]}/vpp_mrr_results_3n_skx" # columns: -# - title: "Name" +# - title: "Test Name" # data: "data name" # - title: "Status" # data: "data msg" @@ -4457,7 +4457,7 @@ # output-file-ext: ".csv" # output-file: "{DIR[DTR,MRR,VPP,2N,SKX]}/vpp_mrr_results_2n_skx" # columns: -# - title: "Name" +# - title: "Test Name" # data: "data name" # - title: "Status" # data: "data msg" @@ -4476,7 +4476,7 @@ # output-file-ext: ".csv" # output-file: "{DIR[DTR,MRR,VPP,2N,CLX]}/vpp_mrr_results_2n_clx" # columns: -# - title: "Name" +# - title: "Test Name" # data: "data name" # - title: "Status" # data: "data msg" @@ -4495,7 +4495,7 @@ # output-file-ext: ".csv" # output-file: "{DIR[DTR,MRR,VPP,3N,TSH]}/vpp_mrr_results_3n_tsh" # columns: -# - title: "Name" +# - title: "Test Name" # data: "data name" # - title: "Status" # data: "data msg" @@ -4514,7 +4514,7 @@ output-file-ext: ".csv" output-file: "{DIR[DTR,MRR,VPP,3N,DNV]}/vpp_mrr_results_3n_dnv" columns: - - title: "Name" + - title: "Test Name" data: "data name" - title: "Status" data: "data msg" @@ -4533,7 +4533,7 @@ output-file-ext: ".csv" output-file: "{DIR[DTR,MRR,VPP,2N,DNV]}/vpp_mrr_results_2n_dnv" columns: - - title: "Name" + - title: "Test Name" data: "data name" - title: "Status" data: "data msg" @@ -4685,7 +4685,7 @@ output-file-ext: ".csv" output-file: "{DIR[DTR,FUNC,VPP,DEVICE,UBUNTU]}/vpp_device_results_ubuntu" columns: - - title: "Name" + - title: "Test Name" data: "data name" - title: "Documentation" data: "data doc" @@ -5106,9 +5106,9 @@ output-file-ext: ".csv" output-file: "{DIR[DTR,PERF,DPDK,3N,HSW]}/dpdk_performance_results_3n_hsw" columns: - - title: "Name" + - title: "Test Name" data: "data name" - - title: "Status" + - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " data: "data msg" rows: "generated" data: "dpdk-perf-results-3n-hsw" @@ -5125,9 +5125,9 @@ # output-file-ext: ".csv" # output-file: "{DIR[DTR,PERF,DPDK,3N,SKX]}/dpdk_performance_results_3n_skx" # columns: -# - title: "Name" +# - title: "Test Name" # data: "data name" -# - title: "Status" +# - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " # data: "data msg" # rows: "generated" # data: "dpdk-perf-results-3n-skx" @@ -5144,9 +5144,9 @@ # output-file-ext: ".csv" # output-file: "{DIR[DTR,PERF,DPDK,2N,SKX]}/dpdk_performance_results_2n_skx" # columns: -# - title: "Name" +# - title: "Test Name" # data: "data name" -# - title: "Status" +# - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " # data: "data msg" # rows: "generated" # data: "dpdk-perf-results-2n-skx" @@ -5163,9 +5163,9 @@ # output-file-ext: ".csv" # output-file: "{DIR[DTR,PERF,DPDK,2N,CLX]}/dpdk_performance_results_2n_clx" # columns: -# - title: "Name" +# - title: "Test Name" # data: "data name" -# - title: "Status" +# - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " # data: "data msg" # rows: "generated" # data: "dpdk-perf-results-2n-clx" @@ -5182,9 +5182,9 @@ output-file-ext: ".csv" output-file: "{DIR[DTR,PERF,DPDK,2N,DNV]}/dpdk_performance_results_2n_dnv" columns: - - title: "Name" + - title: "Test Name" data: "data name" - - title: "Status" + - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " data: "data msg" rows: "generated" data: "dpdk-perf-results-2n-dnv" @@ -5201,9 +5201,9 @@ output-file-ext: ".csv" output-file: "{DIR[DTR,PERF,DPDK,3N,DNV]}/dpdk_performance_results_3n_dnv" columns: - - title: "Name" + - title: "Test Name" data: "data name" - - title: "Status" + - title: " |prein| 1. Mpps Gbps (NDR Throughput) |br| 2. Mpps Gbps (PDR Throughput) |br| 3. P50 P90 P99 , P50 P90 P99 (10% PDR Uni-Dir Latency in uSec) |br| 4. P50 P90 P99 , P50 P90 P99 (50% PDR Uni-Dir Latency in uSec) |br| 5. P50 P90 P99 , P50 P90 P99 (90% PDR Uni-Dir Latency in uSec) |preout| " data: "data msg" rows: "generated" data: "dpdk-perf-results-3n-dnv" |