Hi, Mickael, Sophie, Doğuşcan. Thanks for your replys.
I like the idea of adding the version and commitId as tags for existed metric 
named "startTimeMs". I will update the KIP doc and start the vote process for 
this KIP.
It seems that there is not an existing metric named "uptime", Doğuşcan.

best,
hudeqi

"Doğuşcan Namal" <namal.dogus...@gmail.com>写道:
> Hello, do we have a metric showing the uptime? We could tag that metric
> with version information as well.
> 
> I like the idea of adding the version as a tag as well. However, I am not
> inclined to tag each metric with a KafkaVersion information. We could
> discuss which metrics could be tagged but let's keep that out of scope from
> this discussion.
> 
> On Wed, 11 Oct 2023 at 07:37, Sophie Blee-Goldman <ableegold...@gmail.com>
> wrote:
> 
> > Just to chime in here since I recently went through a similar thing, I
> > support adding the version
> > as a tag instead of introducing an entirely new metric for this. In fact I
> > just implemented exactly this
> > in a project that uses Kafka, for these reasons:
> >
> > 1. Adding the version as a tag means that all metrics which are already
> > collected will benefit, and lets you easily tell
> > at a glance which version a specific client metric corresponds to. This is
> > incredibly useful when looking at a dashboard
> > covering multiple instances from different sources. For example, imagine a
> > graph that plots the performance (eg bytes
> > consumed rate) of many individual consumers and which shows several of them
> > maxing out much lower than the rest.
> > If the metric is tagged with the version already, you can easily check if
> > the slow consumers are all using a specific version
> > and may be displaying a performance regression. If the version info has to
> > be plotted separately as its own metric, this is
> > much more of a hassle to check.
> > 2. Additional metrics can be expensive, but additional tags are almost
> > always free (at least, that is my understanding)
> > 3. As you guys already discussed, many systems (like Prometheus) require
> > numeric values, and it's pretty much impossible
> > to come up with a readable scheme for all the relevant versioning info --
> > even if we removed the dots we're left with a rather
> > unreadable representation of the version and of course will need to solve
> > the "-SNAPSHOT" issue somehow. But beyond that,
> > in addition to the raw version we also wanted to emit the specific commit
> > id, which really needs to be a string.
> >
> > I'm pretty sure Kafka client metrics also include the commit id in addition
> > to the version. If we add the version to the tags,
> > we should consider adding the commit id as well. This is incredibly useful
> > for intermediate/SNAPSHOT versions, which
> > don't uniquely identify the specific code that is running.
> >
> > I would personally love to see a KIP start tagging the existing metrics
> > with the version info, and it sounds like this would also
> > solve your problem in a very natural way
> >
> > On Tue, Oct 10, 2023 at 5:42 AM Mickael Maison <mickael.mai...@gmail.com>
> > wrote:
> >
> > > Hi Hudeqi,
> > >
> > > Rather than creating a gauge with a dummy value, could we add the
> > > version (and commitId) as tags to an existing metric.
> > > For example, the alongside the existing Version and CommitId metrics
> > > we have StartTimeMs. Maybe we can have a StartTimeMs metrics with the
> > > version and commitId) as tags on it? The existing metric already has
> > > the brokerid (id) as tag. WDYT?
> > >
> > > Thanks,
> > > Mickael
> > >
> > > On Thu, Aug 31, 2023 at 4:59 AM hudeqi <16120...@bjtu.edu.cn> wrote:
> > > >
> > > > Thank you for your answer, Mickael.
> > > > If set the value of gauge to a constant value of 1, adding that tag key
> > > is "version" and value is the version value of the obtained string type,
> > > does this solve the problem? We can get the version by tag in prometheus.
> > > >
> > > > best,
> > > > hudeqi
> > > >
> > > > &quot;Mickael Maison&quot; &lt;mickael.mai...@gmail.com&gt;写道:
> > > > > Hi,
> > > > >
> > > > > Prometheus only support numeric values for metrics. This means it's
> > > > > not able to handle the kafka.server:type=app-info metric since Kafka
> > > > > versions are not valid numbers (3.5.0).
> > > > > As a workaround we could create a metric with the version without the
> > > > > dots, for example with value 350 for Kafka 3.5.0.
> > > > >
> > > > > Also in between releases Kafka uses the -SNAPSHOT suffix (for example
> > > > > trunk is currently 3.7.0-SNAPSHOT) so we should also consider a way
> > to
> > > > > handle those.
> > > > >
> > > > > Thanks,
> > > > > Mickael
> > > > >
> > > > > On Wed, Aug 30, 2023 at 2:51 PM hudeqi <16120...@bjtu.edu.cn> wrote:
> > > > > >
> > > > > > Hi, Kamal, thanks your reminding, but I have a question: It seems
> > > that I can't get this metric through "jmx_prometheus"? Although I
> > observed
> > > this metric through other tools.
> > > > > >
> > > > > > best,
> > > > > > hudeqi
> > > > > >
> > > > > > &quot;Kamal Chandraprakash&quot; &
> > lt;kamal.chandraprak...@gmail.com
> > > &gt;写道:
> > > > > > > Hi Hudeqi,
> > > > > > >
> > > > > > > Kafka already emits the version metric. Can you check whether the
> > > below
> > > > > > > metric satisfies your requirement?
> > > > > > >
> > > > > > > kafka.server:type=app-info,id=0
> > > > > > >
> > > > > > > --
> > > > > > > Kamal
> > > > > > >
> > > > > > > On Mon, Aug 28, 2023 at 2:29 PM hudeqi <16120...@bjtu.edu.cn>
> > > wrote:
> > > > > > >
> > > > > > > > Hi, all, I want to submit a minor kip to add a metric, which
> > > supports to
> > > > > > > > get the running kafka server verison, the wiki url is here
> > > > > > > >
> > > > > > > > Motivation
> > > > > > > >
> > > > > > > > At present, it is impossible to perceive the Kafka version that
> > > the broker
> > > > > > > > is running from the perspective of metrics. If multiple Kafka
> > > versions are
> > > > > > > > deployed in a cluster due to various reasons, it is difficult
> > > for us to
> > > > > > > > intuitively understand the version distribution.
> > > > > > > >
> > > > > > > > So, I want to add a kafka version metric indicating the version
> > > of the
> > > > > > > > current running kafka server, it can help us to perceive the
> > > mixed
> > > > > > > > distribution of multiple versions, and to perceive the progress
> > > of version
> > > > > > > > upgrade in the cluster in real time.
> > > > > > > >
> > > > > > > > Proposed Changes
> > > > > > > >
> > > > > > > > When instantiating kafkaServer/BrokerServer, register
> > > `KafkaVersion` gauge
> > > > > > > > metric, whose value is obtained by `VersionInfo.getVersion`.
> > And
> > > remove all
> > > > > > > > related metrics when kafkaServer/BrokerServer shutdown.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > best,
> > > > > > > >
> > > > > > > > hudeqi
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > >
> >

Reply via email to