show worker queue size in the cluster status

This commit is contained in:
Murat Kabilov 2017-08-28 11:06:44 +02:00
parent f44c8e1206
commit 53ceede3cb
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,
WorkerQueueSize: queueSizes,
}
}

View File

@ -104,6 +104,7 @@ type ClusterStatus struct {
type ControllerStatus struct {
LastSyncTime int64
Clusters int
WorkerQueueSize map[int]int
}
// QueueDump describes cache.FIFO queue