jmxtrans-agent
jmxtrans-agent copied to clipboard
Ability to exclude/filter attributes
In our applications, we use the Codahale/Dropwizard metrics library to publish our metrics to JMX. Rather than configure each metric, I'd like to grab everything under a particular domain. For example, something like this:
<query objectName="MyApplication-metrics:type=*,group=*,name=*"
resultAlias="app.%type%.%group%.%name%.#attribute#"/>
However, because of the way the metrics are published to JMX, I end up with metrics that aren't really metrics. For example:
myapplication.app.API.ALL_statusSeries_5xx.responseTime.RateUnit events/second 1505500740
myapplication.app.API.ALL_statusSeries_5xx.responseTime.DurationUnit milliseconds 1505500740
What I'd really like to do is specify a set of attributes not to include. The configuration might look something like this:
<query objectName="MyApplication-metrics:type=*,group=*,name=*"
excludeAttributes="RateUnit,DurationUnit"
resultAlias="app.%type%.%group%.%name%.#attribute#"/>
I'm guessing that some might want to do something similar when processing CompositeData, though I don't personally have that need at the moment.
Thanks!
Another way to solve this would be to overload the attribute
and attributes
field such that any attributes preceded by a minus sign (-) would be excluded. I've started a branch using this approach for a future pull request.
For example
<query objectName="MyApplication-metrics:type=*,group=*,name=*"
attributes="-RateUnit,-DurationUnit"
resultAlias="app.%type%.%group%.%name%.#attribute#"/>
smart idea @dhay !