Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

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 Controllerthe Kafka Controller.

Public Interface

There are no programming public interface changes. We are only adding a new metric.

...

kafka.controller:type=KafkaController,name=GlobalTopicCount

type: gauge

value: count of all topics within the cluster

GlobalTopicCount is updated when the ControllerEventThread gets a TopicChange and TopicDeletion request GlobalTopicCount is updated when the ControllerEventThread gets a TopicChange and TopicDeletion request and is purged when on Controller failoveron Controller failover.

Compatibility

...

and Migration Plan

The changes are completely backward compatible.

...

Rejected Alternatives

GlobalTopicCount metric is collected from the MetadataCache for each Broker. It 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). The metric is good to have and also helps identify delays in propagation of metadata updates This approach nevertheless is potentially useful in identifying delays in metadata propagation to the brokers.

kafka.server:type=MetadataCache,name=GlobalTopicCount
type: gauge
value: count of all topics within a cluster

...