diff options
Diffstat (limited to 'weed/mq/topic/local_manager.go')
| -rw-r--r-- | weed/mq/topic/local_manager.go | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/weed/mq/topic/local_manager.go b/weed/mq/topic/local_manager.go index d0d9def19..0f5ef3496 100644 --- a/weed/mq/topic/local_manager.go +++ b/weed/mq/topic/local_manager.go @@ -58,11 +58,23 @@ func (manager *LocalTopicManager) RemoveTopicPartition(topic Topic, partition Pa } func (manager *LocalTopicManager) CollectStats(duration time.Duration) *mq_pb.BrokerStats { - stats := &mq_pb.BrokerStats{} + stats := &mq_pb.BrokerStats{ + Stats: make(map[string]*mq_pb.TopicPartitionStats), + } manager.topics.IterCb(func(topic string, localTopic *LocalTopic) { for _, localPartition := range localTopic.Partitions { - stats.TopicPartitionCount++ - stats.ConsumerCount += localPartition.ConsumerCount + stats.Stats[topic] = &mq_pb.TopicPartitionStats{ + Topic: &mq_pb.Topic{ + Namespace: string(localTopic.Namespace), + Name: localTopic.Name, + }, + Partition: &mq_pb.Partition{ + RingSize: localPartition.RingSize, + RangeStart: localPartition.RangeStart, + RangeStop: localPartition.RangeStop, + }, + ConsumerCount: localPartition.ConsumerCount, + } } }) |
