Hi Guozhang,

I understand the requirement and I don't have an issue with that. My point
is that the `Metrics` registry API is becoming public via this KIP so we
should ensure that it's suitable. It may make sense to introduce an
interface (say MetricsRegistry) that exposes a reasonable subset (do we
want to expose `removeSensor` for example?). This is relatively
straightforward and little additional code.

Ismael

On Fri, Jan 6, 2017 at 11:29 PM, Guozhang Wang <wangg...@gmail.com> wrote:

> Unlike Producer and Consumer, Streams users may likely to add their own
> sensors depending on their apps and that is the main reason we added
> facilities to let them register customized "throughput" "latency" and any
> generic sensors.
>
> I think Eno has thought about just adding an API in StreamsMetrics to
> register any sensors, which will be directly translated into a
> `metrics.sensor` call. In the end he decided to just expose the registry
> itself since the functions itself seem just like duplicating the same
> `sensor` functions in `Metrics`.
>
>
>
> Guozhang
>
> On Fri, Jan 6, 2017 at 2:16 PM, Ismael Juma <ism...@juma.me.uk> wrote:
>
> > Thanks for the explanation Eno. The KIP did mention that the metrics
> > registry would be exposed, yes. What is missing is that the registry is
> not
> > currently exposed by anything else. Traditionally, we list all public
> APIs
> > created by a KIP, which is effectively true for the registry in this
> case.
> > Did we consider using an interface instead of the concrete class? It
> seems
> > that a lot of these things were discussed in the PR, so it would be good
> to
> > have a summary in the KIP too.
> >
> > Ismael
> >
> > On Fri, Jan 6, 2017 at 9:10 PM, Eno Thereska <eno.there...@gmail.com>
> > wrote:
> >
> > > So the KIP proposes exposing the metrics registry (second paragraph
> under
> > > motivation). The community has indicated that they would like to 1.
> > access
> > > all the metrics and 2. register their own. We provide some helper
> > > interfaces for them to register throughput and latency metrics, but
> > > ultimately we felt it's best for them to have access to the full
> registry
> > > as well. This is because application code is now intertwined with the
> > > streams library and we don't want to limit the kinds of metrics they
> > might
> > > want to register, nor do we necessarily want to provide yet another
> > wrapper
> > > around Metrics.
> > >
> > > Thanks,
> > > Eno
> > >
> > > > On 6 Jan 2017, at 20:34, Ismael Juma <ism...@juma.me.uk> wrote:
> > > >
> > > > Thanks for the KIP. Sounds useful. One thing that wasn't made clear
> is
> > > that
> > > > we are exposing `Metrics` as a public class for the first time.
> Neither
> > > the
> > > > consumer or producer expose it at the moment. Do we want to expose
> the
> > > > whole class or would it be better to expose a more limited interface?
> > > >
> > > > Ismael
> > > >
> > > > On Sat, Dec 31, 2016 at 4:26 AM, Aarti Gupta <aartigup...@gmail.com>
> > > wrote:
> > > >
> > > >> Hi all,
> > > >>
> > > >> I would like to start the discussion on KIP-104: Granular Sensors
> for
> > > >> Streams
> > > >> <https://cwiki.apache.org/confluence/display/KAFKA/KIP-
> > > >> 104%3A+Granular+Sensors+for+Streams?src=contextnavchildmode>
> > > >>
> > > >> *https://cwiki.apache.org/confluence/pages/viewpage.
> > > action?pageId=67636480
> > > >> <https://cwiki.apache.org/confluence/pages/viewpage.
> > > action?pageId=67636480
> > > >>> *
> > > >>
> > > >> Looking forward to your feedback.
> > > >>
> > > >> Thanks,
> > > >> Aarti and Eno
> > > >>
> > >
> > >
> >
>
>
>
> --
> -- Guozhang
>

Reply via email to