mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-24 02:51:33 +00:00
apf: include queue sum stats in debug
This commit is contained in:
parent
f0e80a6f10
commit
87c7401eb8
@ -19,6 +19,7 @@ package flowcontrol
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"k8s.io/apiserver/pkg/util/flowcontrol/debug"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
@ -103,6 +104,9 @@ func (cfgCtlr *configController) dumpQueues(w http.ResponseWriter, r *http.Reque
|
||||
"PendingRequests", // 3
|
||||
"ExecutingRequests", // 4
|
||||
"VirtualStart", // 5
|
||||
"InitialSeatsSum", // 6
|
||||
"MaxSeatsSum", // 7
|
||||
"TotalWorkSum", // 8
|
||||
}
|
||||
tabPrint(tabWriter, rowForHeaders(columnHeaders))
|
||||
endLine(tabWriter)
|
||||
@ -114,6 +118,9 @@ func (cfgCtlr *configController) dumpQueues(w http.ResponseWriter, r *http.Reque
|
||||
"<none>", // 3
|
||||
"<none>", // 4
|
||||
"<none>", // 5
|
||||
"<none>", // 6
|
||||
"<none>", // 7
|
||||
"<none>", // 8
|
||||
))
|
||||
endLine(tabWriter)
|
||||
continue
|
||||
@ -126,6 +133,7 @@ func (cfgCtlr *configController) dumpQueues(w http.ResponseWriter, r *http.Reque
|
||||
len(q.Requests), // 3
|
||||
q.ExecutingRequests, // 4
|
||||
q.VirtualStart, // 5
|
||||
q.QueueSum, // 6, 7, 8
|
||||
))
|
||||
endLine(tabWriter)
|
||||
}
|
||||
@ -229,13 +237,16 @@ func rowForPriorityLevel(plName string, activeQueues int, isIdle, isQuiescing bo
|
||||
)
|
||||
}
|
||||
|
||||
func rowForQueue(plName string, index, waitingRequests, executingRequests int, virtualStart float64) string {
|
||||
func rowForQueue(plName string, index, waitingRequests, executingRequests int, virtualStart float64, sum debug.QueueSum) string {
|
||||
return row(
|
||||
plName,
|
||||
strconv.Itoa(index),
|
||||
strconv.Itoa(waitingRequests),
|
||||
strconv.Itoa(executingRequests),
|
||||
fmt.Sprintf("%.4f", virtualStart),
|
||||
strconv.Itoa(sum.InitialSeatsSum),
|
||||
strconv.Itoa(sum.MaxSeatsSum),
|
||||
sum.TotalWorkSum,
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -32,12 +32,19 @@ type QueueSetDump struct {
|
||||
|
||||
// QueueDump is an instant dump of one queue in a queue-set.
|
||||
type QueueDump struct {
|
||||
QueueSum QueueSum
|
||||
Requests []RequestDump
|
||||
VirtualStart float64
|
||||
ExecutingRequests int
|
||||
SeatsInUse int
|
||||
}
|
||||
|
||||
type QueueSum struct {
|
||||
InitialSeatsSum int
|
||||
MaxSeatsSum int
|
||||
TotalWorkSum string
|
||||
}
|
||||
|
||||
// RequestDump is an instant dump of one requests pending in the queue.
|
||||
type RequestDump struct {
|
||||
MatchedFlowSchema string
|
||||
|
@ -173,12 +173,19 @@ func (q *queue) dump(includeDetails bool) debug.QueueDump {
|
||||
return true
|
||||
})
|
||||
|
||||
// TODO: change QueueDump to include queueSum stats
|
||||
sum := q.requests.QueueSum()
|
||||
queueSum := debug.QueueSum{
|
||||
InitialSeatsSum: sum.InitialSeatsSum,
|
||||
MaxSeatsSum: sum.MaxSeatsSum,
|
||||
TotalWorkSum: sum.TotalWorkSum.String(),
|
||||
}
|
||||
|
||||
return debug.QueueDump{
|
||||
VirtualStart: q.nextDispatchR.ToFloat(), // TODO: change QueueDump to use SeatSeconds
|
||||
Requests: digest,
|
||||
ExecutingRequests: q.requestsExecuting,
|
||||
SeatsInUse: q.seatsInUse,
|
||||
QueueSum: queueSum,
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user