Hi David, Thanks for the KIP. I have a couple of questions. >> For the Java client, the idea is to define two constants in the code to >> store its name and its version. If possible, the version will be set >> automatically based on metadata coming from gradle (or the repo itself) to >> avoid having to do manual changes.
Did you consider taking version property by loading “kafka/kafka-version.properties” as a resource while java client is initialized? “kafka/kafka-version.properties” is shipped with kafka-clients jar. >> kafka.server:type=ClientMetrics,name=ConnectedClients I assume this metric value will be the total no of clients connected to a broker irrespective of whether name and version follow the expected pattern ([-.\w]+) or not. >> kafka.server:type=ClientMetrics,name=ConnectedClients,clientname=([-.\w]+),clientversion=([-.\w]+) It seems client name and client version are treated as tags for `ConnectedClients` metric. If so, you may implement this metric similar to `BrokerTopicMetrics` with topic tag as mentioned here[1]. When is the metric removed for a specific client-name and client-version? 1. https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/server/KafkaRequestHandler.scala#L231 Thanks, Satish. On Wed, Aug 21, 2019 at 5:33 PM David Jacot <dja...@confluent.io> wrote: > > Hi all, > > I would like to start a discussion for KIP-511: > https://cwiki.apache.org/confluence/display/KAFKA/KIP-511%3A+Collect+and+Expose+Client%27s+Name+and+Version+in+the+Brokers > > Let me know what you think. > > Best, > David