mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
Merge pull request #103829 from tkashem/apf-queueset-clock
apf: use EventClock for queueset
This commit is contained in:
commit
641eeb5350
@ -21,14 +21,15 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/util/clock"
|
|
||||||
"k8s.io/apiserver/pkg/server/mux"
|
"k8s.io/apiserver/pkg/server/mux"
|
||||||
"k8s.io/apiserver/pkg/util/flowcontrol/counter"
|
"k8s.io/apiserver/pkg/util/flowcontrol/counter"
|
||||||
fq "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing"
|
fq "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing"
|
||||||
|
fairqueuingclock "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/clock"
|
||||||
fqs "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset"
|
fqs "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset"
|
||||||
"k8s.io/apiserver/pkg/util/flowcontrol/metrics"
|
"k8s.io/apiserver/pkg/util/flowcontrol/metrics"
|
||||||
kubeinformers "k8s.io/client-go/informers"
|
kubeinformers "k8s.io/client-go/informers"
|
||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
|
utilclock "k8s.io/utils/clock"
|
||||||
|
|
||||||
flowcontrol "k8s.io/api/flowcontrol/v1beta1"
|
flowcontrol "k8s.io/api/flowcontrol/v1beta1"
|
||||||
flowcontrolclient "k8s.io/client-go/kubernetes/typed/flowcontrol/v1beta1"
|
flowcontrolclient "k8s.io/client-go/kubernetes/typed/flowcontrol/v1beta1"
|
||||||
@ -83,7 +84,7 @@ func New(
|
|||||||
requestWaitLimit time.Duration,
|
requestWaitLimit time.Duration,
|
||||||
) Interface {
|
) Interface {
|
||||||
grc := counter.NoOp{}
|
grc := counter.NoOp{}
|
||||||
clk := clock.RealClock{}
|
clk := fairqueuingclock.RealEventClock{}
|
||||||
return NewTestable(TestableConfig{
|
return NewTestable(TestableConfig{
|
||||||
Name: "Controller",
|
Name: "Controller",
|
||||||
Clock: clk,
|
Clock: clk,
|
||||||
@ -104,7 +105,7 @@ type TestableConfig struct {
|
|||||||
Name string
|
Name string
|
||||||
|
|
||||||
// Clock to use in timing deliberate delays
|
// Clock to use in timing deliberate delays
|
||||||
Clock clock.PassiveClock
|
Clock utilclock.PassiveClock
|
||||||
|
|
||||||
// AsFieldManager is the string to use in the metadata for
|
// AsFieldManager is the string to use in the metadata for
|
||||||
// server-side apply. Normally this is
|
// server-side apply. Normally this is
|
||||||
|
@ -23,12 +23,11 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/utils/clock"
|
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/util/runtime"
|
"k8s.io/apimachinery/pkg/util/runtime"
|
||||||
"k8s.io/apiserver/pkg/util/flowcontrol/counter"
|
"k8s.io/apiserver/pkg/util/flowcontrol/counter"
|
||||||
"k8s.io/apiserver/pkg/util/flowcontrol/debug"
|
"k8s.io/apiserver/pkg/util/flowcontrol/debug"
|
||||||
fq "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing"
|
fq "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing"
|
||||||
|
fairqueuingclock "k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/clock"
|
||||||
"k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/promise"
|
"k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/promise"
|
||||||
"k8s.io/apiserver/pkg/util/flowcontrol/metrics"
|
"k8s.io/apiserver/pkg/util/flowcontrol/metrics"
|
||||||
fqrequest "k8s.io/apiserver/pkg/util/flowcontrol/request"
|
fqrequest "k8s.io/apiserver/pkg/util/flowcontrol/request"
|
||||||
@ -48,7 +47,7 @@ const nsTimeFmt = "2006-01-02 15:04:05.000000000"
|
|||||||
// queueSetFactory makes QueueSet objects.
|
// queueSetFactory makes QueueSet objects.
|
||||||
type queueSetFactory struct {
|
type queueSetFactory struct {
|
||||||
counter counter.GoRoutineCounter
|
counter counter.GoRoutineCounter
|
||||||
clock clock.PassiveClock
|
clock fairqueuingclock.EventClock
|
||||||
}
|
}
|
||||||
|
|
||||||
// `*queueSetCompleter` implements QueueSetCompleter. Exactly one of
|
// `*queueSetCompleter` implements QueueSetCompleter. Exactly one of
|
||||||
@ -71,7 +70,7 @@ type queueSetCompleter struct {
|
|||||||
// not end in "Locked" either acquires the lock or does not care about
|
// not end in "Locked" either acquires the lock or does not care about
|
||||||
// locking.
|
// locking.
|
||||||
type queueSet struct {
|
type queueSet struct {
|
||||||
clock clock.PassiveClock
|
clock fairqueuingclock.EventClock
|
||||||
counter counter.GoRoutineCounter
|
counter counter.GoRoutineCounter
|
||||||
estimatedServiceTime float64
|
estimatedServiceTime float64
|
||||||
obsPair metrics.TimedObserverPair
|
obsPair metrics.TimedObserverPair
|
||||||
@ -121,7 +120,7 @@ type queueSet struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewQueueSetFactory creates a new QueueSetFactory object
|
// NewQueueSetFactory creates a new QueueSetFactory object
|
||||||
func NewQueueSetFactory(c clock.PassiveClock, counter counter.GoRoutineCounter) fq.QueueSetFactory {
|
func NewQueueSetFactory(c fairqueuingclock.EventClock, counter counter.GoRoutineCounter) fq.QueueSetFactory {
|
||||||
return &queueSetFactory{
|
return &queueSetFactory{
|
||||||
counter: counter,
|
counter: counter,
|
||||||
clock: c,
|
clock: c,
|
||||||
|
1
vendor/modules.txt
vendored
1
vendor/modules.txt
vendored
@ -1548,6 +1548,7 @@ k8s.io/apiserver/pkg/util/flowcontrol
|
|||||||
k8s.io/apiserver/pkg/util/flowcontrol/counter
|
k8s.io/apiserver/pkg/util/flowcontrol/counter
|
||||||
k8s.io/apiserver/pkg/util/flowcontrol/debug
|
k8s.io/apiserver/pkg/util/flowcontrol/debug
|
||||||
k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing
|
k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing
|
||||||
|
k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/clock
|
||||||
k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/promise
|
k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/promise
|
||||||
k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset
|
k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/queueset
|
||||||
k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/testing
|
k8s.io/apiserver/pkg/util/flowcontrol/fairqueuing/testing
|
||||||
|
Loading…
Reference in New Issue
Block a user