mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +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
|
"Index", // 2
|
||||||
"PendingRequests", // 3
|
"PendingRequests", // 3
|
||||||
"ExecutingRequests", // 4
|
"ExecutingRequests", // 4
|
||||||
"VirtualStart", // 5
|
"SeatsInUse", // 5
|
||||||
|
"NextDispatchR", // 6
|
||||||
|
"InitialSeatsSum", // 7
|
||||||
|
"MaxSeatsSum", // 8
|
||||||
|
"TotalWorkSum", // 9
|
||||||
}
|
}
|
||||||
tabPrint(tabWriter, rowForHeaders(columnHeaders))
|
tabPrint(tabWriter, rowForHeaders(columnHeaders))
|
||||||
endLine(tabWriter)
|
endLine(tabWriter)
|
||||||
@ -114,18 +118,26 @@ func (cfgCtlr *configController) dumpQueues(w http.ResponseWriter, r *http.Reque
|
|||||||
"<none>", // 3
|
"<none>", // 3
|
||||||
"<none>", // 4
|
"<none>", // 4
|
||||||
"<none>", // 5
|
"<none>", // 5
|
||||||
|
"<none>", // 6
|
||||||
|
"<none>", // 7
|
||||||
|
"<none>", // 8
|
||||||
|
"<none>", // 9
|
||||||
))
|
))
|
||||||
endLine(tabWriter)
|
endLine(tabWriter)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
queueSetDigest := plState.queues.Dump(false)
|
queueSetDigest := plState.queues.Dump(false)
|
||||||
for i, q := range queueSetDigest.Queues {
|
for i, q := range queueSetDigest.Queues {
|
||||||
tabPrint(tabWriter, rowForQueue(
|
tabPrint(tabWriter, row(
|
||||||
plState.pl.Name, // 1
|
plState.pl.Name, // 1 - "PriorityLevelName"
|
||||||
i, // 2
|
strconv.Itoa(i), // 2 - "Index"
|
||||||
len(q.Requests), // 3
|
strconv.Itoa(len(q.Requests)), // 3 - "PendingRequests"
|
||||||
q.ExecutingRequests, // 4
|
strconv.Itoa(q.ExecutingRequests), // 4 - "ExecutingRequests"
|
||||||
q.VirtualStart, // 5
|
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)
|
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 {
|
func rowForRequest(plName, fsName string, queueIndex, requestIndex int, flowDistinguisher string, arriveTime time.Time) string {
|
||||||
return row(
|
return row(
|
||||||
plName,
|
plName,
|
||||||
|
@ -32,12 +32,19 @@ type QueueSetDump struct {
|
|||||||
|
|
||||||
// QueueDump is an instant dump of one queue in a queue-set.
|
// QueueDump is an instant dump of one queue in a queue-set.
|
||||||
type QueueDump struct {
|
type QueueDump struct {
|
||||||
|
QueueSum QueueSum
|
||||||
Requests []RequestDump
|
Requests []RequestDump
|
||||||
VirtualStart float64
|
NextDispatchR string
|
||||||
ExecutingRequests int
|
ExecutingRequests int
|
||||||
SeatsInUse int
|
SeatsInUse int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type QueueSum struct {
|
||||||
|
InitialSeatsSum int
|
||||||
|
MaxSeatsSum int
|
||||||
|
TotalWorkSum string
|
||||||
|
}
|
||||||
|
|
||||||
// RequestDump is an instant dump of one requests pending in the queue.
|
// RequestDump is an instant dump of one requests pending in the queue.
|
||||||
type RequestDump struct {
|
type RequestDump struct {
|
||||||
MatchedFlowSchema string
|
MatchedFlowSchema string
|
||||||
|
@ -173,12 +173,19 @@ func (q *queue) dump(includeDetails bool) debug.QueueDump {
|
|||||||
return true
|
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{
|
return debug.QueueDump{
|
||||||
VirtualStart: q.nextDispatchR.ToFloat(), // TODO: change QueueDump to use SeatSeconds
|
NextDispatchR: q.nextDispatchR.String(),
|
||||||
Requests: digest,
|
Requests: digest,
|
||||||
ExecutingRequests: q.requestsExecuting,
|
ExecutingRequests: q.requestsExecuting,
|
||||||
SeatsInUse: q.seatsInUse,
|
SeatsInUse: q.seatsInUse,
|
||||||
|
QueueSum: queueSum,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user