Motivation
Zookeeper brokers currently register 0 for every controller metric. They do this because in the case of a controller failover, the metrics of a newly elected controller will no longer be 0. KRaft does not have this issue because processes with the "broker" role are never elected as the active controller. There is some performance overhead associated with registering metrics, so moving forward it would be best if KRaft brokers do not expose controller metrics.
Proposed Change
Zookeeper brokers expose 0 for controller metrics. KRaft brokers should not.