Patrick Ohly
cc4bcd1d8e
scheduler_perf: report data items as benchmark results
...
This replaces the pretty useless us/op metric (useless because it includes
setup and teardown times) with the same values that also get stored in the JSON
file.
The main advantage is that benchstat can be used to analyze and compare
results.
2023-02-28 23:08:23 +01:00
Patrick Ohly
961129c5f1
scheduler_perf: add logging flags
...
This enables testing of different real production configurations (JSON
vs. text, different log levels, contextual logging).
2023-02-28 23:08:17 +01:00
Kante Yin
3d0894fabf
Fix failure(context canceled) in scheduler_perf benchmark ( #114843 )
...
* Fix failure in scheduler_perf benchmark
Signed-off-by: Kante Yin <kerthcet@gmail.com>
* Fatal when error in cleaning up nodes in scheduler perf tests
Signed-off-by: Kante Yin <kerthcet@gmail.com>
* Use derived context to better organize the codes
Signed-off-by: Kante Yin <kerthcet@gmail.com>
* Change log level to 2 in scheduler perf-test
Signed-off-by: Kante Yin <kerthcet@gmail.com>
---------
Signed-off-by: Kante Yin <kerthcet@gmail.com>
2023-01-30 16:21:00 -08:00
Patrick Ohly
2f6c4f5eab
e2e: use Ginkgo context
...
All code must use the context from Ginkgo when doing API calls or polling for a
change, otherwise the code would not return immediately when the test gets
aborted.
2022-12-16 20:14:04 +01:00
kerthcet
d6ffb47832
Replace klog with benchmark log in scheduler_perf
...
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-09 09:11:55 +08:00
Kubernetes Prow Robot
73f6b96f0a
Merge pull request #113615 from kerthcet/feat/add-benchmark-tests
...
Add nodeInclusionPolicy benchmark tests to scheduler_perf
2022-11-07 09:18:28 -08:00
kerthcet
bc15aca26d
Refactor SchedulerConfigFile
...
Rename to SchedulerConfigPath and make it a pointer
to be consist with other fields
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-05 00:30:34 +08:00
kerthcet
48f2c9ec20
Add benchmark tests for nodeInclusionPolicy
...
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-05 00:13:43 +08:00
kerthcet
cfc53ee524
Refactor code and annotations for readability
...
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-01 17:44:45 +08:00
kerthcet
21e8a69a22
Use operationCode instead of string directly
...
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-11-01 17:01:22 +08:00
Davanum Srinivas
a9593d634c
Generate and format files
...
- Run hack/update-codegen.sh
- Run hack/update-generated-device-plugin.sh
- Run hack/update-generated-protobuf.sh
- Run hack/update-generated-runtime.sh
- Run hack/update-generated-swagger-docs.sh
- Run hack/update-openapi-spec.sh
- Run hack/update-gofmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-07-26 13:14:05 -04:00
Wojciech Tyczyński
5b042f0bf4
Remove RunAnAPIServer from integration tests
2022-07-25 17:52:31 +02:00
Kensei Nakada
b0d47cb380
scheduler_perf: allow users to specify default pod and node specs ( #101799 )
...
* scheduler_perf: default pod and node spec
* Fix: un-support DefaultNodeTemplatePath
2022-06-29 11:44:07 -07:00
Kubernetes Prow Robot
629706e0fe
Merge pull request #109546 from sanposhiho/replace-metrics
...
Replace scheduler_e2e_scheduling_duration_seconds with scheduler_scheduling_attempt_duration_seconds in scheduler_perf
2022-05-04 01:29:22 -07:00
Kubernetes Prow Robot
f0cd3725d3
Merge pull request #101835 from sanposhiho/scheduler_perf/feature/op-sleep
...
scheduler_perf: create sleep operation
2022-05-03 17:17:11 -07:00
sanposhiho
b7b94b6b39
scheduler_perf: create sleep operation
2022-04-25 23:02:09 +00:00
sanposhiho
6e0da69632
Replace scheduler_e2e_scheduling_duration_seconds with scheduler_scheduling_attempt_duration_seconds in scheduler_perf
2022-04-20 00:48:12 +09:00
Kubernetes Prow Robot
546e4fa1ef
Merge pull request #107771 from sanposhiho/fix-tiny
...
make scheduler_perf stable
2022-03-04 17:22:52 -08:00
sanposhiho
4c3a1000c7
fix by gofmt
2022-02-25 00:23:01 +09:00
sanposhiho
1080c2d717
Make scheduler_perf stable
2022-02-24 01:29:38 +09:00
Kubernetes Prow Robot
21c0f6f6ff
Merge pull request #107677 from pohly/scheduler-integration-benchmark
...
scheduler integration benchmark improvements
2022-02-14 01:23:28 -08:00
Patrick Ohly
c62d7407c8
scheduler_perf: dump test data when writing it failed
...
Occasionally, writing as JSON failed because a NaN float couldn't be
encoded. The extended log message helps understand where that comes from, for
example:
F0120 20:24:45.515745 511835 scheduler_perf_test.go:540] BenchmarkPerfScheduling: unable to write measured data {Version:v1 DataItems:[{Data:map[Average:35.714285714285715 Perc50:2 Perc90:36 Perc95:412 Perc99:412] Unit:pods/s Labels:map[Metric:SchedulingThroughput Name:BenchmarkPerfScheduling/PreemptionPVs/500Nodes/namespace-2]} {Data:map[Average:27.863967530999993 Perc50:13.925925925925926 Perc90:30.06711409395973 Perc95:31.85682326621924 Perc99:704] Unit:ms Labels:map[Metric:scheduler_e2e_scheduling_duration_seconds Name:BenchmarkPerfScheduling/PreemptionPVs/500Nodes/namespace-2]} {Data:map[Average:11915.651577744 Perc50:15168.796680497926 Perc90:19417.759336099585 Perc95:19948.87966804979 Perc99:20373.77593360996] Unit:ms Labels:map[Metric:scheduler_pod_scheduling_duration_seconds Name:BenchmarkPerfScheduling/PreemptionPVs/500Nodes/namespace-2]} {Data:map[Average:1.1865832049999983 Perc50:0.7636363636363637 Perc90:2.891903719912473 Perc95:3.066958424507659 Perc99:5.333333333333334] Unit:ms Labels:map[Metric:scheduler_framework_extension_point_duration_seconds Name:BenchmarkPerfScheduling/PreemptionPVs/500Nodes/namespace-2 extension_point:Filter]} {Data:map[Average:NaN Perc50:NaN Perc90:NaN Perc95:NaN Perc99:NaN] Unit:ms Labels:map[Metric:scheduler_framework_extension_point_duration_seconds Name:BenchmarkPerfScheduling/PreemptionPVs/500Nodes/namespace-2 extension_point:Score]}]}: json: unsupported value: NaN
2022-02-07 08:59:19 +01:00
ahrtr
fe95aa614c
io/ioutil has already been deprecated in golang 1.16, so replace all ioutil with io and os
2022-02-03 05:32:12 +08:00
sanposhiho
d8840405e2
Create namespace for Pod not to occur error log of namespace not-found
2022-01-26 00:39:12 +09:00
sanposhiho
1318f74609
Fix: use Fatalf and list all unused params in one error
2021-09-09 07:34:30 +09:00
sanposhiho
6bf6e424a1
Fix: rename getParams→get
2021-09-09 07:11:36 +09:00
sanposhiho
24643c67d5
Fix: make struct un-exported
2021-09-09 07:10:37 +09:00
sanposhiho
cc846c9d33
Feature: check for unused template parameters
2021-09-02 01:46:34 +09:00
Dave Chen
58ab18bc1e
Add the metric data for different extension points
...
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-08-23 13:43:48 +08:00
Abdullah Gharaibeh
6988653457
Added benchmarks for pod affinity namespaceselector
2021-04-23 14:14:38 -04:00
Kubernetes Prow Robot
6d130d3b97
Merge pull request #100557 from chendave/validation_cleanup
...
Validate plugin config for KubeSchedulerConfiguration
2021-04-14 18:20:01 -07:00
Dave Chen
c6e65079c7
Validate plugin config for KubeSchedulerConfiguration
...
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-04-14 09:30:20 +08:00
Nicolas Mitchell
0e994e9481
return error with non-unique workload name in scheduler_perf_test
2021-04-06 10:24:04 -04:00
Nicolas Mitchell
338b06fb69
validate test/workload names in validateTestCases
2021-04-04 14:18:39 -04:00
Kubernetes Prow Robot
c78b5497ae
Merge pull request #99638 from chendave/perf_config
...
Enable scheduler_perf to support scheduler config file
2021-03-16 14:49:03 -07:00
Dave Chen
d50c0aeb5f
Enable scheduler_perf to support scheduler config file
...
Signed-off-by: Dave Chen <dave.chen@arm.com>
2021-03-16 23:13:40 +08:00
Wei Huang
b93b4a2c96
sched: fix a bug that metrics of init or collected pods are re-collected
2021-03-11 10:28:39 -08:00
Wei Huang
1e5878b910
Introduce a churnOp to scheduler perf testing framework
...
- support two modes: recreate and create
- use DynmaicClient to create API objects
2021-03-03 06:51:53 -08:00
Adhityaa Chandrasekar
b5808c6df9
scheduler_perf: remove implicit barrier at the end
...
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2021-02-03 12:49:28 +00:00
Dave Chen
5144e2ec78
Remove the deprecated metrics from scheduler
...
Deprecated metrics are removed and suggest to use the Histogram
metrics got from scheduler extension points.
Signed-off-by: Dave Chen <dave.chen@arm.com>
Co-authored-by: wawa0210 <xiaozhang0210@hotmail.com>
2020-12-14 11:31:50 +08:00
Wei Huang
267acdbe81
Update docs and fix redundant logic of scheduler perf
2020-11-06 23:45:09 -08:00
Adhityaa Chandrasekar
71bc9ce9c2
scheduler_perf: refactor to allow arbitrary workloads
...
Signed-off-by: Adhityaa Chandrasekar <adtac@google.com>
2020-09-17 19:22:20 +00:00
Abdullah Gharaibeh
36a3ad8752
Added a benchmark to evaluate overhead of unschedulable pods
2020-06-05 15:19:07 -04:00
Abdullah Gharaibeh
d650b57141
Added Preemption benchmark
2020-05-28 14:05:52 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Aldo Culquicondor
5adc4c41e3
Add multiple init pods to perf test cases
...
Add test case with several init pods with affinity or antiaffinity.
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-23 14:55:12 -04:00
Aldo Culquicondor
0e66e56e70
Use b.Fatal instead of klog.Fatal in scheduler perf tests
...
The test tool doesn't work properly with klog.Fatal
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-03-23 14:53:15 -04:00
Cong Liu
7f56c753b3
Make MetricCollector configurable for scheduler benchmark tests
2020-02-18 14:02:57 -08:00
Jan Chaloupka
7b5534021c
Collect some of scheduling metrics and scheduling throughput
...
In addition to getting overall performance measurements from golang benchmark,
collect metrics that provides information about insides of the scheduler itself.
This is a first step towards improving what we collect about the scheduler.
Metrics in question:
- scheduler_scheduling_algorithm_predicate_evaluation_seconds
- scheduler_scheduling_algorithm_priority_evaluation_seconds
- scheduler_binding_duration_seconds
- scheduler_e2e_scheduling_duration_seconds
Scheduling throughput is computed on the fly inside perfScheduling.
2020-02-13 13:32:09 +01:00
Mike Danese
38ecb30c58
Revert "Collect some of scheduling metrics and scheduling throughput"
2020-02-06 10:18:00 -08:00