Hi JB,

While trying to expose a micrometer <https://micrometer.io/> Gauge, I
noticed that its Double value is not shown by the PrometheusServlet.
Apparently only Integers and Longs are. Any reason for this ? Looks like an
easy fix to handle Doubles as well.

Best regards,
Steven

On Sun, Sep 19, 2021 at 3:33 PM Steven Huypens <steven.huyp...@gmail.com>
wrote:

>
> Great !
>
> Anyway, thanks for the 2.8.0 release. Decanter now offers a prometheus
> endpoint with the properties we need out-of-the-box.
>
> Steven
>
> On Sun, Sep 19, 2021 at 1:58 PM JB Onofré <j...@nanthrax.net> wrote:
>
>> Ah that’s on the jmx collector then not Prometheus appender: the
>> Prometheus appender just use property names provided by the collectors.
>>
>> I think it makes sense to use full object name and collector prefix to
>> differentiate the properties name.
>>
>> I will do that for next decanter release.
>>
>> Thanks for pointing this.
>>
>> Regards
>> JB
>>
>> Le 19 sept. 2021 à 12:53, Steven Huypens <steven.huyp...@gmail.com> a
>> écrit :
>>
>> 
>> Hi JB,
>>
>> Thanks for the clarification, it works for me as described now.
>>
>> However, the problem I wanted to address was that if two different MBeans
>> would contain the exact same property, I see no way of differentiating
>> between them. In fact I think only one of the properties will be shown by
>> the Prometheus servlet.
>>
>> At the moment that's not a real problem for me, just wanted to let you
>> know and suggest the possibility of a prefix eg.
>>
>> java_lang_Memory_HeapMemoryUsage_committed
>> java_lang_Memory_HeapMemoryUsage_init
>> java_lang_Memory_HeapMemoryUsage_max
>> java_lang_Memory_HeapMemoryUsage_used
>>
>> Best regards,
>> Steven
>>
>> On Sun, Sep 19, 2021 at 11:30 AM Jean-Baptiste Onofre <j...@nanthrax.net>
>> wrote:
>>
>>> Hi Steven,
>>>
>>> I’m about to write a quick blog post to give some highlights about this
>>> change.
>>>
>>> Basically, I did these two other changes:
>>>
>>> 1. For « descendent » properties (the properties inside a Map for
>>> instance), the property is now named [MAP_PROPERTY]_[ENTRY_PROPERTY]:
>>>
>>>
>>> https://github.com/apache/karaf-decanter/blob/main/appender/prometheus/src/main/java/org/apache/karaf/decanter/appender/prometheus/PrometheusServlet.java#L74
>>>
>>> 2. You can specify the property you want to « render » in the Prometheus
>>> servlet using prometheus.key.foo in
>>> etc/org.apache.karaf.decanter.appender.prometheus.cfg:
>>>
>>>
>>> https://github.com/apache/karaf-decanter/blob/main/appender/prometheus/src/main/java/org/apache/karaf/decanter/appender/prometheus/PrometheusServlet.java#L69
>>>
>>> I hope it helps.
>>>
>>> Regards
>>> JB
>>>
>>> > Le 19 sept. 2021 à 10:16, Steven Huypens <steven.huyp...@gmail.com> a
>>> écrit :
>>> >
>>> > Hi JB,
>>> >
>>> > I've tested the new 2.8.0 decanter release and I'm pleased to say your
>>> fix for https://issues.apache.org/jira/browse/KARAF-7154 works great.
>>> Thanks for that !
>>> >
>>> > However I couldn't figure out from the pull request what changes you
>>> made related to my second suggestion, to better identify from which MBean
>>> the properties are (or as you put it 'allow user to define the "exported"
>>> event properties by configuration'). Can you please explain how I can
>>> achieve this ?
>>> >
>>> > Kind regards,
>>> > Steven
>>> >
>>> > On Wed, May 12, 2021 at 6:57 PM Steven Huypens <
>>> steven.huyp...@gmail.com> wrote:
>>> > Hi Jean-Baptist,
>>> >
>>> > 1) You mention the Prometheus appender only exposes the numeric
>>> metrics. I believe it would be a minor but very useful addition to also
>>> expose the Objects in a CompositeDataSupport. For example java.lang.memory
>>> has a HeapMemoryUsage-object which contains 4 values (committed, init, max
>>> & used) that could easily be exposed as well.
>>> >
>>> > 2) I also would like to suggest to prefix the outputted name of a
>>> property with something that really identifies the MBean, eg. :
>>> >
>>> > java_lang_Memory_HeapMemoryUsage_committed
>>> > java_lang_Memory_HeapMemoryUsage_init
>>> > java_lang_Memory_HeapMemoryUsage_max
>>> > java_lang_Memory_HeapMemoryUsage_used
>>> >
>>> > Currently MBeans having the same properties will have their values
>>> overridden in the output.
>>> >
>>> > Kind regards,
>>> > Steven
>>> >
>>> > On Mon, May 3, 2021 at 6:14 AM Jean-Baptiste Onofre <j...@nanthrax.net>
>>> wrote:
>>> > Hi Daniel,
>>> >
>>> > JMX collector polls all MBeans attributes. However Prometheus appender
>>> only expose metrics (numeric) on the Prometheus servlet:
>>> >
>>> > http://localhost:8181/decanter/prometheus
>>> >
>>> > As the generated JMX JSON is "more" than just numeric, it’s possible
>>> that you don’t have the metrics.
>>> >
>>> > You can check the JMX JSON using another kind of appender (like log
>>> appender or elasticsearch).
>>> > I can add kind of "json introspection" on the Prometheus appender to
>>> "force" some JSON fields as metrics (gauge).
>>> >
>>> > Regards
>>> > JB
>>> >
>>> > > Le 2 mai 2021 à 22:24, Daniel Las <daniel....@empirica.io> a écrit :
>>> > >
>>> > > Hi,
>>> > >
>>> > > I installed Decanter 2.7.0 on Karaf 4.2.11 with JMX collector and
>>> Prometheus appender features. I uncommented
>>> "object.name.system=java.lang:*" in
>>> org.apache.karaf.decanter.collector.jmx-local.cfg.
>>> > >
>>> > > Where can I find JVM metrics like current heap memory usage?
>>> > >
>>> > > Regards
>>> > > --
>>> > > Daniel Łaś
>>> > >
>>> >
>>>
>>>

Reply via email to