summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWei Huang <wei.huang1@ibm.com>2019-06-19 14:26:12 +0800
committerWei Huang <wei.huang1@ibm.com>2019-06-20 18:00:31 +0800
commit7ce57c6a8e914453b19961878c7ed12971b4ccd2 (patch)
tree01fd8fabac8d1e31caa9c5891880ae196a034300
parent0a406008ed9750be8b9f95441d1a52ec4fcb6582 (diff)
conventional test args to bypass UTs
- when running benchmark tests, we used to use `-run=xxx` to exclude unit tests; however a more conventional way is to use `-run=^$`, `-run=^$$` here is to excape the $ simbol, otherwise it won't work. - add info to display benchmark output only
-rw-r--r--contributors/devel/sig-scheduling/scheduler_benchmarking.md10
1 files changed, 6 insertions, 4 deletions
diff --git a/contributors/devel/sig-scheduling/scheduler_benchmarking.md b/contributors/devel/sig-scheduling/scheduler_benchmarking.md
index dc456e21..1c08b5d8 100644
--- a/contributors/devel/sig-scheduling/scheduler_benchmarking.md
+++ b/contributors/devel/sig-scheduling/scheduler_benchmarking.md
@@ -11,7 +11,7 @@ To run integration benchmarks use the following command from inside a Kubernetes
directory.
```sh
-make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-run=xxx -bench=."
+make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-run=^$$ -bench=."
```
You can also provide a benchmark name in order to run a specific set of
@@ -19,9 +19,11 @@ benchmarks. Please refer to [Go documentation on benchmarks](https://golang.org/
for more information.
```sh
-make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-run=xxx -bench=BenchmarkScheduling"
+make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-run=^$$ -bench=BenchmarkScheduling"
```
+> To display benchmark output only, you can append `-alsologtostderr=false -logtostderr=false` to `KUBE_TEST_ARGS`.
+
These benchmarks are located in `./test/integration/scheduler_perf/scheduler_bench_test.go`.
The function names start with `BenchmarkScheduling`. At the beginning of each
function there are a few lines in the form of:
@@ -51,7 +53,7 @@ it in the `-bench` argument. For example, the following will run only those
benchmarks with 5000 nodes and 1000 existing pods.
```sh
-make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-run=xxx -bench=BenchmarkScheduling/5000Nodes/1000Pods"
+make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-run=^$$ -bench=BenchmarkScheduling/5000Nodes/1000Pods"
```
## Profiling the scheduler
@@ -60,7 +62,7 @@ You can get CPU profiling information from the benchmarks by adding a `-cpuprofi
to the command above. Example:
```sh
-make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-run=xxx -bench=BenchmarkScheduling -cpuprofile cpu.out"
+make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_VMODULE="''" KUBE_TEST_ARGS="-run=^$$ -bench=BenchmarkScheduling -cpuprofile cpu.out"
```
After obtaining the CPU profile, you can use `pprof` to view the results. For