summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
215e1a0)
Change-Id: I6381c916582509c45f12d4e6d1d63ffeffc1eaf5
Signed-off-by: Tibor Frank <tifrank@cisco.com>
-Report History
-==============
+FD.io CSIT-18.10 Test Report History
+====================================
+---------+--------------------------------------------------------------------+
| Version | Change |
+=========+====================================================================+
+---------+--------------------------------------------------------------------+
| Version | Change |
+=========+====================================================================+
-| 1.2 | - Add automatic wrapping of long test names in graphs |
+| .w47 | 1. Automatic wrapping of long test names in graphs added. |
+| | 2. Data and time format in the header changed |
+| | 3. Versioning changed. |
+| | |
+---------+--------------------------------------------------------------------+
+---------+--------------------------------------------------------------------+
-| 1.1 | - Add dot1q KVM VMs vhost-user tests to the VPP performance |
-| | graphs. |
-| | - Add the information about the number of runs used to generate |
-| | the plots. |
-| | - Add the test results: |
-| | - K8s Container Memif, |
-| | - VPP on 3n-hsw testbed. |
+| .w46 | 1. dot1q KVM VMs vhost-user tests added to |
+| | :ref:`KVM_VMs_vhost`. |
+| | |
+| | 2. Added number of test runs used to generate data for all graphs |
+| | (throughput, speedup multi-core and latency). |
+| | |
+| | 3. Added more test runs: |
+| | |
+| | a. K8s Container Memif, |
+| | b. VPP on 3n-hsw testbed. |
+| | |
++---------+--------------------------------------------------------------------+
+| .w45 | Initial version |
+---------+--------------------------------------------------------------------+
+---------+--------------------------------------------------------------------+
-| 1.0 | Initial version |
-+---------+--------------------------------------------------------------------+
\ No newline at end of file
KVM VMs vhost-user
==================
KVM VMs vhost-user
==================
master_doc = 'index'
# General information about the project.
master_doc = 'index'
# General information about the project.
-project = u'FD.io CSIT-18.10.W47'
+project = u'FD.io CSIT-18.10.w47'
copyright = u'2018, FD.io'
author = u'FD.io CSIT'
copyright = u'2018, FD.io'
author = u'FD.io CSIT'
.. _CSIT Testbed Setup: https://git.fd.io/csit/tree/resources/tools/testbed-setup/README.md?h={release}
.. _K8s configuration files: https://github.com/FDio/csit/tree/{release}/resources/templates/kubernetes
""".format(release='rls1810',
.. _CSIT Testbed Setup: https://git.fd.io/csit/tree/resources/tools/testbed-setup/README.md?h={release}
.. _K8s configuration files: https://github.com/FDio/csit/tree/{release}/resources/templates/kubernetes
""".format(release='rls1810',
prev_release='rls1807',
srelease='1810',
csitrelease='18.10',
prev_release='rls1807',
srelease='1810',
csitrelease='18.10',
ret_code = _generate_all_charts(spec, data)
cmd = HTML_BUILDER.format(
ret_code = _generate_all_charts(spec, data)
cmd = HTML_BUILDER.format(
- date=datetime.utcnow().strftime('%Y-%m-%dT%H:%MZ'),
+ date=datetime.utcnow().strftime('%Y-%m-%d %H:%M UTC'),
working_dir=spec.environment["paths"]["DIR[WORKING,SRC]"],
build_dir=spec.environment["paths"]["DIR[BUILD,HTML]"])
execute_command(cmd)
working_dir=spec.environment["paths"]["DIR[WORKING,SRC]"],
build_dir=spec.environment["paths"]["DIR[BUILD,HTML]"])
execute_command(cmd)
df.head()
y_max = list()
for i, col in enumerate(df.columns):
df.head()
y_max = list()
for i, col in enumerate(df.columns):
- name = "{0}. {1}".format(i + 1, col.lower().replace('-ndrpdr', ''))
- if len(name) > 60:
+ name = "{nr}. ({samples:02d} run{plural}) {name}".\
+ format(nr=(i + 1),
+ samples=nr_of_samples[i],
+ plural='s' if nr_of_samples[i] > 1 else '',
+ name=col.lower().replace('-ndrpdr', ''))
+ if len(name) > 50:
name_lst = name.split('-')
name = ""
split_name = True
for segment in name_lst:
name_lst = name.split('-')
name = ""
split_name = True
for segment in name_lst:
- if (len(name) + len(segment) + 1) > 60 and split_name:
+ if (len(name) + len(segment) + 1) > 50 and split_name:
name += "<br> "
split_name = False
name += segment + '-'
name = name[:-1]
name += "<br> "
split_name = False
name += segment + '-'
name = name[:-1]
- name = "{name} ({samples} run{plural})".\
- format(name=name,
- samples=nr_of_samples[i],
- plural='s' if nr_of_samples[i] > 1 else '')
logging.debug(name)
traces.append(plgo.Box(x=[str(i + 1) + '.'] * len(df[col]),
y=[y / 1000000 if y else None for y in df[col]],
logging.debug(name)
traces.append(plgo.Box(x=[str(i + 1) + '.'] * len(df[col]),
y=[y / 1000000 if y else None for y in df[col]],
nr_of_samples = list()
for key, val in y_sorted.items():
name = "-".join(key.split("-")[1:-1])
nr_of_samples = list()
for key, val in y_sorted.items():
name = "-".join(key.split("-")[1:-1])
name_lst = name.split('-')
name = ""
split_name = True
for segment in name_lst:
name_lst = name.split('-')
name = ""
split_name = True
for segment in name_lst:
- if (len(name) + len(segment) + 1) > 60 and split_name:
+ if (len(name) + len(segment) + 1) > 50 and split_name:
name += "<br> "
split_name = False
name += segment + '-'
name += "<br> "
split_name = False
name += segment + '-'
direction = "West-East"
else:
direction = "East-West"
direction = "West-East"
else:
direction = "East-West"
- hovertext = ("Test: {test}<br>"
- "Direction: {dir}<br>"
- "No. of Runs: {nr}<br>".format(test=x_vals[idx],
- dir=direction,
- nr=nr_of_samples[idx]))
+ hovertext = ("No. of Runs: {nr}<br>"
+ "Test: {test}<br>"
+ "Direction: {dir}<br>".format(test=x_vals[idx],
+ dir=direction,
+ nr=nr_of_samples[idx]))
if isinstance(y_maxs[idx], float):
hovertext += "Max: {max:.2f}uSec<br>".format(max=y_maxs[idx])
if isinstance(y_vals[idx], float):
if isinstance(y_maxs[idx], float):
hovertext += "Max: {max:.2f}uSec<br>".format(max=y_maxs[idx])
if isinstance(y_vals[idx], float):
try:
if test_vals["1"][1]:
name = "-".join(test_name.split('-')[1:-1])
try:
if test_vals["1"][1]:
name = "-".join(test_name.split('-')[1:-1])
name_lst = name.split('-')
name = ""
split_name = True
for segment in name_lst:
name_lst = name.split('-')
name = ""
split_name = True
for segment in name_lst:
- if (len(name) + len(segment) + 1) > 60 and split_name:
+ if (len(name) + len(segment) + 1) > 50 and split_name:
name += "<br> "
split_name = False
name += segment + '-'
name += "<br> "
split_name = False
name += segment + '-'
for idx in range(len(val["val"])):
htext = ""
if isinstance(val["val"][idx], float):
for idx in range(len(val["val"])):
htext = ""
if isinstance(val["val"][idx], float):
- htext += "Mean: {0:.2f}Mpps<br>" \
- "No. of Runs: {1}<br>".format(val["val"][idx],
- val["count"][idx])
+ htext += "No. of Runs: {1}<br>" \
+ "Mean: {0:.2f}Mpps<br>".format(val["val"][idx],
+ val["count"][idx])
if isinstance(val["diff"][idx], float):
htext += "Diff: {0:.0f}%<br>".format(round(val["diff"][idx]))
if isinstance(val["rel"][idx], float):
if isinstance(val["diff"][idx], float):
htext += "Diff: {0:.0f}%<br>".format(round(val["diff"][idx]))
if isinstance(val["rel"][idx], float):
df = pd.DataFrame(y_vals)
df.head()
for i, col in enumerate(df.columns):
df = pd.DataFrame(y_vals)
df.head()
for i, col in enumerate(df.columns):
- name = "{0}. {1}".format(i + 1, col.lower().replace('-ndrpdr', ''))
- if len(name) > 60:
+ name = "{nr}. ({samples:02d} run{plural}) {name}".\
+ format(nr=(i + 1),
+ samples=nr_of_samples[i],
+ plural='s' if nr_of_samples[i] > 1 else '',
+ name=col.lower().replace('-ndrpdr', ''))
+ if len(name) > 50:
name_lst = name.split('-')
name = ""
split_name = True
for segment in name_lst:
name_lst = name.split('-')
name = ""
split_name = True
for segment in name_lst:
- if (len(name) + len(segment) + 1) > 60 and split_name:
+ if (len(name) + len(segment) + 1) > 50 and split_name:
name += "<br> "
split_name = False
name += segment + '-'
name = name[:-1]
name += "<br> "
split_name = False
name += segment + '-'
name = name[:-1]
- name = "{name} ({samples} run{plural})".\
- format(name=name,
- samples=nr_of_samples[i],
- plural='s' if nr_of_samples[i] > 1 else '')
traces.append(plgo.Box(x=[str(i + 1) + '.'] * len(df[col]),
y=df[col],
traces.append(plgo.Box(x=[str(i + 1) + '.'] * len(df[col]),
y=df[col],
'-b html -E ' \
'-t html ' \
'-D release={release} ' \
'-b html -E ' \
'-t html ' \
'-D release={release} ' \
- '-D version="Report v{report_version} - {date}" ' \
+ '-D version="Test Report {date}" ' \
'{working_dir} ' \
'{build_dir}/'
'{working_dir} ' \
'{build_dir}/'
'-b latex -E ' \
'-t latex ' \
'-D release={release} ' \
'-b latex -E ' \
'-t latex ' \
'-D release={release} ' \
- '-D version="Report v{report_version} - {date}" ' \
+ '-D version="Test Report {date}" ' \
'{working_dir} ' \
'{build_dir}'
'{working_dir} ' \
'{build_dir}'
cmd = HTML_BUILDER.format(
release=release,
report_version=report_version,
cmd = HTML_BUILDER.format(
release=release,
report_version=report_version,
- date=datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%MZ'),
+ date=datetime.datetime.utcnow().strftime('%Y-%m-%d %H:%M UTC'),
working_dir=working_dir,
build_dir=spec.environment["paths"]["DIR[BUILD,HTML]"])
execute_command(cmd)
working_dir=working_dir,
build_dir=spec.environment["paths"]["DIR[BUILD,HTML]"])
execute_command(cmd)
cmd = PDF_BUILDER.format(
release=release,
report_version=report_version,
cmd = PDF_BUILDER.format(
release=release,
report_version=report_version,
- date=datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%MZ'),
+ date=datetime.datetime.utcnow().strftime('%Y-%m-%d %H:%M UTC'),
working_dir=working_dir,
build_dir=build_dir)
execute_command(cmd)
working_dir=working_dir,
build_dir=build_dir)
execute_command(cmd)
python pal.py \
--specification specification.yaml \
--release ${RELEASE} \
python pal.py \
--specification specification.yaml \
--release ${RELEASE} \