Hi Daniel,

About Decanter 2.10.0, I plan to submit a vote next week (finishing
the preparation during this week/weekend).

Regarding the MBean name, you should be able to use any name, it's up
to Decanter to deal with that. The reason why some names has to be
transformed is because EventAdmin topic has requirement about topic
name. In Decanter 3.0.0, we plan to refactore with our own EventAdmin
implementation (for this reason and others like
persistence/performance) suitable better for Decanter use case.

Regards
JB

On Tue, Jan 17, 2023 at 2:52 PM Daniel Las <daniel....@empirica.io> wrote:
>
> Good news indeed, thank you. Do you know the time of the next Decanter 
> release?
>
> One more question: are there any constraints regarding supported bean names? 
> I'm asking because we publish some additional metrics with quite exotic names 
> and would like to scrap them as well, for example:
>
> metrics:name=vertxEventbusHandlers_address_/delayer
>
> We can adjust bean names but it would be nice to know what are the allowed 
> name patterns.
>
> Regards
>
> wt., 17 sty 2023 o 14:15 Jean-Baptiste Onofré <j...@nanthrax.net> napisał(a):
>>
>> Hi Daniel,
>>
>> it looks like a bug with the names containing "-". Let me try to
>> reproduce and I will create a Jira.
>>
>> The good news is that I'm preparing a new Decanter release with a lot
>> of updates and fixes. I will include this fix.
>>
>> Sorry for the inconvenience.
>>
>> Regards
>> JB
>>
>> On Tue, Jan 17, 2023 at 7:52 AM Daniel Las <daniel....@empirica.io> wrote:
>> >
>> > Hi,
>> >
>> > I'm trying to use Decanter 2.9.0 JMX Collector with Prometheus Appender to 
>> > monitor our applications. I have configured beans to be monitored as:
>> >
>> > object.name.system=java.lang:*
>> >
>> > but some metrics are not available. There are some messages logged in 
>> > DEBUG level like:
>> >
>> > 2023-01-17T06:48:03,607 | DEBUG | Karaf_Worker-10  | BeanHarvester         
>> >            | 72 - org.apache.karaf.decanter.collector.jmx - 2.9.0 | Could 
>> > not read attribute java.lang:type=MemoryPool,name=G1 Survivor Space 
>> > UsageThresholdCount
>> >
>> > Is it a known issue or there is some workaround to have such JMX beans 
>> > metrics available?
>> >
>> > I also tried to monitor Kafka consumer metrics:
>> >
>> > object.name.kafkaConsumer=kafka.consumer:*
>> >
>> > but such configuration causes following errors to appear in the logs:
>> >
>> > 2023-01-17T06:50:46,143 | WARN  | EventAdminThread #9 | eventadmin         
>> >               | 2 - org.apache.karaf.services.eventadmin - 4.2.11 | 
>> > EventAdmin: Exception during event dispatch [org.osgi.service.event.Event 
>> > [topic=decanter/collect/jmx/jmx-local/kafka/consumer] 
>> > {hostName=empirica-algo-engine-hft.empirica-crypto, records-lag=0.0, 
>> > felix.fileinstall.filename=file:/opt/algo-engine-hft-4.2.11.4-SNAPSHOT/etc/org.apache.karaf.decanter.collector.jmx-local.cfg,
>> >  type=jmx-local, 
>> > service.factoryPid=org.apache.karaf.decanter.collector.jmx, 
>> > decanter.collector.name=jmx, records-lead-min=5133554.0, 
>> > records-lead-avg=5135042.1, scheduler.period=60, records-lead=5136728.0, 
>> > scheduler.concurrent=false, component.id=3, karafName=root, host=null, 
>> > scheduler.name=decanter-collector-jmx, object.name.system=java.lang:*, 
>> > timestamp=1673938246142, 
>> > component.name=org.apache.karaf.decanter.collector.jmx, 
>> > records-lag-avg=0.12, url=local, 
>> > ObjectName=kafka.consumer:type=consumer-fetch-manager-metrics,client-id=consumer-ORDER-TO-TRADE-MEASURES-4,topic=MARKET_DATA_ENRICHED,partition=1,
>> >  
>> > service.pid=org.apache.karaf.decanter.collector.jmx.044ca602-2290-4868-a6aa-b77131155312,
>> >  object.name.kafkaConsumer=kafka.consumer:*, records-lag-max=2.0, 
>> > preferred-read-replica=-1, hostAddress=172.22.0.13} | 
>> > [org.osgi.service.event.EventHandler] | 
>> > Bundle(org.apache.karaf.decanter.appender.prometheus [71])]
>> > java.lang.IllegalArgumentException: Invalid metric name: 
>> > preferred-read-replica
>> > at io.prometheus.client.Collector.checkMetricName(Collector.java:351) 
>> > ~[?:?]
>> > at io.prometheus.client.SimpleCollector.<init>(SimpleCollector.java:169) 
>> > ~[?:?]
>> > at io.prometheus.client.Gauge.<init>(Gauge.java:69) ~[?:?]
>> > at io.prometheus.client.Gauge$Builder.create(Gauge.java:75) ~[?:?]
>> > at io.prometheus.client.Gauge$Builder.create(Gauge.java:72) ~[?:?]
>> > at 
>> > io.prometheus.client.SimpleCollector$Builder.register(SimpleCollector.java:260)
>> >  ~[?:?]
>> > at 
>> > io.prometheus.client.SimpleCollector$Builder.register(SimpleCollector.java:253)
>> >  ~[?:?]
>> > at 
>> > org.apache.karaf.decanter.appender.prometheus.PrometheusServlet.handleEvent(PrometheusServlet.java:92)
>> >  ~[?:?]
>> > at 
>> > org.apache.felix.eventadmin.impl.handler.EventHandlerProxy.sendEvent(EventHandlerProxy.java:431)
>> >  [!/:?]
>> > at 
>> > org.apache.felix.eventadmin.impl.tasks.HandlerTask.run(HandlerTask.java:70)
>> >  [!/:?]
>> > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
>> > [?:1.8.0_322]
>> > at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_322]
>> > at 
>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>> >  [?:1.8.0_322]
>> > at 
>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>> >  [?:1.8.0_322]
>> > at java.lang.Thread.run(Thread.java:750) [?:1.8.0_322]
>> >
>> > Best regards
>> > --
>> > Daniel Łaś
>
>
>
> --
> Daniel Łaś

Reply via email to