Should we deprecate the `sensor` method? One other thing to take into
account is that these methods are meant to be used like a dsl for
configuring sensors and metrics. So brevity is a plus (but clarity is
critical still).

Ismael

On Tue, May 31, 2022 at 11:09 AM John Roesler <vvcep...@apache.org> wrote:

> Generally, I agree with Ismael that having a new, weird name will make it
> hard to keep them straight. Then again, we need to make them different to
> prevent confusion about their semantics. To be clear, I'll be a +1
> regardless of how we break this dilemma.
>
> One suggestion: We currently have addMetric to add a new metric. We can
> take some inspiration from the Java Map interface and call this new method
> `addMetricIfAbsent`. Having the same prefix should help discovery, and
> following the Map convention should help confusion.
>
> Thanks all,
> -John
>
>
>
> On Tue, May 31, 2022, at 12:13, Sagar wrote:
> > Oh yeah there's another metric function which is get-only. I think we
> > should go ahead with getOrCreateMetric.
> >
> > Thanks!
> > Sagar.
> >
> > On Tue, May 31, 2022 at 10:02 PM Guozhang Wang <wangg...@gmail.com>
> wrote:
> >
> >> I'd prefer the getOrCreateMetric function name, since for the existing "
> >> sensor(String name)" function that only takes a single `String`
> parameter,
> >> its semantics is already "get or create". Whereas the existing
> >> "metric(MetricName)" function's semantics is "get" only. So in my mind,
> the
> >> inconsistent conventions in function signatures already exist today. And
> >> with the other option we would need to educate users that "all the
> `sensor`
> >> functions are get-or-create, but, please remember that the `metric`
> >> function with just the metric name is get-only, while other `metric`
> >> overrides with more parameters are get-or-create", which I think is even
> >> more confusing.
> >>
> >>
> >> Guozhang
> >>
> >>
> >> On Mon, May 30, 2022 at 9:51 PM Sagar <sagarmeansoc...@gmail.com>
> wrote:
> >>
> >> > Hi Ismael,
> >> >
> >> > I guess in that case, we will have to go with the name *metric*-
> similar
> >> to
> >> > *sensor* - which David pointed out above because I think that's the
> >> closest
> >> > method which either gets or creates a new sensor. Current addMetric in
> >> the
> >> > Metrics class throw an IllegalArguementException when the metric
> already
> >> > exists and that's why I still think getOrCreateMetric still signifies
> the
> >> > action correctly. Or how about addOrGetMetric or getOrAddMetric, just
> >> > replacing create with add to keep it similar to the already present
> >> > addMetric method.
> >> >
> >> > Thanks!
> >> > Sagar.
> >> >
> >> > On Tue, May 31, 2022 at 1:19 AM Ismael Juma <ism...@juma.me.uk>
> wrote:
> >> >
> >> > > I think it's confusing to use two completely different naming
> >> conventions
> >> > > in the same class. We either stick with the existing convention or
> we
> >> > > create a new one and deprecate old method(s). I am not sure there is
> >> > enough
> >> > > value in this case for the latter, but it would be good to hear what
> >> > others
> >> > > think.
> >> > >
> >> > > Ismael
> >> > >
> >> > > On Mon, May 30, 2022, 2:08 AM Bruno Cadonna <cado...@apache.org>
> >> wrote:
> >> > >
> >> > > > Hi,
> >> > > >
> >> > > > I would also lean towards getOrCreateMetric() for the reasons
> pointed
> >> > > > out by Sagar. But I am fine either way.
> >> > > >
> >> > > > Best,
> >> > > > Bruno
> >> > > >
> >> > > > On 30.05.22 10:54, Sagar wrote:
> >> > > > > Hi Bruno/David,
> >> > > > >
> >> > > > > Thanks for the suggestions. I would personally lean towards
> using
> >> > > > > getOrCreateMetric as it clearly explains the intent. Having said
> >> > that,
> >> > > if
> >> > > > > we want to use just metric(similar to sensor), that should also
> be
> >> > ok.
> >> > > > Just
> >> > > > > that I feel getOrCreateMetric is easily understandable.
> >> > > > >
> >> > > > > Thanks!
> >> > > > > Sagar.
> >> > > > >
> >> > > > > On Mon, May 30, 2022 at 2:16 PM David Jacot
> >> > > <dja...@confluent.io.invalid
> >> > > > >
> >> > > > > wrote:
> >> > > > >
> >> > > > >> Hi all,
> >> > > > >>
> >> > > > >> Looking at the current Metrics' API, we have `sensor` which
> gets
> >> or
> >> > > > creates
> >> > > > >> a sensor. How about using `metric` to follow the same naming
> >> > > convention?
> >> > > > >>
> >> > > > >> Best,
> >> > > > >> David
> >> > > > >>
> >> > > > >> On Mon, May 30, 2022 at 9:18 AM Bruno Cadonna <
> cado...@apache.org
> >> >
> >> > > > wrote:
> >> > > > >>>
> >> > > > >>> Hi Sagar,
> >> > > > >>> Hi Ismael,
> >> > > > >>>
> >> > > > >>> what about getOrCreateMetric()?
> >> > > > >>>
> >> > > > >>> Best,
> >> > > > >>> Bruno
> >> > > > >>>
> >> > > > >>>
> >> > > > >>> On 28.05.22 18:56, Sagar wrote:
> >> > > > >>>> Hi Ismael,
> >> > > > >>>>
> >> > > > >>>> Actually Bruno suggested renaming it to getMetricOrElseCreate
> >> and
> >> > we
> >> > > > >>>> decided to go ahead with that one. These were the only names
> >> that
> >> > we
> >> > > > >>>> considered for the KIP.
> >> > > > >>>>
> >> > > > >>>> Thanks!
> >> > > > >>>> Sagar.
> >> > > > >>>>
> >> > > > >>>>
> >> > > > >>>> On Sat, May 28, 2022 at 8:19 PM Ismael Juma <
> ism...@juma.me.uk>
> >> > > > wrote:
> >> > > > >>>>
> >> > > > >>>>> Thanks for the KIP. The method makes sense, but the name is
> a
> >> bit
> >> > > > >> verbose.
> >> > > > >>>>> Have we considered a more concise name?
> >> > > > >>>>>
> >> > > > >>>>> Ismael
> >> > > > >>>>>
> >> > > > >>>>> On Tue, May 24, 2022, 4:49 AM Sagar <
> sagarmeansoc...@gmail.com
> >> >
> >> > > > >> wrote:
> >> > > > >>>>>
> >> > > > >>>>>> Hi All,
> >> > > > >>>>>>
> >> > > > >>>>>> I would like to open a voting thread for the following KIP:
> >> > > > >>>>>>
> >> > > > >>>>>>
> >> > > > >>>>>>
> >> > > > >>>>>
> >> > > > >>
> >> > > >
> >> > >
> >> >
> >>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-843%3A+Adding+metricOrElseCreate+method+to+Metrics
> >> > > > >>>>>>
> >> > > > >>>>>> Thanks!
> >> > > > >>>>>> Sagar.
> >> > > > >>>>>>
> >> > > > >>>>>
> >> > > > >>>>
> >> > > > >>
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >>
> >> --
> >> -- Guozhang
> >>
>

Reply via email to