Worker queue size in the status api endpoint

This commit is contained in:
Murat Kabilov 2017-08-28 12:13:42 +02:00 committed by GitHub
commit a987ff39a7
2 changed files with 11 additions and 4 deletions

View File

@ -51,9 +51,15 @@ func (c *Controller) GetStatus() *spec.ControllerStatus {
clustersCnt := len(c.clusters)
c.clustersMu.RUnlock()
queueSizes := make(map[int]int, c.opConfig.Workers)
for workerID, queue := range c.clusterEventQueues {
queueSizes[workerID] = len(queue.ListKeys())
}
return &spec.ControllerStatus{
LastSyncTime: atomic.LoadInt64(&c.lastClusterSyncTime),
Clusters: clustersCnt,
LastSyncTime: atomic.LoadInt64(&c.lastClusterSyncTime),
Clusters: clustersCnt,
WorkerQueueSize: queueSizes,
}
}

View File

@ -102,8 +102,9 @@ type ClusterStatus struct {
// ControllerStatus describes status of the controller
type ControllerStatus struct {
LastSyncTime int64
Clusters int
LastSyncTime int64
Clusters int
WorkerQueueSize map[int]int
}
// QueueDump describes cache.FIFO queue