summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--test/Makefile24
2 files changed, 19 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 8964329b17b..133c3d45cb5 100644
--- a/Makefile
+++ b/Makefile
@@ -252,6 +252,7 @@ define test
VPP_TEST_INSTALL_PATH=$(BR)/install-$(2)-native/ \
LD_LIBRARY_PATH=$(BR)/install-$(2)-native/vpp/lib64/ \
EXTENDED_TESTS=$(EXTENDED_TESTS) \
+ PYTHON=$(PYTHON) \
$(3)
endef
diff --git a/test/Makefile b/test/Makefile
index 787dd9d12c7..da45fb838ce 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -36,17 +36,29 @@ endif
PYTHON_VENV_PATH=$(VPP_PYTHON_PREFIX)/virtualenv
PYTHON_DEPENDS=scapy==2.3.3 pexpect subprocess32 cffi git+https://github.com/klement/py-lispnetworking@setup
-SCAPY_SOURCE=$(PYTHON_VENV_PATH)/lib/python2.7/site-packages/
-BUILD_COV_DIR = $(BR)/test-cov
+SCAPY_SOURCE=$(shell find $(PYTHON_VENV_PATH) -name site-packages)
+BUILD_COV_DIR=$(BR)/test-cov
+GET_PIP_SCRIPT=$(VPP_PYTHON_PREFIX)/get-pip.py
PIP_INSTALL_DONE=$(VPP_PYTHON_PREFIX)/pip-install.done
PIP_PATCH_DONE=$(VPP_PYTHON_PREFIX)/pip-patch.done
PAPI_INSTALL_DONE=$(VPP_PYTHON_PREFIX)/papi-install.done
PAPI_INSTALL_FLAGS=$(PIP_INSTALL_DONE) $(PIP_PATCH_DONE) $(PAPI_INSTALL_DONE)
-$(PIP_INSTALL_DONE):
- @virtualenv $(PYTHON_VENV_PATH) -p python2.7
+ifeq ($(PYTHON),)
+PYTHON_INTERP=python2.7
+else
+PYTHON_INTERP=$(PYTHON)
+endif
+
+$(GET_PIP_SCRIPT):
+ @mkdir -p $(VPP_PYTHON_PREFIX)
+ @bash -c "cd $(VPP_PYTHON_PREFIX) && curl -O https://bootstrap.pypa.io/get-pip.py"
+
+$(PIP_INSTALL_DONE): $(GET_PIP_SCRIPT)
+ @virtualenv $(PYTHON_VENV_PATH) -p $(PYTHON_INTERP)
+ @bash -c "source $(PYTHON_VENV_PATH)/bin/activate && python $(GET_PIP_SCRIPT)"
@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && pip install $(PYTHON_DEPENDS)"
@touch $@
@@ -114,7 +126,7 @@ wipe: reset
@rm -f $(PAPI_INSTALL_FLAGS)
doc: verify-python-path $(PIP_PATCH_DONE)
- @virtualenv $(PYTHON_VENV_PATH) -p python2.7
+ @virtualenv $(PYTHON_VENV_PATH) -p $(PYTHON_INTERP)
@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && pip install sphinx sphinx-rtd-theme"
@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && make -C doc WS_ROOT=$(WS_ROOT) BR=$(BR) NO_VPP_PAPI=1 html"
@@ -139,7 +151,7 @@ wipe-cov: wipe
.PHONY: checkstyle
checkstyle: verify-python-path
- @virtualenv $(PYTHON_VENV_PATH) -p python2.7
+ @virtualenv $(PYTHON_VENV_PATH) -p $(PYTHON_INTERP)
@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && pip install pep8"
@bash -c "source $(PYTHON_VENV_PATH)/bin/activate &&\
pep8 --show-source -v $(WS_ROOT)/test/*.py ||\
n25'>25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
VPP Performance Dashboard
=========================

Description
-----------

Performance dashboard tables provide the latest VPP throughput trend,
trend compliance and detected anomalies, all on a per VPP test case
basis.  Linked trendline graphs enable further drill-down into the
trendline compliance, sequence and nature of anomalies, as well as
pointers to performance test builds/logs and VPP builds. Performance
trending is currently based on the Maximum Receive Rate (MRR) tests. MRR
tests measure the packet forwarding rate under the maximum load offered
by traffic generator over a set trial duration, regardless of packet
loss. See :ref:`trending_methodology` section for more detail including
trend and anomaly calculations.

Data samples are generated by the CSIT VPP performance trending jobs
executed twice a day (target start: every 12 hrs, 02:00, 14:00 UTC). All
trend and anomaly evaluation is based on a rolling window of <N=14> data
samples, covering last 7 days.

Failed tests
------------

The table lists the tests which failed over the <N=14> runs of the trending
jobs.

Legend to the table:

    - **Test Case**: name of FD.io CSIT test case, naming convention
      `here <https://wiki.fd.io/view/CSIT/csit-test-naming>`_.
    - **Fails [#]**: number of fails of the tests over the period.
    - **Last Fail [Date]**: the date and time when the test failed the last
      time.
    - **Last Fail [VPP Build]**: VPP build which was tested when the test failed
      the last time.
    - **Last Fail [CSIT Build]**: the last CSIT build where the test failed.

.. include:: ../../../_build/_static/vpp/failed-tests.rst

Dashboard
---------

Legend to the tables:

    - **Test Case**: name of FD.io CSIT test case, naming convention
      `here <https://wiki.fd.io/view/CSIT/csit-test-naming>`_.
    - **Trend [Mpps]**: last value of performance trend.
    - **Short-Term Change [%]**: Relative change of last trend value
      vs. last week trend value.
    - **Long-Term Change [%]**: Relative change of last trend value vs.
      maximum of trend values over the last quarter except last week.
    - **Regressions [#]**: Number of regressions detected.
    - **Progressions [#]**: Number of progressions detected.
    - **Outliers [#]**: Number of outliers detected.

Tested VPP worker-thread-core combinations (1t1c, 2t2c, 4t4c) are listed
in separate tables in section 1.x. Followed by trending methodology in
section 2. and trendline graphs in sections 3.x. Performance test  data
used for trendline graphs is provided in sections 4.x.

VPP worker on 1t1c
``````````````````

.. include:: ../../../_build/_static/vpp/performance-trending-dashboard-1t1c.rst

VPP worker on 2t2c
``````````````````

.. include:: ../../../_build/_static/vpp/performance-trending-dashboard-2t2c.rst

VPP worker on 4t4c
``````````````````

.. include:: ../../../_build/_static/vpp/performance-trending-dashboard-4t4c.rst