Abu Kashem
d089edccf5
Revert "Merge pull request #107456 from tkashem/apf-ssa"
...
This reverts commit 6faa4f001008a5a29476f5722f66430c35f48229, reversing
changes made to 33a2c50bce334467640e016f68cf19e9382ba1a7.
Kubernetes-commit: 8fb33338635565f2f755a4557b94c26039c175d9
2022-01-26 13:54:26 -05:00
Abu Kashem
ac4e99eacb
apf: change controller to use SSA for patches
...
Kubernetes-commit: d9f4d6507b6a43342a3fe39756dc72b73be1fb6d
2022-01-10 14:15:42 -05:00
Abu Kashem
44e5395e0e
apf: add metric to track dispatch with no accommodation
...
Kubernetes-commit: 30c0485e0cba3ec6b19e092e7e78059b3fd4f18c
2021-11-23 10:55:31 -05:00
Patrick Ohly
ec795ae204
avoid klog Info calls without verbosity
...
In the following code pattern, the log message will get logged with v=0 in JSON
output although conceptually it has a higher verbosity:
if klog.V(5).Enabled() {
klog.Info("hello world")
}
Having the actual verbosity in the JSON output is relevant, for example for
filtering out only the important info messages. The solution is to use
klog.V(5).Info or something similar.
Whether the outer if is necessary at all depends on how complex the parameters
are. The return value of klog.V can be captured in a variable and be used
multiple times to avoid the overhead for that function call and to avoid
repeating the verbosity level.
Kubernetes-commit: 9eaa2dc554e0c3d4485d4c916dfdbc2f517db2e0
2021-12-11 12:10:21 +01:00
Wojciech Tyczyński
bfcf29ce7a
P&F: enable mutating work estimator
...
Kubernetes-commit: 8f5ece0548b59b1f8706f79af814d9f7700acb5c
2021-11-02 12:54:29 +01:00
Mike Spreitzer
6adfddf535
Clarify APF metric wrt all three stages of execution
...
Kubernetes-commit: 88f8e8448bf873cf41035cb858422a10a1d03018
2021-11-30 11:45:53 -05:00
Abu Kashem
6bd59a523a
apf: add a metric to count seat samples
...
Kubernetes-commit: bb15bdf15c1cc4d5a4380f3f6ed46d4adc9662a1
2021-11-23 11:36:09 -05:00
Abu Kashem
1d83e4074a
apf: ensure exempt request notes the classification
...
Kubernetes-commit: 8b2dd74c277d6a56a14e99830d39b23c5788c62e
2021-12-05 11:29:15 -05:00
Davanum Srinivas
56a3a30ae1
Check in OWNERS modified by update-yamlfmt.sh
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
Kubernetes-commit: 9405e9b55ebcd461f161859a698b949ea3bde31d
2021-12-09 21:31:26 -05:00
Abu Kashem
40993f6319
apf: add new label for request_execution_seconds metric
...
Kubernetes-commit: 54439e934371a3018f49e629cdc68f0944e08af0
2021-10-06 11:55:12 -04:00
Mike Spreitzer
d9e2f76835
Correct Generator calls for executing seat count
...
Kubernetes-commit: 95964c5b351657820c4a8db0da0b772cb222fe99
2021-11-29 14:50:11 -05:00
Mike Spreitzer
8c46c2c1d9
Fix sample_and_watermark_test.go for bad luck, repeated test
...
Kubernetes-commit: 06e17165b16a4706ecf86b089de2bc1c0faea264
2021-11-10 15:30:50 -05:00
Mike Spreitzer
4098be7694
Factored TimedObserver into less surprising pieces
...
Kubernetes-commit: ab64e852023965fd8873abcd50ff09cf79814d11
2021-11-15 14:59:30 -05:00
Mike Spreitzer
56b220f8cd
Add metrics about watch counts seen by APF
...
Kubernetes-commit: 154bf6aab33c2486a9066f66ab3a056c1095cb9a
2021-10-25 03:31:47 -04:00
Mike Spreitzer
6a2631848c
Add sample-and-watermark for seats occupied during all of execution
...
Kubernetes-commit: 945f960cfb8fc018b093c1a08e5d4cdd362b1fc6
2021-10-25 01:13:52 -04:00
Wojciech Tyczyński
64f47d35c4
P&F fix watch tracker bug
...
Kubernetes-commit: b1d0fde370ae409ff028c557c6a60ff69491e499
2021-11-03 15:02:51 +01:00
Wojciech Tyczyński
44154d94e6
Enable support for indexes in WatchTracker
...
Kubernetes-commit: 21ec77dc19047215094a538b717e24035ca000ab
2021-10-28 14:57:47 +02:00
Wojciech Tyczyński
9ad8b586fc
P&F: Update WatchTracker interface to pass more information
...
Kubernetes-commit: 12746f4bc15458d585ffd4c6e9d6066810e27361
2021-10-28 12:41:41 +02:00
Wojciech Tyczyński
bdc01eb8e6
P&F: update mutating request estimation
...
Kubernetes-commit: 4700cf622bfcf5c2b159ddc4e37d7f51d1c41e68
2021-10-27 10:25:38 +02:00
Wojciech Tyczyński
55b43e446f
P&F: move seat-seconds to a better location
...
Kubernetes-commit: e262db7a4daf5218520e49b423789ea55a94af75
2021-10-27 10:30:25 +02:00
Wojciech Tyczyński
9c98ce48a5
P&F: clean up mutating work estimator tests
...
Kubernetes-commit: 943bc38c0e0076935701d32067d5a2d8d512be8a
2021-10-27 10:05:13 +02:00
Abu Kashem
3f529d0551
apf: call metrics.AddReject for decisionCancel
...
Kubernetes-commit: f6dcf17a10dfd2cb5ce0ea7923723547c92c2e55
2021-10-18 13:08:56 -04:00
Mike Spreitzer
5283383fb5
Clarify metrics help wrt APF execution phases
...
Kubernetes-commit: d7a3bf0d260a0c291941cda68492f10e5010ac91
2021-10-24 22:32:13 -04:00
Ben Luddy
7324607749
Free APF seats for watches handled by an aggregated apiserver.
...
Kubernetes-commit: 1873915be6be40df20fe35a8e0c7e8e0a620111a
2021-10-06 10:16:46 -04:00
Mike Spreitzer
5ab6f3fe6b
Remove presumptions about what decision has been made
...
Kubernetes-commit: e70999becd98aa00fd00bc622ffdca0476ec7340
2021-10-18 02:10:21 -06:00
Abu Kashem
b40e786ba3
apf: return nil for a request that has been removed from queue
...
Kubernetes-commit: cd06ba502cf85603242008cc9f61234790ede6de
2021-10-18 12:46:54 -04:00
Mike Spreitzer
c5a0365136
Fix nits noticed in recent code review
...
Kubernetes-commit: 1844a052776bce33322ce20c11b2902403655ef8
2021-10-18 23:51:48 -05:00
Abu Kashem
fb57181f8d
apf: include seat information in request dump
...
Kubernetes-commit: 8e33a3b2cc97813724b64be36fe977290db3053a
2021-10-14 09:27:54 -04:00
Abu Kashem
20ef863037
apf: include seats in use in queue dump
...
Kubernetes-commit: edf657a33a70ff942d9a0695f602bed13e5e9628
2021-10-13 10:39:37 -04:00
Abu Kashem
88992ba87a
apf: change QueueDump to use SeatSeconds
...
Kubernetes-commit: 3ef5752edf5b3f7076041368b1c1b5396ee534d7
2021-10-13 10:22:41 -04:00
Abu Kashem
e4ae91b4a2
apf: include queue sum stats in debug
...
Kubernetes-commit: 87c7401eb853678da804ff503e266daeef5ad126
2021-10-13 10:14:30 -04:00
wojtekt
f578e7708d
Disable P&F for watch requests
...
Kubernetes-commit: 763e6d1dbb6371c66b62e4ea4c1fcbee1c113bda
2021-10-13 07:43:05 +02:00
Mike Spreitzer
d69d77c659
Update queueset_test.go for FinalSeats
...
Track the introduction of FinalSeats.
Give up on calculating expected results for tests with added latency,
because I did not find an easy and obvious way to do it.
Kubernetes-commit: 0fc595e03360ba7fc4c3e251d4b41f39172aca72
2021-10-08 22:27:39 -07:00
wojtekt
c3ef02ad27
Adjust final seats if they don't fit the limit
...
Kubernetes-commit: c5a77d8a761b0651b53864f9e396d6f23efd01d2
2021-10-08 11:14:11 +02:00
wojtekt
c18ab3e1b1
Estimate width of the request based on watchers count in P&F
...
Kubernetes-commit: 223f9be59778b6ec2e44fd57df523f00e246bd95
2021-07-07 10:48:29 +02:00
Mike Spreitzer
56c6fd034b
Unconfused logging wrt additional latency
...
Fixed confusion in queueSet logging wrt seats and additional latency.
Kubernetes-commit: 42f698daad73d9c010027bb60fff9728168c71da
2021-10-11 13:21:46 -07:00
Mike Spreitzer
f7bfb170d7
Keep the progress meter R from overflowing
...
Also add test for that situation.
Kubernetes-commit: a797fbd96de8c67aaed58aef54fbe9f0eb94a2c2
2021-10-01 22:04:05 -07:00
Mike Spreitzer
487fea8e61
Update log messages in finishRequestLocked
...
Make them clearer and consistent.
Kubernetes-commit: 3906e187a685cebddef85226950fc36f65e8ddb4
2021-10-09 23:48:41 -07:00
Mike Spreitzer
1b1389676f
Relax TestDifferentWidths
...
Make the margin a little wider because flakiness was reported.
Kubernetes-commit: 10326282f9d1abcd4a45b737628286d40971efea
2021-10-07 16:09:53 -07:00
Mike Spreitzer
a5192405d9
Calculate the work in each request just once
...
Kubernetes-commit: f2c46c8f9d0b360cf913e22c222d9954b4ff9a76
2021-10-07 17:20:56 -07:00
Abu Kashem
9560ec6e92
introduce final seats for work estimate
...
Kubernetes-commit: 3d6cc118fee15313419bf7aa0082a2a608ec62f6
2021-09-24 15:18:27 -04:00
Mike Spreitzer
dc449969cc
Use SeatSeconds
...
Kubernetes-commit: 4b5e1398199282f471d0f332eefeb5c2415bdb01
2021-10-01 15:33:37 -07:00
Mike Spreitzer
0cb46ec2f7
Draft datatype for seat-seconds
...
Kubernetes-commit: d866f9445831687ab3254d754b13a4acf271882f
2021-10-01 13:29:35 -07:00
Abu Kashem
863c48fbc2
apf: rename WorkEstimate.Seats to InitialSeats
...
Kubernetes-commit: 5d67896adedbce27f01b59eb5f2054919a047f2b
2021-09-24 09:41:38 -04:00
Mike Spreitzer
72ff8a6261
Improve queueset sharding and dispatching
...
New anti-windup technique: use the request arrival time as the floor
on the virtual dispatch time. Prevent bound violations where they
might arise rather than fixing up just one queue at dispatch time,
so that the fixed up dispatch times figure into the dispatching choice.
Two tweaks to the shuffle sharding. Take seats of executing requests
into account as well as seats of waiting requests. Do not always
consider the generated hand in the same order.
Rename the queueset methods that do shuffle sharding and finding the
queue to dispatch from, because the old names were confusingly
similar.
Tighten up some request margins.
Name the test cases in TestNoRestraint and TestWindup.
Kubernetes-commit: 4b9cba85874158b25b5c994773a4ec04343820c2
2021-09-20 15:45:24 -04:00
Mike Spreitzer
8d3036922c
More test tweaks
...
Canonicalize listing of test cases.
Make TestNoRestraint try both cases: competition and none.
Kubernetes-commit: 0ee1a7b4ff9012b050bd447055ad5e1e8c57c30e
2021-09-20 15:45:24 -04:00
Mike Spreitzer
c505aa64af
Update TestNoRestraint and TestWindup
...
Make TestNoRestraint verify that fairness is NOT achieved
when there is real competition.
Make TestWindup run two cases, to show that 0.1 is too narrow
a margin and 0.26 is wide enough.
Kubernetes-commit: c4945fdf0c14ba2032a5c8edf192678d9fe00374
2021-09-17 01:40:16 -04:00
Mike Spreitzer
e417abf592
Migrate apiserver/pkg/util/flowcontrol to use k8s.io/utils/clock
...
.. instead of apimachinery/pkt/util/clock
Kubernetes-commit: 9f45c0f8c07cd0adfe38c887aa618d33b8a4ee1c
2021-09-17 15:14:42 -04:00
Mike Spreitzer
f17b9e7b4b
Track recent reorg in testing clockery
...
Kubernetes-commit: 20ccd735f6a55fdd9ecbe8cddb889310f0bc033b
2021-09-13 16:15:28 -04:00
Abu Kashem
db8aff032b
apf: update apf logic to use v1beta2
...
Kubernetes-commit: 28f2b42a4116a9223113e8b152e02a4f1e602ff4
2021-08-16 17:53:57 -04:00