Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-27 Thread Jun Rao
Jason, Kyle,

Added comments to the jira. Let me know if they make sense. The dot
convention is a bit tricky to follow since we allow dots in topic and
clientId, etc. Also, we probably don't want to use a convention too
specific for Graphite since other systems may have other conventions.

Thanks,

Jun

On Tue, Jan 27, 2015 at 9:32 AM, Jason Rosenberg  wrote:

> I added a comment to the ticket.  I think it will work getting data
> disambiguated (didn't actually test end to end to graphite).
> However, the naming scheme is not ideal for how metric ui's typically would
> present the metric tree (e.g. jmx tag syntax doesn't really translate).
>
> Jason
>
> On Tue, Jan 27, 2015 at 11:19 AM, Jun Rao  wrote:
>
> > Jason, Kyle,
> >
> > I created an 0.8.2 blocker
> > https://issues.apache.org/jira/browse/KAFKA-1902
> > and attached a patch there. Could you test it out and see if it fixes the
> > issue with the reporter? The patch adds tags as scope in MetricName.
> >
> > Thanks,
> >
> > Jun
> >
> > On Tue, Jan 27, 2015 at 7:39 AM, Jun Rao  wrote:
> >
> > > Jason,
> > >
> > > So, this sounds like a real issue. Perhaps we can fix it just by
> setting
> > > the tag name as the scope. For example, for mbean kafka.server:type=
> > > BrokerTopicMetrics,name=BytesInPerSec,topic=test, we can have
> > >
> > > group: "kafka.server"
> > > type: "BrokerTopicMetrics"
> > > name: "BytesInPerSec"
> > > scope: "topic=test"
> > >
> > > Do you know if scope can have characters like "=" and "," (e.g., for
> > scope
> > > like "topic=test,partition=1")?
> > >
> > > The issue with using mytopic-BytesInPerSec as the name is what we are
> > > trying to fix in kafka-1481. Topic name (and clientId, etc) can have
> dash
> > > in it and it's hard to parse.
> > >
> > > Thanks,
> > >
> > > Jun
> > >
> > >
> > >
> > > On Tue, Jan 27, 2015 at 6:30 AM, Jason Rosenberg 
> > wrote:
> > >
> > >> Remember multiple people have reported this issue. Per topic metrics
> no
> > >> longer appear in graphite (or in any system modeled after the yammer
> > >> GraphiteReporter). They are not being seen as unique.
> > >>
> > >> While these metrics are registered in the registry as separate
> > >> ‘MetricName’
> > >> instances (varying only by mbeanName), the GraphiteReporter sends the
> > >> metrics to graphite using only the 4 fields I describe above.
> > >> Consequently,
> > >> multiple metrics in the registry get sent to graphite under the same
> > name.
> > >> Thus these metrics all end up in the same bucket in graphite,
> trampling
> > >> over each other making them useless. They aren’t ‘double counted’ so
> > much
> > >> as flapping between multiple independent values.
> > >>
> > >> We actually have our own Reporter class (based off the yammer
> > >> GraphiteReporter). Our version sends metrics through kafka which is
> then
> > >> consumed downstream by multiple metric consumers.
> > >>
> > >> The ConsoleReporter isn’t useful for actually persisting metrics
> > anywhere.
> > >> It’s just iterating through all the (identically named metrics in the
> > >> registry (save for the different mbeanNames))….
> > >>
> > >> The mbeanName, as constructed, is not useful as a human readable
> metric
> > >> name, to be presented in a browsable tree of metrics, etc. The
> > >> ‘group’:’type’:’name’:’scope’ are the pieces that matter.
> > >>
> > >> The fix here is to produce MetricName instances similar to 0.8.1.1,
> etc.
> > >> In
> > >> this case, it should probably be something like:
> > >>
> > >> group: kafka.server
> > >> type: BrokerTopicMetrics
> > >> name: mytopic-BytesInPerSec
> > >> group: 
> > >>
> > >> Jason
> > >> ​
> > >>
> > >> On Tue, Jan 27, 2015 at 7:26 AM, Manikumar Reddy <
> ku...@nmsworks.co.in>
> > >> wrote:
> > >>
> > >> > I have enabled yammer's ConsoleReporter and I am getting all the
> > metrics
> > >> > (including per-topic metrics).
> > >> >
> > >> > Yammer's MetricName object implements equals/hashcode methods using
> > >> > mBeanName . We are constructing a unique mBeanName for each metric,
> So
> > >> we
> > >> > are not missing/overwriting any metrics.
> > >> >
> > >> > Current confusion is due to  MetricName.name(). This will be same
> > >> > (BytesInPerSec) for both broker level and topic level metrics. We
> need
> > >> to
> > >> > use MetricName.getMBeanName() to differentiate between broker level
> > and
> > >> > topic level metrics.
> > >> >
> > >> > 0.8.1  MBeanName:
> > >> >
> "kafka.server":type="BrokerTopicMetrics",name="AllTopicsBytesInPerSec"
> > >> >
> "kafka.server":type="BrokerTopicMetrics",name="MYTOPIC-BytesInPerSec"
> > >> >
> > >> > 0.8.2  MBeanName:
> > >> > kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
> > >> >
> kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=MYTOPIC
> > >> >
> > >> >
> > >> > ConsoleReporter's O/P:
> > >> >
> > >> >   BytesInPerSec:  <- This is broker level
> > >> >  count = 1521
> > >> >  mean rate = 3.63 bytes/s
> > >> >  1-minute rate = 0.35 bytes/s

Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-27 Thread Jason Rosenberg
I added a comment to the ticket.  I think it will work getting data
disambiguated (didn't actually test end to end to graphite).
However, the naming scheme is not ideal for how metric ui's typically would
present the metric tree (e.g. jmx tag syntax doesn't really translate).

Jason

On Tue, Jan 27, 2015 at 11:19 AM, Jun Rao  wrote:

> Jason, Kyle,
>
> I created an 0.8.2 blocker
> https://issues.apache.org/jira/browse/KAFKA-1902
> and attached a patch there. Could you test it out and see if it fixes the
> issue with the reporter? The patch adds tags as scope in MetricName.
>
> Thanks,
>
> Jun
>
> On Tue, Jan 27, 2015 at 7:39 AM, Jun Rao  wrote:
>
> > Jason,
> >
> > So, this sounds like a real issue. Perhaps we can fix it just by setting
> > the tag name as the scope. For example, for mbean kafka.server:type=
> > BrokerTopicMetrics,name=BytesInPerSec,topic=test, we can have
> >
> > group: "kafka.server"
> > type: "BrokerTopicMetrics"
> > name: "BytesInPerSec"
> > scope: "topic=test"
> >
> > Do you know if scope can have characters like "=" and "," (e.g., for
> scope
> > like "topic=test,partition=1")?
> >
> > The issue with using mytopic-BytesInPerSec as the name is what we are
> > trying to fix in kafka-1481. Topic name (and clientId, etc) can have dash
> > in it and it's hard to parse.
> >
> > Thanks,
> >
> > Jun
> >
> >
> >
> > On Tue, Jan 27, 2015 at 6:30 AM, Jason Rosenberg 
> wrote:
> >
> >> Remember multiple people have reported this issue. Per topic metrics no
> >> longer appear in graphite (or in any system modeled after the yammer
> >> GraphiteReporter). They are not being seen as unique.
> >>
> >> While these metrics are registered in the registry as separate
> >> ‘MetricName’
> >> instances (varying only by mbeanName), the GraphiteReporter sends the
> >> metrics to graphite using only the 4 fields I describe above.
> >> Consequently,
> >> multiple metrics in the registry get sent to graphite under the same
> name.
> >> Thus these metrics all end up in the same bucket in graphite, trampling
> >> over each other making them useless. They aren’t ‘double counted’ so
> much
> >> as flapping between multiple independent values.
> >>
> >> We actually have our own Reporter class (based off the yammer
> >> GraphiteReporter). Our version sends metrics through kafka which is then
> >> consumed downstream by multiple metric consumers.
> >>
> >> The ConsoleReporter isn’t useful for actually persisting metrics
> anywhere.
> >> It’s just iterating through all the (identically named metrics in the
> >> registry (save for the different mbeanNames))….
> >>
> >> The mbeanName, as constructed, is not useful as a human readable metric
> >> name, to be presented in a browsable tree of metrics, etc. The
> >> ‘group’:’type’:’name’:’scope’ are the pieces that matter.
> >>
> >> The fix here is to produce MetricName instances similar to 0.8.1.1, etc.
> >> In
> >> this case, it should probably be something like:
> >>
> >> group: kafka.server
> >> type: BrokerTopicMetrics
> >> name: mytopic-BytesInPerSec
> >> group: 
> >>
> >> Jason
> >> ​
> >>
> >> On Tue, Jan 27, 2015 at 7:26 AM, Manikumar Reddy 
> >> wrote:
> >>
> >> > I have enabled yammer's ConsoleReporter and I am getting all the
> metrics
> >> > (including per-topic metrics).
> >> >
> >> > Yammer's MetricName object implements equals/hashcode methods using
> >> > mBeanName . We are constructing a unique mBeanName for each metric, So
> >> we
> >> > are not missing/overwriting any metrics.
> >> >
> >> > Current confusion is due to  MetricName.name(). This will be same
> >> > (BytesInPerSec) for both broker level and topic level metrics. We need
> >> to
> >> > use MetricName.getMBeanName() to differentiate between broker level
> and
> >> > topic level metrics.
> >> >
> >> > 0.8.1  MBeanName:
> >> > "kafka.server":type="BrokerTopicMetrics",name="AllTopicsBytesInPerSec"
> >> > "kafka.server":type="BrokerTopicMetrics",name="MYTOPIC-BytesInPerSec"
> >> >
> >> > 0.8.2  MBeanName:
> >> > kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
> >> > kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=MYTOPIC
> >> >
> >> >
> >> > ConsoleReporter's O/P:
> >> >
> >> >   BytesInPerSec:  <- This is broker level
> >> >  count = 1521
> >> >  mean rate = 3.63 bytes/s
> >> >  1-minute rate = 0.35 bytes/s
> >> >  5-minute rate = 2.07 bytes/s
> >> > 15-minute rate = 1.25 bytes/s
> >> >
> >> >   BytesInPerSec:  <- This is for topic1
> >> >  count = 626
> >> >  mean rate = 1.89 bytes/s
> >> >  1-minute rate = 0.42 bytes/s
> >> >  5-minute rate = 31.53 bytes/s
> >> > 15-minute rate = 64.66 bytes/s
> >> >
> >> >   BytesInPerSec:  <- This is for topic2
> >> >  count = 895
> >> >  mean rate = 3.62 bytes/s
> >> >  1-minute rate = 1.39 bytes/s
> >> >  5-minute rate = 30.08 bytes/s
> >> > 15-minute rate = 50.27 bytes/s
> >> >
> >> > Manikumar
> >> >
> >> > On Tue, Jan 27, 2015 at 1:59 PM, Ja

Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-27 Thread Kyle Banker
Thanks for the quick response, Jun (and many thanks to Jason for confirming
and further investigating the issue). I've tested the patch, and it does
fix the fundamental issue, but I do have a few comments that I'll leave on
the ticket.

On Tue, Jan 27, 2015 at 9:19 AM, Jun Rao  wrote:

> Jason, Kyle,
>
> I created an 0.8.2 blocker
> https://issues.apache.org/jira/browse/KAFKA-1902
> and attached a patch there. Could you test it out and see if it fixes the
> issue with the reporter? The patch adds tags as scope in MetricName.
>
> Thanks,
>
> Jun
>
> On Tue, Jan 27, 2015 at 7:39 AM, Jun Rao  wrote:
>
> > Jason,
> >
> > So, this sounds like a real issue. Perhaps we can fix it just by setting
> > the tag name as the scope. For example, for mbean kafka.server:type=
> > BrokerTopicMetrics,name=BytesInPerSec,topic=test, we can have
> >
> > group: "kafka.server"
> > type: "BrokerTopicMetrics"
> > name: "BytesInPerSec"
> > scope: "topic=test"
> >
> > Do you know if scope can have characters like "=" and "," (e.g., for
> scope
> > like "topic=test,partition=1")?
> >
> > The issue with using mytopic-BytesInPerSec as the name is what we are
> > trying to fix in kafka-1481. Topic name (and clientId, etc) can have dash
> > in it and it's hard to parse.
> >
> > Thanks,
> >
> > Jun
> >
> >
> >
> > On Tue, Jan 27, 2015 at 6:30 AM, Jason Rosenberg 
> wrote:
> >
> >> Remember multiple people have reported this issue. Per topic metrics no
> >> longer appear in graphite (or in any system modeled after the yammer
> >> GraphiteReporter). They are not being seen as unique.
> >>
> >> While these metrics are registered in the registry as separate
> >> ‘MetricName’
> >> instances (varying only by mbeanName), the GraphiteReporter sends the
> >> metrics to graphite using only the 4 fields I describe above.
> >> Consequently,
> >> multiple metrics in the registry get sent to graphite under the same
> name.
> >> Thus these metrics all end up in the same bucket in graphite, trampling
> >> over each other making them useless. They aren’t ‘double counted’ so
> much
> >> as flapping between multiple independent values.
> >>
> >> We actually have our own Reporter class (based off the yammer
> >> GraphiteReporter). Our version sends metrics through kafka which is then
> >> consumed downstream by multiple metric consumers.
> >>
> >> The ConsoleReporter isn’t useful for actually persisting metrics
> anywhere.
> >> It’s just iterating through all the (identically named metrics in the
> >> registry (save for the different mbeanNames))….
> >>
> >> The mbeanName, as constructed, is not useful as a human readable metric
> >> name, to be presented in a browsable tree of metrics, etc. The
> >> ‘group’:’type’:’name’:’scope’ are the pieces that matter.
> >>
> >> The fix here is to produce MetricName instances similar to 0.8.1.1, etc.
> >> In
> >> this case, it should probably be something like:
> >>
> >> group: kafka.server
> >> type: BrokerTopicMetrics
> >> name: mytopic-BytesInPerSec
> >> group: 
> >>
> >> Jason
> >> ​
> >>
> >> On Tue, Jan 27, 2015 at 7:26 AM, Manikumar Reddy 
> >> wrote:
> >>
> >> > I have enabled yammer's ConsoleReporter and I am getting all the
> metrics
> >> > (including per-topic metrics).
> >> >
> >> > Yammer's MetricName object implements equals/hashcode methods using
> >> > mBeanName . We are constructing a unique mBeanName for each metric, So
> >> we
> >> > are not missing/overwriting any metrics.
> >> >
> >> > Current confusion is due to  MetricName.name(). This will be same
> >> > (BytesInPerSec) for both broker level and topic level metrics. We need
> >> to
> >> > use MetricName.getMBeanName() to differentiate between broker level
> and
> >> > topic level metrics.
> >> >
> >> > 0.8.1  MBeanName:
> >> > "kafka.server":type="BrokerTopicMetrics",name="AllTopicsBytesInPerSec"
> >> > "kafka.server":type="BrokerTopicMetrics",name="MYTOPIC-BytesInPerSec"
> >> >
> >> > 0.8.2  MBeanName:
> >> > kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
> >> > kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=MYTOPIC
> >> >
> >> >
> >> > ConsoleReporter's O/P:
> >> >
> >> >   BytesInPerSec:  <- This is broker level
> >> >  count = 1521
> >> >  mean rate = 3.63 bytes/s
> >> >  1-minute rate = 0.35 bytes/s
> >> >  5-minute rate = 2.07 bytes/s
> >> > 15-minute rate = 1.25 bytes/s
> >> >
> >> >   BytesInPerSec:  <- This is for topic1
> >> >  count = 626
> >> >  mean rate = 1.89 bytes/s
> >> >  1-minute rate = 0.42 bytes/s
> >> >  5-minute rate = 31.53 bytes/s
> >> > 15-minute rate = 64.66 bytes/s
> >> >
> >> >   BytesInPerSec:  <- This is for topic2
> >> >  count = 895
> >> >  mean rate = 3.62 bytes/s
> >> >  1-minute rate = 1.39 bytes/s
> >> >  5-minute rate = 30.08 bytes/s
> >> > 15-minute rate = 50.27 bytes/s
> >> >
> >> > Manikumar
> >> >
> >> > On Tue, Jan 27, 2015 at 1:59 PM, Jason Rosenberg 
> >> wrote:
> >> >
> >> > > Ok,
> 

Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-27 Thread Jun Rao
Jason, Kyle,

I created an 0.8.2 blocker https://issues.apache.org/jira/browse/KAFKA-1902
and attached a patch there. Could you test it out and see if it fixes the
issue with the reporter? The patch adds tags as scope in MetricName.

Thanks,

Jun

On Tue, Jan 27, 2015 at 7:39 AM, Jun Rao  wrote:

> Jason,
>
> So, this sounds like a real issue. Perhaps we can fix it just by setting
> the tag name as the scope. For example, for mbean kafka.server:type=
> BrokerTopicMetrics,name=BytesInPerSec,topic=test, we can have
>
> group: "kafka.server"
> type: "BrokerTopicMetrics"
> name: "BytesInPerSec"
> scope: "topic=test"
>
> Do you know if scope can have characters like "=" and "," (e.g., for scope
> like "topic=test,partition=1")?
>
> The issue with using mytopic-BytesInPerSec as the name is what we are
> trying to fix in kafka-1481. Topic name (and clientId, etc) can have dash
> in it and it's hard to parse.
>
> Thanks,
>
> Jun
>
>
>
> On Tue, Jan 27, 2015 at 6:30 AM, Jason Rosenberg  wrote:
>
>> Remember multiple people have reported this issue. Per topic metrics no
>> longer appear in graphite (or in any system modeled after the yammer
>> GraphiteReporter). They are not being seen as unique.
>>
>> While these metrics are registered in the registry as separate
>> ‘MetricName’
>> instances (varying only by mbeanName), the GraphiteReporter sends the
>> metrics to graphite using only the 4 fields I describe above.
>> Consequently,
>> multiple metrics in the registry get sent to graphite under the same name.
>> Thus these metrics all end up in the same bucket in graphite, trampling
>> over each other making them useless. They aren’t ‘double counted’ so much
>> as flapping between multiple independent values.
>>
>> We actually have our own Reporter class (based off the yammer
>> GraphiteReporter). Our version sends metrics through kafka which is then
>> consumed downstream by multiple metric consumers.
>>
>> The ConsoleReporter isn’t useful for actually persisting metrics anywhere.
>> It’s just iterating through all the (identically named metrics in the
>> registry (save for the different mbeanNames))….
>>
>> The mbeanName, as constructed, is not useful as a human readable metric
>> name, to be presented in a browsable tree of metrics, etc. The
>> ‘group’:’type’:’name’:’scope’ are the pieces that matter.
>>
>> The fix here is to produce MetricName instances similar to 0.8.1.1, etc.
>> In
>> this case, it should probably be something like:
>>
>> group: kafka.server
>> type: BrokerTopicMetrics
>> name: mytopic-BytesInPerSec
>> group: 
>>
>> Jason
>> ​
>>
>> On Tue, Jan 27, 2015 at 7:26 AM, Manikumar Reddy 
>> wrote:
>>
>> > I have enabled yammer's ConsoleReporter and I am getting all the metrics
>> > (including per-topic metrics).
>> >
>> > Yammer's MetricName object implements equals/hashcode methods using
>> > mBeanName . We are constructing a unique mBeanName for each metric, So
>> we
>> > are not missing/overwriting any metrics.
>> >
>> > Current confusion is due to  MetricName.name(). This will be same
>> > (BytesInPerSec) for both broker level and topic level metrics. We need
>> to
>> > use MetricName.getMBeanName() to differentiate between broker level and
>> > topic level metrics.
>> >
>> > 0.8.1  MBeanName:
>> > "kafka.server":type="BrokerTopicMetrics",name="AllTopicsBytesInPerSec"
>> > "kafka.server":type="BrokerTopicMetrics",name="MYTOPIC-BytesInPerSec"
>> >
>> > 0.8.2  MBeanName:
>> > kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
>> > kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=MYTOPIC
>> >
>> >
>> > ConsoleReporter's O/P:
>> >
>> >   BytesInPerSec:  <- This is broker level
>> >  count = 1521
>> >  mean rate = 3.63 bytes/s
>> >  1-minute rate = 0.35 bytes/s
>> >  5-minute rate = 2.07 bytes/s
>> > 15-minute rate = 1.25 bytes/s
>> >
>> >   BytesInPerSec:  <- This is for topic1
>> >  count = 626
>> >  mean rate = 1.89 bytes/s
>> >  1-minute rate = 0.42 bytes/s
>> >  5-minute rate = 31.53 bytes/s
>> > 15-minute rate = 64.66 bytes/s
>> >
>> >   BytesInPerSec:  <- This is for topic2
>> >  count = 895
>> >  mean rate = 3.62 bytes/s
>> >  1-minute rate = 1.39 bytes/s
>> >  5-minute rate = 30.08 bytes/s
>> > 15-minute rate = 50.27 bytes/s
>> >
>> > Manikumar
>> >
>> > On Tue, Jan 27, 2015 at 1:59 PM, Jason Rosenberg 
>> wrote:
>> >
>> > > Ok,
>> > >
>> > > It looks like the yammer MetricName is not being created correctly for
>> > the
>> > > sub metrics that include a topic. E.g. a metric with an mbeanName
>> like:
>> > >
>> > >
>> >
>> kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec,topic=mytopic
>> > >
>> > > appears to be malformed. A yammer MetricName has 4 fields that are
>> used
>> > in
>> > > creating a graphite metric, that are included in the constructor:
>> > > group, type, name, scope.
>> > >
>> > > In this case, the metric with the above mbeanName has these fields
>> s

Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-27 Thread Jun Rao
Jason,

So, this sounds like a real issue. Perhaps we can fix it just by setting
the tag name as the scope. For example, for mbean kafka.server:type=
BrokerTopicMetrics,name=BytesInPerSec,topic=test, we can have

group: "kafka.server"
type: "BrokerTopicMetrics"
name: "BytesInPerSec"
scope: "topic=test"

Do you know if scope can have characters like "=" and "," (e.g., for scope
like "topic=test,partition=1")?

The issue with using mytopic-BytesInPerSec as the name is what we are
trying to fix in kafka-1481. Topic name (and clientId, etc) can have dash
in it and it's hard to parse.

Thanks,

Jun



On Tue, Jan 27, 2015 at 6:30 AM, Jason Rosenberg  wrote:

> Remember multiple people have reported this issue. Per topic metrics no
> longer appear in graphite (or in any system modeled after the yammer
> GraphiteReporter). They are not being seen as unique.
>
> While these metrics are registered in the registry as separate ‘MetricName’
> instances (varying only by mbeanName), the GraphiteReporter sends the
> metrics to graphite using only the 4 fields I describe above. Consequently,
> multiple metrics in the registry get sent to graphite under the same name.
> Thus these metrics all end up in the same bucket in graphite, trampling
> over each other making them useless. They aren’t ‘double counted’ so much
> as flapping between multiple independent values.
>
> We actually have our own Reporter class (based off the yammer
> GraphiteReporter). Our version sends metrics through kafka which is then
> consumed downstream by multiple metric consumers.
>
> The ConsoleReporter isn’t useful for actually persisting metrics anywhere.
> It’s just iterating through all the (identically named metrics in the
> registry (save for the different mbeanNames))….
>
> The mbeanName, as constructed, is not useful as a human readable metric
> name, to be presented in a browsable tree of metrics, etc. The
> ‘group’:’type’:’name’:’scope’ are the pieces that matter.
>
> The fix here is to produce MetricName instances similar to 0.8.1.1, etc. In
> this case, it should probably be something like:
>
> group: kafka.server
> type: BrokerTopicMetrics
> name: mytopic-BytesInPerSec
> group: 
>
> Jason
> ​
>
> On Tue, Jan 27, 2015 at 7:26 AM, Manikumar Reddy 
> wrote:
>
> > I have enabled yammer's ConsoleReporter and I am getting all the metrics
> > (including per-topic metrics).
> >
> > Yammer's MetricName object implements equals/hashcode methods using
> > mBeanName . We are constructing a unique mBeanName for each metric, So we
> > are not missing/overwriting any metrics.
> >
> > Current confusion is due to  MetricName.name(). This will be same
> > (BytesInPerSec) for both broker level and topic level metrics. We need to
> > use MetricName.getMBeanName() to differentiate between broker level and
> > topic level metrics.
> >
> > 0.8.1  MBeanName:
> > "kafka.server":type="BrokerTopicMetrics",name="AllTopicsBytesInPerSec"
> > "kafka.server":type="BrokerTopicMetrics",name="MYTOPIC-BytesInPerSec"
> >
> > 0.8.2  MBeanName:
> > kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
> > kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=MYTOPIC
> >
> >
> > ConsoleReporter's O/P:
> >
> >   BytesInPerSec:  <- This is broker level
> >  count = 1521
> >  mean rate = 3.63 bytes/s
> >  1-minute rate = 0.35 bytes/s
> >  5-minute rate = 2.07 bytes/s
> > 15-minute rate = 1.25 bytes/s
> >
> >   BytesInPerSec:  <- This is for topic1
> >  count = 626
> >  mean rate = 1.89 bytes/s
> >  1-minute rate = 0.42 bytes/s
> >  5-minute rate = 31.53 bytes/s
> > 15-minute rate = 64.66 bytes/s
> >
> >   BytesInPerSec:  <- This is for topic2
> >  count = 895
> >  mean rate = 3.62 bytes/s
> >  1-minute rate = 1.39 bytes/s
> >  5-minute rate = 30.08 bytes/s
> > 15-minute rate = 50.27 bytes/s
> >
> > Manikumar
> >
> > On Tue, Jan 27, 2015 at 1:59 PM, Jason Rosenberg 
> wrote:
> >
> > > Ok,
> > >
> > > It looks like the yammer MetricName is not being created correctly for
> > the
> > > sub metrics that include a topic. E.g. a metric with an mbeanName like:
> > >
> > >
> >
> kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec,topic=mytopic
> > >
> > > appears to be malformed. A yammer MetricName has 4 fields that are used
> > in
> > > creating a graphite metric, that are included in the constructor:
> > > group, type, name, scope.
> > >
> > > In this case, the metric with the above mbeanName has these fields set
> in
> > > the MetricName:
> > >
> > > group: "kafka.server"
> > > type: "BrokerTopicMetrics"
> > > name: "BytesInPerSec"
> > > scope: null
> > >
> > > Thus, the topic metrics all look the same, and get lumped into the
> > > top-level BrokerTopicMetrics (and thus that will now be double
> counted).
> > It
> > > looks like the fix for kafka-1481 was where things got broken. It seems
> > to
> > > have introduced ‘tags’ in the building of metric names, and then t

Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-27 Thread Jason Rosenberg
Remember multiple people have reported this issue. Per topic metrics no
longer appear in graphite (or in any system modeled after the yammer
GraphiteReporter). They are not being seen as unique.

While these metrics are registered in the registry as separate ‘MetricName’
instances (varying only by mbeanName), the GraphiteReporter sends the
metrics to graphite using only the 4 fields I describe above. Consequently,
multiple metrics in the registry get sent to graphite under the same name.
Thus these metrics all end up in the same bucket in graphite, trampling
over each other making them useless. They aren’t ‘double counted’ so much
as flapping between multiple independent values.

We actually have our own Reporter class (based off the yammer
GraphiteReporter). Our version sends metrics through kafka which is then
consumed downstream by multiple metric consumers.

The ConsoleReporter isn’t useful for actually persisting metrics anywhere.
It’s just iterating through all the (identically named metrics in the
registry (save for the different mbeanNames))….

The mbeanName, as constructed, is not useful as a human readable metric
name, to be presented in a browsable tree of metrics, etc. The
‘group’:’type’:’name’:’scope’ are the pieces that matter.

The fix here is to produce MetricName instances similar to 0.8.1.1, etc. In
this case, it should probably be something like:

group: kafka.server
type: BrokerTopicMetrics
name: mytopic-BytesInPerSec
group: 

Jason
​

On Tue, Jan 27, 2015 at 7:26 AM, Manikumar Reddy 
wrote:

> I have enabled yammer's ConsoleReporter and I am getting all the metrics
> (including per-topic metrics).
>
> Yammer's MetricName object implements equals/hashcode methods using
> mBeanName . We are constructing a unique mBeanName for each metric, So we
> are not missing/overwriting any metrics.
>
> Current confusion is due to  MetricName.name(). This will be same
> (BytesInPerSec) for both broker level and topic level metrics. We need to
> use MetricName.getMBeanName() to differentiate between broker level and
> topic level metrics.
>
> 0.8.1  MBeanName:
> "kafka.server":type="BrokerTopicMetrics",name="AllTopicsBytesInPerSec"
> "kafka.server":type="BrokerTopicMetrics",name="MYTOPIC-BytesInPerSec"
>
> 0.8.2  MBeanName:
> kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
> kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=MYTOPIC
>
>
> ConsoleReporter's O/P:
>
>   BytesInPerSec:  <- This is broker level
>  count = 1521
>  mean rate = 3.63 bytes/s
>  1-minute rate = 0.35 bytes/s
>  5-minute rate = 2.07 bytes/s
> 15-minute rate = 1.25 bytes/s
>
>   BytesInPerSec:  <- This is for topic1
>  count = 626
>  mean rate = 1.89 bytes/s
>  1-minute rate = 0.42 bytes/s
>  5-minute rate = 31.53 bytes/s
> 15-minute rate = 64.66 bytes/s
>
>   BytesInPerSec:  <- This is for topic2
>  count = 895
>  mean rate = 3.62 bytes/s
>  1-minute rate = 1.39 bytes/s
>  5-minute rate = 30.08 bytes/s
> 15-minute rate = 50.27 bytes/s
>
> Manikumar
>
> On Tue, Jan 27, 2015 at 1:59 PM, Jason Rosenberg  wrote:
>
> > Ok,
> >
> > It looks like the yammer MetricName is not being created correctly for
> the
> > sub metrics that include a topic. E.g. a metric with an mbeanName like:
> >
> >
> kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec,topic=mytopic
> >
> > appears to be malformed. A yammer MetricName has 4 fields that are used
> in
> > creating a graphite metric, that are included in the constructor:
> > group, type, name, scope.
> >
> > In this case, the metric with the above mbeanName has these fields set in
> > the MetricName:
> >
> > group: "kafka.server"
> > type: "BrokerTopicMetrics"
> > name: "BytesInPerSec"
> > scope: null
> >
> > Thus, the topic metrics all look the same, and get lumped into the
> > top-level BrokerTopicMetrics (and thus that will now be double counted).
> It
> > looks like the fix for kafka-1481 was where things got broken. It seems
> to
> > have introduced ‘tags’ in the building of metric names, and then those
> tags
> > only get applied to the mbeanName, but get excluded from the metric name:
> >
> >
> https://github.com/apache/kafka/commit/457744a820d806e546edebbd8ffd33f6772e519f
> >
> > This is a pretty severe issue, since the yammer metrics for these stats
> > will be double counted in aggregate, and the per-topic stats will be
> > removed.
> >
> > I should note too, in my previous email, I thought that only the
> per-topic
> > BrokerTopicMetrics were missing, but also several other per-topic metrics
> > are missing too, e.g. under kafka.log, etc.
> >
> > Jason
> > ​
> >
> > On Tue, Jan 27, 2015 at 2:20 AM, Jason Rosenberg 
> wrote:
> >
> > > I can confirm that the per topic metrics are not coming through to the
> > > yammer metrics registry.  I do see them in jmx (via jconsole), but the
> > > MetricsRegistry does not have them.
> > > All the other metrics are coming throug

Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-27 Thread Manikumar Reddy
I have enabled yammer's ConsoleReporter and I am getting all the metrics
(including per-topic metrics).

Yammer's MetricName object implements equals/hashcode methods using
mBeanName . We are constructing a unique mBeanName for each metric, So we
are not missing/overwriting any metrics.

Current confusion is due to  MetricName.name(). This will be same
(BytesInPerSec) for both broker level and topic level metrics. We need to
use MetricName.getMBeanName() to differentiate between broker level and
topic level metrics.

0.8.1  MBeanName:
"kafka.server":type="BrokerTopicMetrics",name="AllTopicsBytesInPerSec"
"kafka.server":type="BrokerTopicMetrics",name="MYTOPIC-BytesInPerSec"

0.8.2  MBeanName:
kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=MYTOPIC


ConsoleReporter's O/P:

  BytesInPerSec:  <- This is broker level
 count = 1521
 mean rate = 3.63 bytes/s
 1-minute rate = 0.35 bytes/s
 5-minute rate = 2.07 bytes/s
15-minute rate = 1.25 bytes/s

  BytesInPerSec:  <- This is for topic1
 count = 626
 mean rate = 1.89 bytes/s
 1-minute rate = 0.42 bytes/s
 5-minute rate = 31.53 bytes/s
15-minute rate = 64.66 bytes/s

  BytesInPerSec:  <- This is for topic2
 count = 895
 mean rate = 3.62 bytes/s
 1-minute rate = 1.39 bytes/s
 5-minute rate = 30.08 bytes/s
15-minute rate = 50.27 bytes/s

Manikumar

On Tue, Jan 27, 2015 at 1:59 PM, Jason Rosenberg  wrote:

> Ok,
>
> It looks like the yammer MetricName is not being created correctly for the
> sub metrics that include a topic. E.g. a metric with an mbeanName like:
>
> kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec,topic=mytopic
>
> appears to be malformed. A yammer MetricName has 4 fields that are used in
> creating a graphite metric, that are included in the constructor:
> group, type, name, scope.
>
> In this case, the metric with the above mbeanName has these fields set in
> the MetricName:
>
> group: "kafka.server"
> type: "BrokerTopicMetrics"
> name: "BytesInPerSec"
> scope: null
>
> Thus, the topic metrics all look the same, and get lumped into the
> top-level BrokerTopicMetrics (and thus that will now be double counted). It
> looks like the fix for kafka-1481 was where things got broken. It seems to
> have introduced ‘tags’ in the building of metric names, and then those tags
> only get applied to the mbeanName, but get excluded from the metric name:
>
> https://github.com/apache/kafka/commit/457744a820d806e546edebbd8ffd33f6772e519f
>
> This is a pretty severe issue, since the yammer metrics for these stats
> will be double counted in aggregate, and the per-topic stats will be
> removed.
>
> I should note too, in my previous email, I thought that only the per-topic
> BrokerTopicMetrics were missing, but also several other per-topic metrics
> are missing too, e.g. under kafka.log, etc.
>
> Jason
> ​
>
> On Tue, Jan 27, 2015 at 2:20 AM, Jason Rosenberg  wrote:
>
> > I can confirm that the per topic metrics are not coming through to the
> > yammer metrics registry.  I do see them in jmx (via jconsole), but the
> > MetricsRegistry does not have them.
> > All the other metrics are coming through that appear in jmx.
> >
> > This is with single node instance running locally.
> >
> > Jason
> >
> >
> >
> > On Mon, Jan 26, 2015 at 8:30 PM, Manikumar Reddy 
> > wrote:
> >
> >> If you are using multi-node cluster, then metrics may be reported from
> >> other servers.
> >> pl check all the servers in the cluster.
> >>
> >> On Tue, Jan 27, 2015 at 4:12 AM, Kyle Banker 
> >> wrote:
> >>
> >> > I've been using a custom KafkaMetricsReporter to report Kafka broker
> >> > metrics to Graphite. In v0.8.1.1, Kafka was reporting bytes and
> >> messages in
> >> > and out for all topics together and for each individual topic.
> >> >
> >> > After upgrading to v0.8.2.0, these metrics are no longer being
> reported.
> >> >
> >> > I'm only seeing the following:
> >> > BrokerTopicMetrics
> >> > - BytesInPerSec
> >> > - BytesOutPerSec
> >> > - BytesRejectedPerSec
> >> > - MessagesInPerSec
> >> >
> >> > What's more, despite lots of successful writes to the cluster, the
> >> values
> >> > for these remaining metrics are all zero.
> >> >
> >> > I saw that there was some refactoring of metric naming code. Was the
> >> > behavior supposed to have changed?
> >> >
> >> > Many thanks in advance.
> >> >
> >>
> >
> >
>


Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-27 Thread Joel Koshy
Is it actually getting double-counted? I tried reproducing this
locally but the BrokerTopicMetrics.Count lines up with the sum of the
PerTopic.Counts for various metrics.

On Tue, Jan 27, 2015 at 03:29:37AM -0500, Jason Rosenberg wrote:
> Ok,
> 
> It looks like the yammer MetricName is not being created correctly for the
> sub metrics that include a topic. E.g. a metric with an mbeanName like:
> 
> kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec,topic=mytopic
> 
> appears to be malformed. A yammer MetricName has 4 fields that are used in
> creating a graphite metric, that are included in the constructor:
> group, type, name, scope.
> 
> In this case, the metric with the above mbeanName has these fields set in
> the MetricName:
> 
> group: "kafka.server"
> type: "BrokerTopicMetrics"
> name: "BytesInPerSec"
> scope: null
> 
> Thus, the topic metrics all look the same, and get lumped into the
> top-level BrokerTopicMetrics (and thus that will now be double counted). It
> looks like the fix for kafka-1481 was where things got broken. It seems to
> have introduced ‘tags’ in the building of metric names, and then those tags
> only get applied to the mbeanName, but get excluded from the metric name:
> https://github.com/apache/kafka/commit/457744a820d806e546edebbd8ffd33f6772e519f
> 
> This is a pretty severe issue, since the yammer metrics for these stats
> will be double counted in aggregate, and the per-topic stats will be
> removed.
> 
> I should note too, in my previous email, I thought that only the per-topic
> BrokerTopicMetrics were missing, but also several other per-topic metrics
> are missing too, e.g. under kafka.log, etc.
> 
> Jason
> ​
> 
> On Tue, Jan 27, 2015 at 2:20 AM, Jason Rosenberg  wrote:
> 
> > I can confirm that the per topic metrics are not coming through to the
> > yammer metrics registry.  I do see them in jmx (via jconsole), but the
> > MetricsRegistry does not have them.
> > All the other metrics are coming through that appear in jmx.
> >
> > This is with single node instance running locally.
> >
> > Jason
> >
> >
> >
> > On Mon, Jan 26, 2015 at 8:30 PM, Manikumar Reddy 
> > wrote:
> >
> >> If you are using multi-node cluster, then metrics may be reported from
> >> other servers.
> >> pl check all the servers in the cluster.
> >>
> >> On Tue, Jan 27, 2015 at 4:12 AM, Kyle Banker 
> >> wrote:
> >>
> >> > I've been using a custom KafkaMetricsReporter to report Kafka broker
> >> > metrics to Graphite. In v0.8.1.1, Kafka was reporting bytes and
> >> messages in
> >> > and out for all topics together and for each individual topic.
> >> >
> >> > After upgrading to v0.8.2.0, these metrics are no longer being reported.
> >> >
> >> > I'm only seeing the following:
> >> > BrokerTopicMetrics
> >> > - BytesInPerSec
> >> > - BytesOutPerSec
> >> > - BytesRejectedPerSec
> >> > - MessagesInPerSec
> >> >
> >> > What's more, despite lots of successful writes to the cluster, the
> >> values
> >> > for these remaining metrics are all zero.
> >> >
> >> > I saw that there was some refactoring of metric naming code. Was the
> >> > behavior supposed to have changed?
> >> >
> >> > Many thanks in advance.
> >> >
> >>
> >
> >



Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-27 Thread Jason Rosenberg
Ok,

It looks like the yammer MetricName is not being created correctly for the
sub metrics that include a topic. E.g. a metric with an mbeanName like:

kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec,topic=mytopic

appears to be malformed. A yammer MetricName has 4 fields that are used in
creating a graphite metric, that are included in the constructor:
group, type, name, scope.

In this case, the metric with the above mbeanName has these fields set in
the MetricName:

group: "kafka.server"
type: "BrokerTopicMetrics"
name: "BytesInPerSec"
scope: null

Thus, the topic metrics all look the same, and get lumped into the
top-level BrokerTopicMetrics (and thus that will now be double counted). It
looks like the fix for kafka-1481 was where things got broken. It seems to
have introduced ‘tags’ in the building of metric names, and then those tags
only get applied to the mbeanName, but get excluded from the metric name:
https://github.com/apache/kafka/commit/457744a820d806e546edebbd8ffd33f6772e519f

This is a pretty severe issue, since the yammer metrics for these stats
will be double counted in aggregate, and the per-topic stats will be
removed.

I should note too, in my previous email, I thought that only the per-topic
BrokerTopicMetrics were missing, but also several other per-topic metrics
are missing too, e.g. under kafka.log, etc.

Jason
​

On Tue, Jan 27, 2015 at 2:20 AM, Jason Rosenberg  wrote:

> I can confirm that the per topic metrics are not coming through to the
> yammer metrics registry.  I do see them in jmx (via jconsole), but the
> MetricsRegistry does not have them.
> All the other metrics are coming through that appear in jmx.
>
> This is with single node instance running locally.
>
> Jason
>
>
>
> On Mon, Jan 26, 2015 at 8:30 PM, Manikumar Reddy 
> wrote:
>
>> If you are using multi-node cluster, then metrics may be reported from
>> other servers.
>> pl check all the servers in the cluster.
>>
>> On Tue, Jan 27, 2015 at 4:12 AM, Kyle Banker 
>> wrote:
>>
>> > I've been using a custom KafkaMetricsReporter to report Kafka broker
>> > metrics to Graphite. In v0.8.1.1, Kafka was reporting bytes and
>> messages in
>> > and out for all topics together and for each individual topic.
>> >
>> > After upgrading to v0.8.2.0, these metrics are no longer being reported.
>> >
>> > I'm only seeing the following:
>> > BrokerTopicMetrics
>> > - BytesInPerSec
>> > - BytesOutPerSec
>> > - BytesRejectedPerSec
>> > - MessagesInPerSec
>> >
>> > What's more, despite lots of successful writes to the cluster, the
>> values
>> > for these remaining metrics are all zero.
>> >
>> > I saw that there was some refactoring of metric naming code. Was the
>> > behavior supposed to have changed?
>> >
>> > Many thanks in advance.
>> >
>>
>
>


Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-27 Thread Joel Koshy
Hi Jason - can you describe how you verify that the metrics are not
coming through to the metrics registry?  Looking at the metrics code
it seems that the mbeans are only registered by the yammer jmx
reporter only after being added to the metrics registry.

Thanks,

Joel

On Tue, Jan 27, 2015 at 02:20:38AM -0500, Jason Rosenberg wrote:
> I can confirm that the per topic metrics are not coming through to the
> yammer metrics registry.  I do see them in jmx (via jconsole), but the
> MetricsRegistry does not have them.
> All the other metrics are coming through that appear in jmx.
> 
> This is with single node instance running locally.
> 
> Jason
> 
> 
> 
> On Mon, Jan 26, 2015 at 8:30 PM, Manikumar Reddy 
> wrote:
> 
> > If you are using multi-node cluster, then metrics may be reported from
> > other servers.
> > pl check all the servers in the cluster.
> >
> > On Tue, Jan 27, 2015 at 4:12 AM, Kyle Banker  wrote:
> >
> > > I've been using a custom KafkaMetricsReporter to report Kafka broker
> > > metrics to Graphite. In v0.8.1.1, Kafka was reporting bytes and messages
> > in
> > > and out for all topics together and for each individual topic.
> > >
> > > After upgrading to v0.8.2.0, these metrics are no longer being reported.
> > >
> > > I'm only seeing the following:
> > > BrokerTopicMetrics
> > > - BytesInPerSec
> > > - BytesOutPerSec
> > > - BytesRejectedPerSec
> > > - MessagesInPerSec
> > >
> > > What's more, despite lots of successful writes to the cluster, the values
> > > for these remaining metrics are all zero.
> > >
> > > I saw that there was some refactoring of metric naming code. Was the
> > > behavior supposed to have changed?
> > >
> > > Many thanks in advance.
> > >
> >



Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-26 Thread Jason Rosenberg
I can confirm that the per topic metrics are not coming through to the
yammer metrics registry.  I do see them in jmx (via jconsole), but the
MetricsRegistry does not have them.
All the other metrics are coming through that appear in jmx.

This is with single node instance running locally.

Jason



On Mon, Jan 26, 2015 at 8:30 PM, Manikumar Reddy 
wrote:

> If you are using multi-node cluster, then metrics may be reported from
> other servers.
> pl check all the servers in the cluster.
>
> On Tue, Jan 27, 2015 at 4:12 AM, Kyle Banker  wrote:
>
> > I've been using a custom KafkaMetricsReporter to report Kafka broker
> > metrics to Graphite. In v0.8.1.1, Kafka was reporting bytes and messages
> in
> > and out for all topics together and for each individual topic.
> >
> > After upgrading to v0.8.2.0, these metrics are no longer being reported.
> >
> > I'm only seeing the following:
> > BrokerTopicMetrics
> > - BytesInPerSec
> > - BytesOutPerSec
> > - BytesRejectedPerSec
> > - MessagesInPerSec
> >
> > What's more, despite lots of successful writes to the cluster, the values
> > for these remaining metrics are all zero.
> >
> > I saw that there was some refactoring of metric naming code. Was the
> > behavior supposed to have changed?
> >
> > Many thanks in advance.
> >
>


Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-26 Thread Manikumar Reddy
If you are using multi-node cluster, then metrics may be reported from
other servers.
pl check all the servers in the cluster.

On Tue, Jan 27, 2015 at 4:12 AM, Kyle Banker  wrote:

> I've been using a custom KafkaMetricsReporter to report Kafka broker
> metrics to Graphite. In v0.8.1.1, Kafka was reporting bytes and messages in
> and out for all topics together and for each individual topic.
>
> After upgrading to v0.8.2.0, these metrics are no longer being reported.
>
> I'm only seeing the following:
> BrokerTopicMetrics
> - BytesInPerSec
> - BytesOutPerSec
> - BytesRejectedPerSec
> - MessagesInPerSec
>
> What's more, despite lots of successful writes to the cluster, the values
> for these remaining metrics are all zero.
>
> I saw that there was some refactoring of metric naming code. Was the
> behavior supposed to have changed?
>
> Many thanks in advance.
>


Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-26 Thread Jun Rao
The jmx beans created by Yammer have been changed to the new names.
However, the global mbeans have different names from the topic level
mbeans. The new mbeans have completely different names from the old ones
since they no longer have quotes. Does that answer your question?

Thanks,

Jun

On Mon, Jan 26, 2015 at 3:38 PM, Kyle Banker  wrote:

> Thanks, Jun. I'm pretty sure, though not 100% confident, that this has
> caused a change in the way that these metrics are reported to Yammer
> metrics (I believe that they are stomping on each other). Is that intended
> as well?
>
> On Mon, Jan 26, 2015 at 4:13 PM, Jun Rao  wrote:
>
> > Yes, we refactored the mbean names in 0.8.2.0 to make them more standard.
> > Those metrics are now registered under the following names. I did some
> > quick test and the values do get updated.
> >
> > kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
> > kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=test
> >
> > The full list of the refactored mbean names can be found at
> > http://kafka.apache.org/082/documentation.html#monitoring
> >
> > Thanks,
> >
> > Jun
> >
> >
> > On Mon, Jan 26, 2015 at 2:42 PM, Kyle Banker 
> wrote:
> >
> > > I've been using a custom KafkaMetricsReporter to report Kafka broker
> > > metrics to Graphite. In v0.8.1.1, Kafka was reporting bytes and
> messages
> > in
> > > and out for all topics together and for each individual topic.
> > >
> > > After upgrading to v0.8.2.0, these metrics are no longer being
> reported.
> > >
> > > I'm only seeing the following:
> > > BrokerTopicMetrics
> > > - BytesInPerSec
> > > - BytesOutPerSec
> > > - BytesRejectedPerSec
> > > - MessagesInPerSec
> > >
> > > What's more, despite lots of successful writes to the cluster, the
> values
> > > for these remaining metrics are all zero.
> > >
> > > I saw that there was some refactoring of metric naming code. Was the
> > > behavior supposed to have changed?
> > >
> > > Many thanks in advance.
> > >
> >
>


Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-26 Thread Kyle Banker
Thanks, Jun. I'm pretty sure, though not 100% confident, that this has
caused a change in the way that these metrics are reported to Yammer
metrics (I believe that they are stomping on each other). Is that intended
as well?

On Mon, Jan 26, 2015 at 4:13 PM, Jun Rao  wrote:

> Yes, we refactored the mbean names in 0.8.2.0 to make them more standard.
> Those metrics are now registered under the following names. I did some
> quick test and the values do get updated.
>
> kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
> kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=test
>
> The full list of the refactored mbean names can be found at
> http://kafka.apache.org/082/documentation.html#monitoring
>
> Thanks,
>
> Jun
>
>
> On Mon, Jan 26, 2015 at 2:42 PM, Kyle Banker  wrote:
>
> > I've been using a custom KafkaMetricsReporter to report Kafka broker
> > metrics to Graphite. In v0.8.1.1, Kafka was reporting bytes and messages
> in
> > and out for all topics together and for each individual topic.
> >
> > After upgrading to v0.8.2.0, these metrics are no longer being reported.
> >
> > I'm only seeing the following:
> > BrokerTopicMetrics
> > - BytesInPerSec
> > - BytesOutPerSec
> > - BytesRejectedPerSec
> > - MessagesInPerSec
> >
> > What's more, despite lots of successful writes to the cluster, the values
> > for these remaining metrics are all zero.
> >
> > I saw that there was some refactoring of metric naming code. Was the
> > behavior supposed to have changed?
> >
> > Many thanks in advance.
> >
>


Re: Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-26 Thread Jun Rao
Yes, we refactored the mbean names in 0.8.2.0 to make them more standard.
Those metrics are now registered under the following names. I did some
quick test and the values do get updated.

kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=test

The full list of the refactored mbean names can be found at
http://kafka.apache.org/082/documentation.html#monitoring

Thanks,

Jun


On Mon, Jan 26, 2015 at 2:42 PM, Kyle Banker  wrote:

> I've been using a custom KafkaMetricsReporter to report Kafka broker
> metrics to Graphite. In v0.8.1.1, Kafka was reporting bytes and messages in
> and out for all topics together and for each individual topic.
>
> After upgrading to v0.8.2.0, these metrics are no longer being reported.
>
> I'm only seeing the following:
> BrokerTopicMetrics
> - BytesInPerSec
> - BytesOutPerSec
> - BytesRejectedPerSec
> - MessagesInPerSec
>
> What's more, despite lots of successful writes to the cluster, the values
> for these remaining metrics are all zero.
>
> I saw that there was some refactoring of metric naming code. Was the
> behavior supposed to have changed?
>
> Many thanks in advance.
>


Missing Per-Topic BrokerTopicMetrics in v0.8.2.0

2015-01-26 Thread Kyle Banker
I've been using a custom KafkaMetricsReporter to report Kafka broker
metrics to Graphite. In v0.8.1.1, Kafka was reporting bytes and messages in
and out for all topics together and for each individual topic.

After upgrading to v0.8.2.0, these metrics are no longer being reported.

I'm only seeing the following:
BrokerTopicMetrics
- BytesInPerSec
- BytesOutPerSec
- BytesRejectedPerSec
- MessagesInPerSec

What's more, despite lots of successful writes to the cluster, the values
for these remaining metrics are all zero.

I saw that there was some refactoring of metric naming code. Was the
behavior supposed to have changed?

Many thanks in advance.