Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions acceptance/router_benchmark/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ data = [
"//tools/mmbm:mmbm",
]

# The router benchmark is excluded from CI. CI agents are shared, virtualized machines,
# so the throughput they measure says little about the router.
# Performance regression testing is scheduled on baremetal instead.
raw_test(
name = "test",
src = "test.py",
Expand All @@ -40,6 +43,7 @@ raw_test(
homedir = "$(rootpath //docker:router.tarball)",
# This test uses sudo and accesses /var/run/netns.
local = True,
tags = ["manual"],
deps = ["benchmarklib"],
)

Expand Down
14 changes: 14 additions & 0 deletions doc/dev/testing/benchmarking.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,17 @@ results available for pickup by :program:`benchmark.py`.
Otherwise these operations still have to be carried out manually. The :program:`mmbm` and
:program:`coremark` tools can be found in: ``bazel-bin/tools/mmbm/mmbm_/mmbm`` and
``bazel-bin/tools/coremark/coremark``.

Router benchmark acceptance test
================================

The benchmark harness is also wrapped in a Bazel test that sets up a local topology and
benchmarks the router in it:

.. code-block:: sh

bazel test --test_output=streamed //acceptance/router_benchmark:test

This test is tagged ``manual``. It is not part of the CI build nor of ``//...`` wildcards.
CI agents are shared, virtualized machines, so the throughput they measure says little
about the router. Performance regression testing is scheduled on baremetal instead.
Loading