Current State: Accepted
Discussion Thread: here
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
There is currently no metric that captures the total number of topics in a Kafka cluster. It would be useful to maintain a total topic count metric on the Kafka Controller.
There are no programming public interface changes. We are only adding a new metric.
The metric name would be:
GlobalTopicCount is updated when the ControllerEventThread gets a TopicChange and TopicDeletion request and is purged on Controller failover.
GlobalPartitionCount is updated when the ControllerEventThread gets a TopicChange, TopicDeletion, and PartitionReassigment request and is purged on Controller failover.
Compatibility and Migration Plan
The changes are completely backward compatible.
Aggregate GlobalTopicCount metric from the MetadataCache for each Broker. This approach was rejected because it is not the source of truth (as opposed to the controller metric). This approach nevertheless is potentially useful in identifying delays in metadata propagation to the brokers.