From 2be78e25da37491046ccb3a39f738c2a534805f0 Mon Sep 17 00:00:00 2001 From: Tibor Frank Date: Thu, 2 Apr 2020 11:25:02 +0200 Subject: Report: HTML comparison tables. Change-Id: I144d1ee15505a9d08acdacb50f53df02420d60a8 Signed-off-by: Tibor Frank --- resources/tools/presentation/generator_tables.py | 85 ++++++++++++---------- .../presentation/rca/rca-2n-skx-2t1c-pdr.yaml | 2 +- .../presentation/rca/rca-3n-skx-2t1c-pdr.yaml | 2 +- 3 files changed, 49 insertions(+), 40 deletions(-) (limited to 'resources') diff --git a/resources/tools/presentation/generator_tables.py b/resources/tools/presentation/generator_tables.py index 59affa3c77..0edf4da190 100644 --- a/resources/tools/presentation/generator_tables.py +++ b/resources/tools/presentation/generator_tables.py @@ -483,7 +483,7 @@ def _tpc_sort_table(table): return table -def _tpc_generate_html_table(header, data, output_file_name, legend=u"", +def _tpc_generate_html_table(header, data, out_file_name, legend=u"", footnote=u""): """Generate html table from input data with simple sorting possibility. @@ -492,13 +492,13 @@ def _tpc_generate_html_table(header, data, output_file_name, legend=u"", Inner lists are rows in the table. All inner lists must be of the same length. The length of these lists must be the same as the length of the header. - :param output_file_name: The name (relative or full path) where the + :param out_file_name: The name (relative or full path) where the generated html table is written. :param legend: The legend to display below the table. :param footnote: The footnote to display below the table (and legend). :type header: list :type data: list of lists - :type output_file_name: str + :type out_file_name: str :type legend: str :type footnote: str """ @@ -567,7 +567,7 @@ def _tpc_generate_html_table(header, data, output_file_name, legend=u"", go.layout.Updatemenu( type=u"dropdown", direction=u"down", - x=0.03, + x=0.0, # 0.03, xanchor=u"left", y=1.045, yanchor=u"top", @@ -575,40 +575,49 @@ def _tpc_generate_html_table(header, data, output_file_name, legend=u"", buttons=list(buttons) ) ], - annotations=[ - go.layout.Annotation( - text=u"Sort by:", - x=0, - xref=u"paper", - y=1.035, - yref=u"paper", - align=u"left", - showarrow=False - ) - ] + # annotations=[ + # go.layout.Annotation( + # text=u"Sort by:", + # x=0, + # xref=u"paper", + # y=1.035, + # yref=u"paper", + # align=u"left", + # showarrow=False + # ) + # ] ) - ploff.plot(fig, show_link=False, auto_open=False, filename=output_file_name) - - # Add legend and footnote: - if not (legend or footnote): - return + ploff.plot( + fig, + show_link=False, + auto_open=False, + filename=f"{out_file_name}_in.html" + ) - with open(output_file_name, u"rt") as html_file: - html_text = html_file.read() - if html_text: - try: - idx = html_text.rindex(u"") - except ValueError: - return - footnote = (legend + footnote).replace(u'\n', u'
') - html_text = ( - html_text[:idx] + - f"
{footnote}
" + - html_text[idx:] + file_name = out_file_name.split(u"/")[-1] + if u"vpp" in out_file_name: + path = u"_tmp/src/vpp_performance_tests/comparisons/" + else: + path = u"_tmp/src/dpdk_performance_tests/comparisons/" + with open(f"{path}{file_name}.rst", u"wt") as rst_file: + rst_file.write( + u"\n" + u".. |br| raw:: html\n\n
\n\n\n" + u".. |prein| raw:: html\n\n
\n\n\n"
+            u".. |preout| raw:: html\n\n    
\n\n" + ) + rst_file.write( + u".. raw:: html\n\n" + f' \n\n' ) - with open(output_file_name, u"wt") as html_file: - html_file.write(html_text) + if legend: + rst_file.write(legend[1:].replace(u"\n", u" |br| ")) + if footnote: + rst_file.write(footnote.replace(u"\n", u" |br| ")[1:]) def table_perf_comparison(table, input_data): @@ -962,7 +971,7 @@ def table_perf_comparison(table, input_data): _tpc_generate_html_table( header, tbl_lst, - f"{table[u'output-file']}.html", + table[u'output-file'], legend=legend, footnote=footnote ) @@ -1325,7 +1334,7 @@ def table_perf_comparison_nic(table, input_data): _tpc_generate_html_table( header, tbl_lst, - f"{table[u'output-file']}.html", + table[u'output-file'], legend=legend, footnote=footnote ) @@ -1500,7 +1509,7 @@ def table_nics_comparison(table, input_data): _tpc_generate_html_table( header, tbl_lst, - f"{table[u'output-file']}.html", + table[u'output-file'], legend=legend ) @@ -1680,7 +1689,7 @@ def table_soak_vs_ndr(table, input_data): _tpc_generate_html_table( header, tbl_lst, - f"{table[u'output-file']}.html", + table[u'output-file'], legend=legend ) diff --git a/resources/tools/presentation/rca/rca-2n-skx-2t1c-pdr.yaml b/resources/tools/presentation/rca/rca-2n-skx-2t1c-pdr.yaml index a4ee2f93c3..44c5bd5a1b 100644 --- a/resources/tools/presentation/rca/rca-2n-skx-2t1c-pdr.yaml +++ b/resources/tools/presentation/rca/rca-2n-skx-2t1c-pdr.yaml @@ -27,4 +27,4 @@ 64b-2t1c-avf-ethip4-ip4scale20k: 1 64b-2t1c-avf-ethip4-ip4scale2m: 1 64b-2t1c-ethip4udp-ip4base-nat44: 1 -footnote: "\nRoot Cause Analysis\n[1] Impact of Skx ucode upgrade from 0x2000043 to 0x2000065 in combination with SuperMicro motherboards/firmware and kernel updates, subjecto to the ongoing detailed RCA investigation with Intel NPG.\n[2] Applied fix of FVL NIC firmware 6.0.1 for increasing TRex Mpps rate from 27 Mpps to 37 Mpps, [CSIT-1503], [TRex-519].\n[3] Applied VPP PAPI fix to enable memif zero-copy, [CSIT-1592], [VPP-1764].\n[4] To-Be-Investigated, vhost-user avg PDR throughput rate has higher stdev than before.\n[5] To-Be-Investigated, dot1q-l2xc with DPDK FVL.\n" +footnote: "\nRoot Cause Analysis:\n[1] Impact of Skx ucode upgrade from 0x2000043 to 0x2000065 in combination with SuperMicro motherboards/firmware and kernel updates, subjecto to the ongoing detailed RCA investigation with Intel NPG.\n[2] Applied fix of FVL NIC firmware 6.0.1 for increasing TRex Mpps rate from 27 Mpps to 37 Mpps, [CSIT-1503], [TRex-519].\n[3] Applied VPP PAPI fix to enable memif zero-copy, [CSIT-1592], [VPP-1764].\n[4] To-Be-Investigated, vhost-user avg PDR throughput rate has higher stdev than before.\n[5] To-Be-Investigated, dot1q-l2xc with DPDK FVL.\n" diff --git a/resources/tools/presentation/rca/rca-3n-skx-2t1c-pdr.yaml b/resources/tools/presentation/rca/rca-3n-skx-2t1c-pdr.yaml index 4d79f76d7c..f562927cca 100644 --- a/resources/tools/presentation/rca/rca-3n-skx-2t1c-pdr.yaml +++ b/resources/tools/presentation/rca/rca-3n-skx-2t1c-pdr.yaml @@ -36,4 +36,4 @@ imix-2t1c-ethip4ipsec4tnlsw-ip4base-int-aes256gcm: 1 64b-2t1c-avf-ethip4-ip4scale20k: 1 64b-2t1c-avf-ethip4-ip4scale2m: 1 64b-2t1c-ethip4udp-ip4base-nat44: 1 -footnote: "\nRoot Cause Analysis\n[1] Impact of Skx ucode upgrade from 0x2000043 to 0x2000065 in combination with SuperMicro motherboards/firmware and kernel updates, subjecto to the ongoing detailed RCA investigation with Intel NPG.\n[2] Applied fix of FVL NIC firmware 6.0.1 for increasing TRex Mpps rate from 27 Mpps to 37 Mpps, [CSIT-1503], [TRex-519].\n[3] Applied VPP PAPI fix to enable memif zero-copy, [CSIT-1592], [VPP-1764].\n[4] To-Be-Investigated, vhost-user avg PDR throughput rate has higher stdev than before.\n[5] To-Be-Investigated, dot1q-l2xc with DPDK FVL.\n" +footnote: "\nRoot Cause Analysis:\n[1] Impact of Skx ucode upgrade from 0x2000043 to 0x2000065 in combination with SuperMicro motherboards/firmware and kernel updates, subjecto to the ongoing detailed RCA investigation with Intel NPG.\n[2] Applied fix of FVL NIC firmware 6.0.1 for increasing TRex Mpps rate from 27 Mpps to 37 Mpps, [CSIT-1503], [TRex-519].\n[3] Applied VPP PAPI fix to enable memif zero-copy, [CSIT-1592], [VPP-1764].\n[4] To-Be-Investigated, vhost-user avg PDR throughput rate has higher stdev than before.\n[5] To-Be-Investigated, dot1q-l2xc with DPDK FVL.\n" -- cgit 1.2.3-korg