Ok, I'll list all the methods in the Metrics class for completion. An interface 
won't work since it will have to reside outside of streams unfortunately.

Thanks
Eno
> On 6 Jan 2017, at 23:54, Ismael Juma <ism...@juma.me.uk> wrote:
> 
> 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