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ś >>> > > >>> > >>> >>>