mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
Merge pull request #105660 from tkashem/apf-debug
apf: update queue debug to include queue sum stats and next dispatch R in seat-seconds
This commit is contained in:
commit
92f67c6347
@ -102,7 +102,11 @@ func (cfgCtlr *configController) dumpQueues(w http.ResponseWriter, r *http.Reque
|
||||
"Index", // 2
|
||||
"PendingRequests", // 3
|
||||
"ExecutingRequests", // 4
|
||||
"VirtualStart", // 5
|
||||
"SeatsInUse", // 5
|
||||
"NextDispatchR", // 6
|
||||
"InitialSeatsSum", // 7
|
||||
"MaxSeatsSum", // 8
|
||||
"TotalWorkSum", // 9
|
||||
}
|
||||
tabPrint(tabWriter, rowForHeaders(columnHeaders))
|
||||
endLine(tabWriter)
|
||||
@ -114,18 +118,26 @@ func (cfgCtlr *configController) dumpQueues(w http.ResponseWriter, r *http.Reque
|
||||
"<none>", // 3
|
||||
"<none>", // 4
|
||||
"<none>", // 5
|
||||
"<none>", // 6
|
||||
"<none>", // 7
|
||||
"<none>", // 8
|
||||
"<none>", // 9
|
||||
))
|
||||
endLine(tabWriter)
|
||||
continue
|
||||
}
|
||||
queueSetDigest := plState.queues.Dump(false)
|
||||
for i, q := range queueSetDigest.Queues {
|
||||
tabPrint(tabWriter, rowForQueue(
|
||||
plState.pl.Name, // 1
|
||||
i, // 2
|
||||
len(q.Requests), // 3
|
||||
q.ExecutingRequests, // 4
|
||||
q.VirtualStart, // 5
|
||||
tabPrint(tabWriter, row(
|
||||
plState.pl.Name, // 1 - "PriorityLevelName"
|
||||
strconv.Itoa(i), // 2 - "Index"
|
||||
strconv.Itoa(len(q.Requests)), // 3 - "PendingRequests"
|
||||
strconv.Itoa(q.ExecutingRequests), // 4 - "ExecutingRequests"
|
||||
strconv.Itoa(q.SeatsInUse), // 5 - "SeatsInUse"
|
||||
q.NextDispatchR, // 6 - "NextDispatchR"
|
||||
strconv.Itoa(q.QueueSum.InitialSeatsSum), // 7 - "InitialSeatsSum"
|
||||
strconv.Itoa(q.QueueSum.MaxSeatsSum), // 8 - "MaxSeatsSum"
|
||||
q.QueueSum.TotalWorkSum, // 9 - "TotalWorkSum"
|
||||
))
|
||||
endLine(tabWriter)
|
||||
}
|
||||
@ -229,16 +241,6 @@ func rowForPriorityLevel(plName string, activeQueues int, isIdle, isQuiescing bo
|
||||
)
|
||||
}
|
||||
|
||||
func rowForQueue(plName string, index, waitingRequests, executingRequests int, virtualStart float64) string {
|
||||
return row(
|
||||
plName,
|
||||
strconv.Itoa(index),
|
||||
strconv.Itoa(waitingRequests),
|
||||
strconv.Itoa(executingRequests),
|
||||
fmt.Sprintf("%.4f", virtualStart),
|
||||
)
|
||||
}
|
||||
|
||||
func rowForRequest(plName, fsName string, queueIndex, requestIndex int, flowDistinguisher string, arriveTime time.Time) string {
|
||||
return row(
|
||||
plName,
|
||||
|
@ -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
|
||||
NextDispatchR string
|
||||
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
|
||||
NextDispatchR: q.nextDispatchR.String(),
|
||||
Requests: digest,
|
||||
ExecutingRequests: q.requestsExecuting,
|
||||
SeatsInUse: q.seatsInUse,
|
||||
QueueSum: queueSum,
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user