You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org> on 2016/12/06 16:02:58 UTC

[jira] [Resolved] (KARAF-4850) Be able to specify several object names for the JMX collector

     [ https://issues.apache.org/jira/browse/KARAF-4850?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Baptiste Onofré resolved KARAF-4850.
-----------------------------------------
    Resolution: Fixed

> Be able to specify several object names for the JMX collector
> -------------------------------------------------------------
>
>                 Key: KARAF-4850
>                 URL: https://issues.apache.org/jira/browse/KARAF-4850
>             Project: Karaf
>          Issue Type: Improvement
>          Components: decanter
>    Affects Versions: decanter-1.2.0, decanter-1.3.0
>            Reporter: Vincent Zurczak
>            Assignee: Jean-Baptiste Onofré
>            Priority: Minor
>             Fix For: decanter-1.4.0
>
>
> When using the JMX collector, there is a property called *object.name*, which can be a query for MBeans. However, the syntax of ObjectName is too poor IMO. And gathering all the MBeans information can result in sending too much data to the appender (e.g. ElasticSearch).
> It would be very convenient if one could customize which MBeans are retrieved exactly, as a list, in the same configuration file.
> Example:
> {quote}
> object.name = \
> java.lang:type=Memory,name=HeapMemoryUsage |\
> java.lang:type=Memory,name=NonHeapMemoryUsage |\
> java.lang:type=OperatingSystem,name=SystemLoadAverage |\
> java.lang:type=OperatingSystem,name=SystemCpuLoad |\
> java.lang:type=OperatingSystem,name=ProcessCpuLoad |\
> java.lang:type=OperatingSystem,name=FreePhysicalMemorySize |\
> java.lang:type=Threading,name=ThreadCount
> {quote}
> I suggest to use the pipe character as a separator.
> Or, we could use the base property as a prefix.
> {quote}
> object.name.1=java.lang:type=Memory,name=HeapMemoryUsage
> object.name.2=java.lang:type=Memory,name=NonHeapMemoryUsage
> object.name.3=java.lang:type=OperatingSystem,name=SystemLoadAverage
> object.name.4=java.lang:type=OperatingSystem,name=SystemCpuLoad
> object.name.5=java.lang:type=OperatingSystem,name=ProcessCpuLoad
> object.name.6=java.lang:type=OperatingSystem,name=FreePhysicalMemorySize
> object.name.7=java.lang:type=Threading,name=ThreadCount
> {quote}
> In terms of performance, it should not have a major impact with respect to the current implementation. We need to parse the list of values and iterate over it to fullfill the set of ObjectNames. Obviously, this could be achieved by creating several CFG files. But you would have to copy the JMX settings over and over again. IMO, it is better to have one configuration file per JMX configuration.
> I could work on it and submit a patch if necessary.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)