aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/presentation/generator_tables.py
diff options
context:
space:
mode:
authorTibor Frank <tifrank@cisco.com>2020-04-02 11:25:02 +0200
committerTibor Frank <tifrank@cisco.com>2020-04-02 11:25:02 +0200
commit2be78e25da37491046ccb3a39f738c2a534805f0 (patch)
treed9a56d646317c24887bb3ca20492fdb8e1142ae5 /resources/tools/presentation/generator_tables.py
parentfafa2a32fec6584fb24e22ba5db4e4cda3acdfc0 (diff)
Report: HTML comparison tables.
Change-Id: I144d1ee15505a9d08acdacb50f53df02420d60a8 Signed-off-by: Tibor Frank <tifrank@cisco.com>
Diffstat (limited to 'resources/tools/presentation/generator_tables.py')
-rw-r--r--resources/tools/presentation/generator_tables.py85
1 files changed, 47 insertions, 38 deletions
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"<b>Sort by:</b>",
- x=0,
- xref=u"paper",
- y=1.035,
- yref=u"paper",
- align=u"left",
- showarrow=False
- )
- ]
+ # annotations=[
+ # go.layout.Annotation(
+ # text=u"<b>Sort by:</b>",
+ # 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"</div>")
- except ValueError:
- return
- footnote = (legend + footnote).replace(u'\n', u'<br>')
- html_text = (
- html_text[:idx] +
- f"<div>{footnote}</div>" +
- 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 <br />\n\n\n"
+ u".. |prein| raw:: html\n\n <pre>\n\n\n"
+ u".. |preout| raw:: html\n\n </pre>\n\n"
+ )
+ rst_file.write(
+ u".. raw:: html\n\n"
+ f' <iframe frameborder="0" scrolling="no" '
+ f'width="1600" height="1000" '
+ f'src="../..{out_file_name.replace(u"_build", u"")}_in.html">'
+ f'</iframe>\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
)