diff --git a/testing/tests/benchmarks/conftest.py b/testing/tests/benchmarks/conftest.py
index 4dbc4377d3f0acd26e729ff243447924ddc2b465..0d171ef485ee1d3b5315b8474e6e319e55625cd6 100644
--- a/testing/tests/benchmarks/conftest.py
+++ b/testing/tests/benchmarks/conftest.py
@@ -24,8 +24,10 @@ server.ensure_server()
 
 def pytest_addoption(parser):
     parser.addoption(
-        "--num-docs", type="int", default=100,
-        help="the number of documents to use in performance tests")
+        "--watch-resources", default=False, action="store_true",
+        help="whether to monitor CPU and memory percentages during test run. "
+             "**Warning**: enabling this will impact the time taken by the "
+             "benchmarked code, so use with caution!")
 
 
 # mark benchmark tests using their group names (thanks ionelmc! :)
@@ -139,12 +141,21 @@ def _monitored_benchmark(benchmark_fixture, benchmark_function,
     })
 
 
+def _watch_resources(request):
+    return request.config.getoption('--watch-resources')
+
+
 @pytest.fixture
-def monitored_benchmark(benchmark):
-    return functools.partial(_monitored_benchmark, benchmark, benchmark)
+def monitored_benchmark(benchmark, request):
+    if not _watch_resources(request):
+        return benchmark
+    return functools.partial(
+        _monitored_benchmark, benchmark, benchmark)
 
 
 @pytest.fixture
-def monitored_benchmark_with_setup(benchmark):
+def monitored_benchmark_with_setup(benchmark, request):
+    if not _watch_resources(request):
+        return benchmark.pedantic
     return functools.partial(
         _monitored_benchmark, benchmark, benchmark.pedantic)