Guozhang,

I was thinking to do this in Sensor.java, and not touch the MetricsReporter 
interface. Basically I'd go for not adding a KafkaMetric at all with this 
approach. But perhaps I'm missing something.

Thanks
Eno
> On 5 Jan 2017, at 17:59, Guozhang Wang <wangg...@gmail.com> wrote:
> 
> I thought about "not registering at all" and left a comment on the PR as
> well regarding this idea. My concern is that it may be not very
> straight-forward to implement though via the MetricsReporter interface, if
> Eno and Aarti has a good approach to tackle it I would love it.
> 
> 
> Guozhang
> 
> On Thu, Jan 5, 2017 at 5:34 AM, Eno Thereska <eno.there...@gmail.com> wrote:
> 
>> Updated KIP for 1. Waiting to hear from Guozhang on 2 and then we can
>> proceed.
>> 
>> Thanks
>> Eno
>>> On 5 Jan 2017, at 12:27, Ismael Juma <ism...@juma.me.uk> wrote:
>>> 
>>> Thanks Eno. It would be good to update the KIP as well with regards to 1.
>>> 
>>> About 2, I am not sure how adding a field could break existing tools.
>>> Having said that, your suggestion not to register sensors at all if their
>>> record level is below what is configured works for me.
>>> 
>>> Ismael
>>> 
>>> On Thu, Jan 5, 2017 at 12:07 PM, Eno Thereska <eno.there...@gmail.com>
>>> wrote:
>>> 
>>>> Thanks Ismael. Already addressed 1. in the PR.
>>>> 
>>>> As for 2. I'd prefer not adding extra info to the metrics reporters at
>>>> this point, since it might break existing tools out there (e.g., if we
>> add
>>>> things like configured level). Existing tools might be expecting the
>> info
>>>> to be reported in a particular format.
>>>> 
>>>> If the current way is confusing, I think the next best alternative is to
>>>> not register sensors at all if their record level is below what is
>>>> configured. That way they don't show up at all. This will require some
>> more
>>>> code in Sensors.java to check at every step, but I think it's clean from
>>>> the user's point of view.
>>>> 
>>>> Eno
>>>> 
>>>> 
>>>>> On 5 Jan 2017, at 11:23, Ismael Juma <ism...@juma.me.uk> wrote:
>>>>> 
>>>>> Thanks for the KIP, it seems like a good improvement. A couple of
>>>> comments:
>>>>> 
>>>>> 1. As Jun asked in the PR, do we need a broker config as well? The
>> broker
>>>>> uses Kafka Metrics for some metrics, but we probably don't have any
>> debug
>>>>> sensors at the broker yet. Either way, it would be good to describe the
>>>>> thinking around this.
>>>>> 
>>>>> 2. The behaviour with regards to the metrics reporter could be
>>>> surprising.
>>>>> It would be good to elaborate a little more on this aspect. For
>> example,
>>>>> maybe we want to expose the sensor level and the current configured
>> level
>>>>> to metric reporters. That could then be used to build the debug/info
>>>>> dashboard that Eno mentioned (while making it clear that some metrics
>>>>> exist, but are not currently being recorded).
>>>>> 
>>>>> Ismael
>>>>> 
>>>>> On Thu, Jan 5, 2017 at 10:37 AM, Eno Thereska <eno.there...@gmail.com>
>>>>> wrote:
>>>>> 
>>>>>> Correct on 2. Guozhang: the sensor will be registered and polled by a
>>>>>> reporter, but the metrics associated with it will not be updated.
>>>>>> 
>>>>>> That would allow a user to have, for example, a debug dashboard and an
>>>>>> info dashboard.
>>>>>> 
>>>>>> Updated KIP to make this clear.
>>>>>> 
>>>>>> Thanks
>>>>>> Eno
>>>>>> 
>>>>>> 
>>>>>>> On 4 Jan 2017, at 18:00, Aarti Gupta <aartigup...@gmail.com> wrote:
>>>>>>> 
>>>>>>> Thanks for the review, Guozhang,
>>>>>>> 
>>>>>>> Addressed 2 out of the three comments,
>>>>>>> 
>>>>>>> 1. Fixed and updated KIP (swapped code variable name
>>>>>>> METRICS_RECORD_LEVEL_CONFIG with config name metrics.record.level)
>>>>>>> 
>>>>>>> 3. >>Could you elaborate on the "shouldRecord()" function, e.g. which
>>>>>> class
>>>>>>> it will be added to? Does it contain any parameters?
>>>>>>> 
>>>>>>> Added more details on shouldRecord()  on the KIP
>>>>>>> 
>>>>>>> In Sensor.java the shouldRecord() method is used to compare the value
>>>> of
>>>>>>> metric record level in the consumer config and the RecordLevel
>>>> associated
>>>>>>> with the sensor, to determine if metrics should recorded.
>>>>>>> 
>>>>>>> From Sensor.java
>>>>>>> 
>>>>>>> /**
>>>>>>> * @return true if the sensor's record level indicates that the metric
>>>>>>> will be recorded, false otherwise
>>>>>>> */
>>>>>>> public boolean shouldRecord() {
>>>>>>> return this.recordLevel.shouldRecord(config.recordLevel());
>>>>>>> }
>>>>>>> 
>>>>>>> From nested enum, Sensor.RecordLevel
>>>>>>> 
>>>>>>> public boolean shouldRecord(final RecordLevel configLevel) {
>>>>>>> if (configLevel.equals(DEBUG)) {
>>>>>>>     return true;
>>>>>>> } else {
>>>>>>>     return configLevel.equals(this);
>>>>>>> }
>>>>>>> }
>>>>>>> 
>>>>>>> 
>>>>>>> 2. Need to discuss with Eno.
>>>>>>> 
>>>>>>> 
>>>>>>> Thanks!
>>>>>>> 
>>>>>>> aarti
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On Tue, Jan 3, 2017 at 2:27 PM, Guozhang Wang <wangg...@gmail.com>
>>>>>> wrote:
>>>>>>> 
>>>>>>>> LGTM overall. A few comments below:
>>>>>>>> 
>>>>>>>> 1. "METRICS_RECORD_LEVEL_CONFIG" is the internal code's variable
>> name,
>>>>>> but
>>>>>>>> not the real config string, I think it is `metrics.record.level`
>>>>>> instead?
>>>>>>>> 
>>>>>>>> 2. In the Motivation section, as in "This associates each sensor
>> with
>>>> a
>>>>>>>> record level ... only if the metric config of the client requires
>>>> these
>>>>>>>> metrics to be recorded."
>>>>>>>> 
>>>>>>>> Could you elaborate this a bit more, for example, will the sensor
>> ever
>>>>>> be
>>>>>>>> registered in the reporter if its level is not allowed in the client
>>>>>>>> config? Or it will be registered but never polled? Or it will be
>>>>>> registered
>>>>>>>> and polled, but recorded?
>>>>>>>> 
>>>>>>>> From PR 1446 it seems to be the last case, i.e. the sensor will have
>>>> the
>>>>>>>> default value based on its type, and it will still be polled by the
>>>>>>>> reporter but not recorded. To an end-user's experience it will mean
>>>> that
>>>>>>>> for example the monitoring UI that displays all polled metrics will
>>>>>> still
>>>>>>>> show the metrics graph, with the value consistently shown as the
>>>> default
>>>>>>>> value, instead of not showing the graphs at all.
>>>>>>>> 
>>>>>>>> 3. Could you elaborate on the "shouldRecord()" function, e.g. which
>>>>>> class
>>>>>>>> it will be added to? Does it contain any parameters?
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Guozhang
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Sun, Jan 1, 2017 at 5:31 AM, Eno Thereska <
>> eno.there...@gmail.com>
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> Thanks for starting the discussion on these KIPs Aarti.
>>>>>>>>> 
>>>>>>>>> Eno
>>>>>>>>> 
>>>>>>>>> On Sunday, January 1, 2017, Aarti Gupta <aartigup...@gmail.com>
>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> Thanks Radai,
>>>>>>>>>> 
>>>>>>>>>> Yes that is the correct link, my bad
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-
>>>>>>>>>> 105%3A+Addition+of+Record+Level+for+Sensors
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Aarti
>>>>>>>>>> 
>>>>>>>>>> On Sat, Dec 31, 2016 at 9:32 PM radai <radai.rosenbl...@gmail.com
>>>>>>>>>> <javascript:;>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> link leads to 104. i think this is the correct one -
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-
>>>>>>>>>> 105%3A+Addition+of+Record+Level+for+Sensors
>>>>>>>>>>> 
>>>>>>>>>>> ?
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> On Fri, Dec 30, 2016 at 8:31 PM, Aarti Gupta <
>>>> aartigup...@gmail.com
>>>>>>>>>> <javascript:;>>
>>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> Hi all,
>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> I would like to start the discussion on KIP-105: Addition of
>>>> Record
>>>>>>>>>> Level
>>>>>>>>>>> 
>>>>>>>>>>>> for Sensors
>>>>>>>>>>> 
>>>>>>>>>>>> *https://cwiki.apache.org/confluence/pages/viewpage.action?
>>>>>>>>>>> 
>>>>>>>>>>>> <
>>>>>>>>>>> https://cwiki.apache.org/confluence/pages/viewpage.
>>>>>>>>>> action?pageId=67636480
>>>>>>>>>>> 
>>>>>>>>>>>>> *
>>>>>>>>>>> 
>>>>>>>>>>>> *pageId=67636483*
>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> Looking forward to your feedback.
>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> Thanks,
>>>>>>>>>>> 
>>>>>>>>>>>> Aarti and Eno
>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>>>>>>>> -- Guozhang
>>>>>>>> 
>>>>>> 
>>>>>> 
>>>> 
>>>> 
>> 
>> 
> 
> 
> -- 
> -- Guozhang

Reply via email to