From 89bfe8a662c9c61c4fa72fd995f94e7d7534e592 Mon Sep 17 00:00:00 2001 From: Robert Bach Date: Wed, 6 Jan 2021 22:58:49 +0100 Subject: [PATCH] [prometheusexporter] Initial contribution Signed-off-by: Robert Bach --- CODEOWNERS | 1 + bom/openhab-addons/pom.xml | 5 + .../NOTICE | 13 ++ .../README.md | 150 +++++++++++++++++ .../pom.xml | 39 +++++ .../screenshot_grafana_internals.png | Bin 0 -> 151073 bytes .../screenshot_grafana_jvm_and_events.png | Bin 0 -> 201154 bytes .../screenshot_grafana_operational.png | Bin 0 -> 41717 bytes .../src/main/feature/feature.xml | 23 +++ .../PrometheusExportDiscoveryService.java | 59 +++++++ .../PrometheusExporterBindingConstants.java | 46 ++++++ .../PrometheusExporterConfiguration.java | 30 ++++ .../internal/PrometheusExporterHandler.java | 156 ++++++++++++++++++ .../PrometheusExporterHandlerFactory.java | 64 +++++++ .../internal/metrics/BundleStateMetric.java | 89 ++++++++++ .../internal/metrics/EventCountMetric.java | 87 ++++++++++ .../internal/metrics/HotspotMetric.java | 112 +++++++++++++ .../internal/metrics/InboxCountMetric.java | 100 +++++++++++ .../metrics/MonitoringEventSubscriber.java | 82 +++++++++ .../internal/metrics/PrometheusMetric.java | 35 ++++ .../internal/metrics/ThingStateMetric.java | 83 ++++++++++ .../internal/metrics/ThreadPoolGaugeInfo.java | 70 ++++++++ .../internal/metrics/ThreadPoolMetric.java | 103 ++++++++++++ .../main/resources/OH-INF/binding/binding.xml | 9 + .../resources/OH-INF/thing/thing-types.xml | 77 +++++++++ bundles/pom.xml | 1 + 26 files changed, 1434 insertions(+) create mode 100644 bundles/org.openhab.binding.prometheusexporter/NOTICE create mode 100644 bundles/org.openhab.binding.prometheusexporter/README.md create mode 100644 bundles/org.openhab.binding.prometheusexporter/pom.xml create mode 100644 bundles/org.openhab.binding.prometheusexporter/screenshot_grafana_internals.png create mode 100644 bundles/org.openhab.binding.prometheusexporter/screenshot_grafana_jvm_and_events.png create mode 100644 bundles/org.openhab.binding.prometheusexporter/screenshot_grafana_operational.png create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/feature/feature.xml create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/PrometheusExportDiscoveryService.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterBindingConstants.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterConfiguration.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterHandler.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterHandlerFactory.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/BundleStateMetric.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/EventCountMetric.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/HotspotMetric.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/InboxCountMetric.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/MonitoringEventSubscriber.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/PrometheusMetric.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/ThingStateMetric.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/ThreadPoolGaugeInfo.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/ThreadPoolMetric.java create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/resources/OH-INF/binding/binding.xml create mode 100644 bundles/org.openhab.binding.prometheusexporter/src/main/resources/OH-INF/thing/thing-types.xml diff --git a/CODEOWNERS b/CODEOWNERS index 363278450ac17..c14995c0b2bb6 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -206,6 +206,7 @@ /bundles/org.openhab.binding.plclogo/ @falkena /bundles/org.openhab.binding.plugwise/ @wborn /bundles/org.openhab.binding.powermax/ @lolodomo +/bundles/org.openhab.binding.prometheusexporter/ @pravussum /bundles/org.openhab.binding.pulseaudio/ @peuter /bundles/org.openhab.binding.pushbullet/ @hakan42 /bundles/org.openhab.binding.pushover/ @cweitkamp diff --git a/bom/openhab-addons/pom.xml b/bom/openhab-addons/pom.xml index b3039866c6cff..6fd4c1825b18e 100644 --- a/bom/openhab-addons/pom.xml +++ b/bom/openhab-addons/pom.xml @@ -1016,6 +1016,11 @@ org.openhab.binding.powermax ${project.version} + + org.openhab.addons.bundles + org.openhab.binding.prometheusexporter + ${project.version} + org.openhab.addons.bundles org.openhab.binding.pulseaudio diff --git a/bundles/org.openhab.binding.prometheusexporter/NOTICE b/bundles/org.openhab.binding.prometheusexporter/NOTICE new file mode 100644 index 0000000000000..38d625e349232 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/NOTICE @@ -0,0 +1,13 @@ +This content is produced and maintained by the openHAB project. + +* Project home: https://www.openhab.org + +== Declared Project Licenses + +This program and the accompanying materials are made available under the terms +of the Eclipse Public License 2.0 which is available at +https://www.eclipse.org/legal/epl-2.0/. + +== Source Code + +https://github.com/openhab/openhab-addons diff --git a/bundles/org.openhab.binding.prometheusexporter/README.md b/bundles/org.openhab.binding.prometheusexporter/README.md new file mode 100644 index 0000000000000..9f0288be6a0d9 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/README.md @@ -0,0 +1,150 @@ +# PrometheusExporter Binding + +The PrometheusExporter binding provides openHAB internals like event counts, thread pool statistics, item states and JVM metrics in a [Prometheus](https://prometheus.io/) compatible format. +This allows for monitoring and alerting of the openHAB instance and for creation of monitoring dashboards using e. g. [Grafana](https://grafana.com) + +![img.png](screenshot_grafana_jvm_and_events.png) +![img_1.png](screenshot_grafana_internals.png) +![img_2.png](screenshot_grafana_operational.png) + +## Supported Things + +There is only a single thing. +### TODO + +## Discovery + +### TODO implement and describe + +_Describe the available auto-discovery features here. Mention for what it works and what needs to be kept in mind when using it._ + +## Binding Configuration + +_If your binding requires or supports general configuration settings, please create a folder ```cfg``` and place the configuration file ```.cfg``` inside it. In this section, you should link to this file and provide some information about the options. The file could e.g. look like:_ + +``` +# Configuration for the Philips Hue Binding +# +# Default secret key for the pairing of the Philips Hue Bridge. +# It has to be between 10-40 (alphanumeric) characters +# This may be changed by the user for security reasons. +secret=openHABSecret +``` + +_Note that it is planned to generate some part of this based on the information that is available within ```src/main/resources/OH-INF/binding``` of your binding._ + +_If your binding does not offer any generic configurations, you can remove this section completely._ + +## Thing Configuration + +_Describe what is needed to manually configure a thing, either through the (Paper) UI or via a thing-file. This should be mainly about its mandatory and optional configuration parameters. A short example entry for a thing file can help!_ + +_Note that it is planned to generate some part of this based on the XML files within ```src/main/resources/OH-INF/thing``` of your binding._ + +## Channels + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
channeltypedescription
bundlestateStringThis channel provides bundle state metrics for the bundles in the openHAB instance. By default, only org.openhab.* bundles are monitored. This can be configured. The name of the metric is openhab_bundle_state (Gauge).
eventcountStringThis channel provides event count metrics per topic under the metric name event_count (Counter). The topic name is added as label topic.
jvmString

This channels provides exhaustive JVM metrics.

+ The Following metrics are provided: +
    +
  • process_cpu_seconds_total
  • +
  • process_start_time_seconds
  • +
  • process_open_fds
  • +
  • process_max_fds
  • +
  • process_virtual_memory_bytes
  • +
  • process_resident_memory_bytes
  • +
  • jvm_memory_bytes_used
  • +
  • jvm_memory_bytes_committed
  • +
  • jvm_memory_bytes_max
  • +
  • jvm_memory_bytes_init
  • +
  • jvm_memory_pool_bytes_used
  • +
  • jvm_memory_pool_bytes_committed
  • +
  • jvm_memory_pool_bytes_max
  • +
  • jvm_memory_pool_bytes_init
  • +
  • jvm_memory_pool_allocated_bytes_total
  • +
  • jvm_buffer_pool_used_bytes
  • +
  • jvm_buffer_pool_capacity_bytes
  • +
  • jvm_buffer_pool_used_buffers
  • +
  • jvm_gc_collection_seconds
  • +
  • jvm_threads_current
  • +
  • jvm_threads_daemon
  • +
  • jvm_threads_peak
  • +
  • jvm_threads_started_total
  • +
  • jvm_threads_deadlocked
  • +
  • jvm_threads_deadlocked_monitor
  • +
  • jvm_threads_state
  • +
  • jvm_classes_loaded
  • +
  • jvm_classes_loaded_total
  • +
  • jvm_classes_unloaded_total
  • +
  • jvm_info
  • +
+
inboxcountStringThis channel provides the inbox count under a metric named openhab_inbox_count (Gauge).
thingstateStringThis channel provides things state metrics. The name of the metric is openhab_thing_state (Gauge)
threadpoolsStringThis channel provides extensive thread pool metrics for the thread pools in use by the openHAB instance.
+ Each metric is labeled with the name of the corresponding thread pool under the pool label.
+ The following metrics are provided:
    +
  • openhab_pool_threads_count_active
  • +
  • openhab_pool_threads_count_current
  • +
  • openhab_pool_tasks_count_completed
  • +
  • openhab_pool_threads_count_largest
  • +
  • openhab_pool_size_max
  • +
  • openhab_pool_tasks_count_total
  • +
  • openhab_pool_size
  • +
  • openhab_pool_queue_count
  • +
  • openhab_pool_keepalive_time_seconds
  • +
+
allStringThis channel provides all of the above metrics.
+ +## Full Example + +_Provide a full usage example based on textual configuration files (*.things, *.items, *.sitemap)._ + +## Compatibility notes + +There used to be a binding providing Prometheus metrics, which isn't compatible with current openHAB versions. +I tried to keep the metric names as close as possible to the this one in order to not break too many existing dashboards. +There are some differences, though: + +* the metric `smarthome_event_count` doesn't exist. The metric `event_count` provides something similar. Instead of a `source` label it provides a `topic` label which contains the originating topic name. Events are not filtered (they used to be filtered by the "smarthome/" prefix in the old binding). + diff --git a/bundles/org.openhab.binding.prometheusexporter/pom.xml b/bundles/org.openhab.binding.prometheusexporter/pom.xml new file mode 100644 index 0000000000000..4f6189cf01c0e --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/pom.xml @@ -0,0 +1,39 @@ + + + + 4.0.0 + + + org.openhab.addons.bundles + org.openhab.addons.reactor.bundles + 3.1.0-SNAPSHOT + + + org.openhab.binding.prometheusexporter + + openHAB Add-ons :: Bundles :: PrometheusExporter Binding + + + com.sun.management;resolution:=optional + + + + + io.prometheus + simpleclient + 0.9.0 + + + io.prometheus + simpleclient_hotspot + 0.9.0 + + + io.prometheus + simpleclient_common + 0.9.0 + + + + diff --git a/bundles/org.openhab.binding.prometheusexporter/screenshot_grafana_internals.png b/bundles/org.openhab.binding.prometheusexporter/screenshot_grafana_internals.png new file mode 100644 index 0000000000000000000000000000000000000000..a48c16474dd99d60cfbc96b5b1b2b201c7e19ea4 GIT binary patch literal 151073 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 z zzVsQny$8sK1r+{A;(W8*61BFH-{Uo3ojo_&ILBQg*tG25oLb}ha{Pr%qd37;sxiqS z$R@&XCNl!W2D@g@hL3$%jnGG}N9f08hrJ6T=t*w1Duwmy%}>I95xuGqf@F#`9Um4P z8T3R)+kgzhUp?g?{_!+Rnq3m7#g~J90{zXW#e`>Ijjyq)hzoSugVp_!*fxihuw0KMnVb*yZD`{?j0eF++tr7^vhCQ>x& zc

u;Vd1v9*N5>NyPZbg>UZp6WN`pAvng@dL9r}ZQ(Ectpa4?>7;IS; zNo;%r(~&9L;t;f{wqL!WE!j8=aYX`33X?~Q<0>TB*lGBApFahP|s-- z>$<)pKMiCY7HOKFxm{O{@ud>?J2q5wGbSN^)VE%hL zZS~#b>9@P~gLns^4IKgT4j{`pKN7)oK)AYOYX6d(#aLY6i;3y%%%ny}^GT6OQo{#O z7VXR8=bf=*uxb9CgU5rXaR!v<=4Yu=Z!cdipuL(Tc+c z%=;Cso*L3F?NRm-?q~VQy5f!63kGBmS~o;74USoNaIC~bNJ}(xNGHzE2xWW-hw~n= z^=(BfrMK7%W|Kll^qO_{QHl-jfm5i}YQ&-DHL?lf zY`wqOPpMBHwjNPY$c;xSJU;;8EXfME>%s5~_5M5ZJ32pFnTpxAzZHM)s`9PWQOBk; zdo?2M+ppLq#va)4*yF}IsWbRXo~!1)KY)2phyB&Ow;!1I5&>q1AFmi)2%9mW(u;>A zh_+IOwr=+AIg&j4VfT%`c(w#XTcM~me*ZVs-9cd2-lo$~DekvaPY`HR=u;1EltjVy zTtkcCJ#N1bZ^(Q8f`tK|ty^0$Y8~OrRP3}*d#jy(!=YG%kw>PiP+LS;`$5q6I+j1vLMN^1E9cyXLte$Pd+PmW3-!yMy%ZiAF_X-zS>cs}&n2p3}#~Esi#; zc!&v_SlM{?O^=Nrl0q#FpZG|<%w#x4isSH9*ri=avMor$B(lFsmqtBo!SIx7txb3E z(3qcGhY)NrORpCfsp^q#jaDT&r{oh^&mlS-~>T%3k$RVW- z_)RP!%NoTV0h862O+y8NI3i|f`xS|{*k&F$q6@bd1AxHRKkfsC98#c=!{>w)>u37z zXP5@YlXDeql$b@F=tw3{dW|PpGzT+O$G_7?n6hRg{GIyMMyUT+8zHjmnRAMpULE*+ zf3N*LQ%b8%q$(=*-#%Qt^UOa;fA99#M0vOW{NW--_AEv;yQfMwrM*R5@exSB(AeOl zqAj%sbC3QR=88EO)jU#zrj;p#=**xI;he-#J0OOJX?YtX%QMWTs|^?(ZQ-+&GE=wA zL)V_)DpU40g$yEvelbj8wBZIv6;DT}O_kwj%Wtj0O{vX~|LC#5w_i8M@rFlG zlntSdHPDOz@HO3irJ@0|XbDk|P%EjlEdDS#3OL@%Q@&J~WXrKf5(GnqH;afmj-gJ9 zS(H>;baUu9hm%6Eh-nUOns0*1Sv-+2!LWuim)yXo*gJU}IC5Fl<@`Ww3PZVhbVW(S zz!j^8Xel4RFy!2RK@ufzQLCc_lAQ)2+aj^SvUrJdlqm;2AM;=Dun)+f>FD!vYMGC-*UHefo`5xbVUko2ok zrzG$A4T&I!OX_Cl#B|IaiobH0{-Ql@Qzui#OuR-AyS$H)4WL z@ykZtfWrh&!><&K!o(`Z{K0p7?B;##;1#Ri2ymWT1(|$`s^uXk3TV-Vz%0ZS_y${_ z3|vOoI<0gp%?;S2@|1?74MTGV8-_Kqb~I)i`kYR{9S)=}h=8v>HSimrw55H!_!tVf zn27(i;O`8Ni9b7UrpT^g(l1L|AnPA8HyV1{sl4B%iN~|j%gu4X2m9lZ9YDYwj zw_M=LxbQ$%o@w`HR19$BeZI$|t!7UUOI))RYg*YUZgBGmA2OOn-&G6@*Ib#sc)xES zeY^QG$S{H>X}t={Rt$556CVCEpisnObld-@>f0p;P$E82-}Ld4`9mP^_5=%Pf)}e+ zQgia@TUba8ygF10IR^DKJue%G>;X=1;h-Yx@Jfi&66)j=0;ZYPwH+?w6egLGFy0x+ z0L=(KQ2kY$D~?_Q_6>M_brLhzv!&C|K12@9GLW*CAzmK}FH(O@CVnKsi6Tm?N|A-Y z?o&T>$mR=!rXSDF-#TfXwvCbKAnzokYc+b1xknLe%nItaf>Q6gy5wpGIjA^UZ@qv> zFq?CAZ_*Y!byuvDkJZI4O&bTuWreaN%T>-E?UcF~c8|_18f2WCsb8#;$Sd{uwYbgS z_BlB0;-09c&>@UVy(uq95kWL<>!;VFYatwA#A_wB_6;n8kS(D+F_1bO6FDXH3>=K| zqza$P<}&9CpAW?MX)eaB*JW5a+JE}f;OA}m>V!F*-3;S&5q8%9*fe_@8y%~4?9GeW z^MYG}*%8X_o+vH9X9oPCg%D*%1hiGkJIJF~F1h-_y)-Tma za&`2*5DPn{?6uWuWweP4X_J*)oMO(c`6{2!Zi8q3p^;Sg58))#gl zQ$7frJxhz$_Uk~FD=BrMJ%?2GQ;(v2`{Vn13&nmmHCk4Yh6={=r_e52sR*y!?(_Oi zeue)Dj3-2OA(TZd66p3^BY5;^E>?GeH#+x=ELsgaIG!MmW2t810MgE;B>@m(>@7`x zT*sie1swYV^|n_yb&g>vk@7hnt}etR1q) zPa7Y=CBMtTK-rU)*|cGrWNKqol&M)qaXW@3C5?-%K6;lq_d%`G2hRSwsNbL8L~r9( z+7gOpA|l&R|1L%*%5Gi;Pyh9>u4RAt?;Zkm@uM2}5B>lTe)9iOfHhUnkmnm=68mLY zw);%Fp01ah&V9Tfd#L10S7US*`+H6{#k!y4yEmY}&EK*^s|9SBY;ew5c)XK2jt^KZ z+K*OH1=mseQz1%XotPQ9xTj@j&rZ!5#7f|RcPeqmzI)g0azYMS)=g_noCsq+2z1)i zitxMESlgJ&>FJ!ebTS5q@TKAj&0i<%=zH|M)rnJs8!c2IOgZsKnX&gmSmQgMOL{Tyz=X|E?OYhA#f z$3Au5hnIz4be3>g2@{x`7dS40@;#NA9U&o3l^MHP8}Ux&n63E(!=KAP=^(?|vwY~_ zO4GyWM5pUy#l#_TU4fm@_8eIPJ7OUN>OV$+;Hqk&zGkIdAA%h<$Rs5H7+t6$;Iy33iJ)3 z)9el%xxMyDFu9#_n@HLVH@@x}L5@Grp~6i(smGo4Bywl6@CmU87zhYAhJbKxuXk#t z0}^A48Sd2`HYH)S(cBtfveOY02qJTH7kGu++`wsb6I-Os-MI87uaYoAoExAwA5sVz z`Ceu+XyNT`>@2OT^#DUQHikgU?V?0E%En=w7X15n_au)}lw%!$jOLX=O0uM~r!k^i zd(GyRJ^^S;4MDGZT{GHyhIUO-ShFVH~ zwo|Igr~e0i@f$R-iIs>XkDu269m(VAgCh=h9gathgl zz{0!&FFXuJQFF%+GtpcXb2@hg4F0Tr78-(amkg;=Bj44hTedG1HHF=DjwxuIA+%kX zdCOBK_g>7EI$}Az@cLD}TlW+EJ;xd$t0*^`a!`{pDJ*3tLViSQ!RLyHRY?Z9S|^+D z%d({;xQ~eAP!~#(iI$+k;GVvMZY5 zXsk}QmC*&G1bYv|PlchT_M6NLi+Vk)0AS+|+_kN2sbN&Ktgc0Lj8)SAP{;UlH_ul_ z%n6hUOh#OZN7dB~t6;+s-8N7kS|=*uf{zAXb=jWu!e3g#C{+OI1DsDT?|)3mF~g5f zkdiFC>@V$43(MSL=+34bix5c?Xul;%Lh^vYh9=mXBTgS_oVB4jh% z93;?-`_b39PY@BUasu8+ygO-yYZ?4WkD7tr5d6CvD)xW>Fi%j!wna}6v?zs3;asan z<26$4+_=>%sCTWoarp`wv{?+xm~z%X;)cw%OlN*=oS53LIX0C=ewF6ozXE(`uy@@9 z3kO2E0>V_Uq{fNCiY_o4gXjwxFIq@S4AM!YMd>QEDA^bmX|Df>j^kB8Y8+gJmoutN zzbzt>X3!ruijVHn0?^9)S}UR+Wa{8SE!YT%z|_QsdGbo?r`Mu>{%(TUlfXwStfZqFZZav z&*Chz`X1sEywFi(BA&)WyIi>c(HxV%;WGHPh#MQ6-Rk|U4$83=)g`8(;aiQ%eXQ|v z^r0u0U+}i`CmO^yJd^VA*n%7IB!V_ZtLz>_}YTT3P~%BV>&rr>l1_X8`3H+Y%C{g;ER z|C369qbmhKzh8G*+_?*jp+9)_-|GJH>OWixoxmJKT74U{;Pzbv!@HE!*EVk4FbWUB zbo&=PcC>qS=b{xM-CaOa+45hXVomDIfQ4zWP#+|5kIZY-%y1 zty`G_#lC&vFE=Oa3R3FoYNW`@`m(!(@n!tzo*Xvpjpi1{hts!YD~Wd(3>e!P>`vJ# z75w9_Ro@sMX-GGaTKA`r$P|;})$RIg)dDmEj{IdySn=u~zIv9DY2vicT~6t7)`HkR zR`@Q8Qs1P5-<9}4R>i|RWpxS@uQHX#xiU$QA^KXKFkmRwSvz9oEqCQ0smBFfG{&F) ztwS5-F!fZ}8zAhAkkw91$8&r9-PTpDSwl+Ck|vMsyvU}BpLj9Pw)`AAh zQm;(SnI877Q)O_{fyxcmUEb%q5}@xrh(pjxcvyU41(kZCGxeOK%7bYzL)r+i?_S>4 z{92`yW7b#)Qzt@@TRV1i@T{Gkqp_lEL@!Ia?`ax~i%nzpFpJ-Kf4ygR{I6?Fg;XFBhUI-z6yKH@ao|^f9W`s6SkZe z_geNOlm*XaukOxwphqTMT8}fXj^a7<8*R21%a%%tM*Q=X9Z>ljV)@zG!V|rdk4`w6 zYQ|LP`S+h^$6-YUNPF?hQ2X0&{XS*R97%$EAH`;I7nyjHmiu2(nfo_F12IJyD|n zj6%(tNiu}v66uD5z2CjD>c1A7Xh@LRpjTk{+O!QskVT=q+_4D^1|LJcy C#q^Z` literal 0 HcmV?d00001 diff --git a/bundles/org.openhab.binding.prometheusexporter/screenshot_grafana_jvm_and_events.png b/bundles/org.openhab.binding.prometheusexporter/screenshot_grafana_jvm_and_events.png new file mode 100644 index 0000000000000000000000000000000000000000..facbe5da8b1b4aa66568115a5978d621dc0e1163 GIT binary patch literal 201154 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

vy>9+y`~e@XPLJLl*K51E#c0%! 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 YT(^#6`nC}}=^Bq8wK`JtuOEK;zu=#>xBvhE literal 0 HcmV?d00001 diff --git a/bundles/org.openhab.binding.prometheusexporter/screenshot_grafana_operational.png b/bundles/org.openhab.binding.prometheusexporter/screenshot_grafana_operational.png new file mode 100644 index 0000000000000000000000000000000000000000..63747c39ebfe4feceb5a090e6ae5fe3e284b78dc GIT binary patch literal 41717 zcmeFZ2~?A3*EWh36-x!F0#&9K>xe)tGEY^DR1r{-fXqS_83TklfjDD9K&uEcMLpan&RO63*I6%XwHWd|dG2A~dtZBB*Uldo z&5U<_z5i<=A)#I8e*5*ZkkC%NkkD5;BHO`V#v)n;LPEEM&i#7oO0dH`C8!eCo1(hN zVbwnU*!rVJq_D&(;ccG%lA>$Fan=`$HTO0=P*jZUH}c#oDst?Ih{$DO;f6a0|2Smv z^xOgh^WyiP5ttvnikcr znz82?o)+CO^OPX6z9BWZVp8MFh@IvX*DD^3*y7f7von?O&2-`;%$05jVd}6wKO}VI zN#{VRs@b^~1D(9i4L$ey?}cbUnkM(sG}dyS;*lz{L|Wte3Y)6Q^u&7a&M;Wpf5 z-Zg)pk$oFGbhWAvJjEfLUT_jUkUjINyS+I~rD}e5I~@#64%Pppia**(Bqf*b9xd^J zS1X%ha6eK>QAO>)g~jORbm7xd&Fv1fBYJmfW}mZg&BRWrwymC6`+*hHnufP7S;&lI zh4z%>6;fGaTQ(Bhm%hnRW*b+r*&giFC?Sg49*2*#Xil{2ej?5?DKHL^@1}QZao3mS zJaSTLJ#hGbd=^$(*&G){Exn92j;-wywaB9VWU=uo&01Oc4vZCpI=&-4@|I1RbY0=@ zv?34h8gJYjc>T4r+o(Ld(bYBu{Ad9g%VME(pjccaeZz0u;Y}IRsI{Py4=~~ zzG`7=Ai37~`f)Tf#S1Zg{GEMo*nY4r@a&Xs7nepFTdjS@7E$}|fO&LV*de@uT6FOA z$CL1x$nC6hFn2V z>rjJ2<`yf5_-cQ8D$z;|ufD1;U58x{clKmOhbq=Ct)<%qktwW61JmfkY>~ej*8LmX zs1;x&Rqi#hn)_8I2Ip1HUX;8k2xvP;z|q%2dJ9Dm=xtra;|E%g*5t#(3EXkJueUoqNogAIdTDMlWPq zA*w|1`pkC|D+L6*@@U#0*{K8HTU!cK`(DYSaNZrcZ~I4$<&#?K6;OKddG%Ymys=Z=*D~m(40qN{374q~Fl7aTRrKfWB<_h6>sT?Iz?6|WePEl66uJiz#8!}n* z+Li*#?ybX4p@(Gn(eSd_D@5@jiIQV`u3D#&bmaS z7Q%-uIg0DBdqby*wV{*MPht&IT8tKz3ni6eETg`+EVJA}9jlQT4t4!#JVQpWYE~`0 zb}{qZ{r+ok5$rB*bV~P)En|PGm7(qOQf${HV@$`$a5FKjMsbL#N_ajuUL!NRv9}Iu zLDVX$3mMzL)H-Yz!WYRg!d%QhL`oj9Mc`>;dPW}#iWlz^{caXjjZ2`mewpLfZDRQQ zBGpDCUZ!c-i}{s-yf&=*YX;I+U`K_&wanWUXjFVWBFjwsfLs{&W1P?x7n|~7U-dd{ z7{XrShAp|kjAc08VW){4<;>hRKI{b#$BNyb72s9K*U zeHLwP*jT>%rNN!hO9YYu2VP9;wg$6ojFRL!->+&Z+Ly3K5sdivg-B0@H>kOrEf#1~ znX`A`CFkw)zakAS{jF`5e~nisT{D(XIdeXU!g9LHR=gL$9tg9NnU8#F(bE+8vLVu$ zcp>;;Q6)^u_V>O6>#+RX3Z0Tcn-yF8MdjoC=?Lu)miH!dCCRT-{n%BzW}D1V`lP17 zOt79OrBHL##zZ^T;xtVuz^EVYbqC(Ik(#sz<1CLq7yO~Ns#XMcU*x<|g6H6T5TYt{TM6Vn z=BAFbf7&ItYUI1UMN6A||a>wQ?nv@*Nqr;RqfLXlXbjs896ZDATcOt<6fYbkLoiEFj5W0ma` zLfkzkZCHkS)m?D*P&$!0Gg2SZ8UQBI(Zd>oOuF&FI)qO)fA-Ewp+sqpJ%&5d6h)*) z3rtiA6>nBuCFUc2dM8Ok2?D!CzN>c4D#Z&6_eoVFZiGXD&4AdtVS;#_YrW0u%ns^V z1C2xR=6b8GiTEGxTh~ilNN|5K0{RQdUyyE}vsOwbt)2#N~746ySJ<9>(sfxS53z!_SweJ2`gWr#` zeX7`R=}A9#CRO~)oPHS>rfOLHcds?B{xx6;_1*ug+Y(Za{6F}``HVX3&Hl9Bm>hdf z%q|o>+a8+ot=^lx)%NTtco^=+w}r>qzfzZ%pufMJwImYM_oK*ZmgJsXI;$%POZg$p zHHpr|e0tlf)IP5#v}rA5xj@!mDaxQzGv+8}2lU=+%T%<-$@PkHR$zO|ft5p_?4@nb zQ~1)9oAxwJD(v1cbe$9Z3XxEt0sQmur*r*sBT)vWq_FuRCrv*s^6W34e;faQ@VY-& z|7Z5b3g6Z6YJtNJ`NXsO{0lbKV|j@#q8X{d8v24R5A{_cAx{bz&#h1yHE-wCdY!T9 zahV=*c|Uj|15d-NH+hPbN{2sg#B)PUd5v!)TA8H^>@L$AW)?Jc_HnW3F{V)%|pKZ`nSDv}ZJ z5He2p@3>~%SJvCjwhQu#kp!Ws;tJ%UsFld~XF|Su?UGH|-=issBFjPu)id zf%J{6om*_&*l=>G7Fy*{=XQ$5Nqx?{XJym%3KMJcNQTu6dgxqswp*!mR)~q!t5I=- zRE}vl!pxhD?~R%1!#$vVtiOq#pV^r+Cy(rVr0zfL6)SrsiQs9pfChms8|FobulH`a z=lXDG$29d?yo%fVGv-+#jIclT7e83!@Y++Bg`ENfvyUAgsSnHAuh-FL?tg@5oe?*z zz9B0lbkYo1+G}hA>yN7Bqww}~P`nV39eU#L!cP!aCJ?Hy7~Fi~?KmfEiOA~JLQYrr z_~FTrmk<`NMam^S_y+xxvh|wVuvwXowKU?=9;>xKsnJdN~tFWdi)WoWWP&Iadvl_QqYwRp*VV!XcgfPx8qu&5fFAfA`n zvfq#KVSCea@_~6+>p;WW>m}K-)I%4-570Xi7*y+t!^w$cqK+WlE=Ku^f}ENP^~@vn zDPiDS^PANN%g9G5gk^)xWGA3ecP4iZ-rj`q9~`LSJsu8Q-pJ6O+M+s-zTT!^*b+cm z?H|*X-h1|W@v(BgTY=^!onC7Z@9nl^YY7yVSSx zzEpLB4*=I}xwK81{Nt_es)RLIn{_?N$Ug2#q@e_V`cqz#nIYa)2_2LPGA4RjRV%Ax_tj@mG{#3j$e&Te@(p)WAA~FDC}Lwn#|HfCm4jex<3;7E zLB(&rQ+<*e7)X`fA5}4K=Acf4d3hD#3Y(;;zIsi;AsXQZW6b_P@?dn2*%v`GeFp@3 z?`z+S;yX3QMmyDAz7p#1hx{+TBx}T0_-&--4UR1G@`6>(FpLBa>o@x!JqPj4?( z_1_qMm|^~5GT}-j)&R`%!l8y=e@~Jl)0Tnd{kh#v|0ge882!0;Cj(^bOzm_oIQ5xo z?X};dy*=}~6TZ=1>^N|2GNBUXG2C^&s;1X1UxT%VQ<%W&k1O|yup6|kSPzbYTF94u z8AH@K?W@ZSKI#XcUP;)^PWim52GPe2k&a7a*H`|yW&g~jP$_Wdk*Q4Q>m|u!As(l_L6fO)gIC0 zR9`%As?s3YV_c#bTBqR+OAf!RlKzuHlhl?@{FymJLgv0SEGUJnEM-sZY)*I` zS+LFdO@2v-Z6!a+a@bkvk6@GXP> zhifwMTBQ_ZUG8H$m%)m;i#zc~xAIYjKR7Hr0;z+XRZf)Gm5jpR8HD{^cwSPe$MIjK zh!xYedPO3u^a>=As|^cP8qC9(w@x;g?Yb1>Ls8$lgC^PC>|#frDDHb0MJ) zEf88?4(Hy5r&%}5O_GM2(S_!V%7I@UX*S(Pbr$Wp8Eg42vUk)us%N?8@;yr8*Z7of ztfRN#{0Em~0Vgn$0Y)D@EVfg}CcD;A_PxwwhL}q1Q=*n8ylOwu0QOM#RS+i8x3DdM zMC)(FkM}=NpB*zAn$ly6$py8sz71GH!2W)EQ9B8<=U#bLc%%#mb13H*l`Cwu1n>B9 zE)g-oTCCVVGG|W&EWANhhfP21;e2pGXdmi!KzcYNF1Lk<>3H_83CG)od#MEVXPT%q zooLW@7VVoIv8|EdPAB-r`90EwVaVlk7;H*E<7NH+M_U23gQDb(zRfj*fVpj$<`rx+Y~8;>zM_)0VlhqH?An}W9xx$ z>uM1kOA^&CN2!87AMo~vs-Y{3^ho#}IA?*7i?%=ndhAhbu}x7CC>my@>&Gainzxb~ zWbIn1Mz)?i_j~n{A4&C1RnH+jm*lA0^F->o`R^qHmhN~WQa2uticew6JBfs6GzlcC zblWjt3_pG`hA6C~GZpNUJ}`5vZDX&_wPJQ&XYCBF^VZAijWFRIQ(|IUBH?BAhHcP zJW^^6c0K1EThb&voED*w!l^Mpgc}?>gneFs5{s@)`C8}~ zdA0%L^iR`kY1+>uRdvsD_TPm^J-2F(-bPKA)s=iNYjtlz>NuxtGcXiNGrdj_B@uS! zv6yFMU|{!M4_#`@j>-6uJV&uMy zWEwy8S@<*d7||8O6K|(}?B3&WE;}_Kym})B=|>KccCb-vFRxvwmbXPUoxn^{ zG$Tm4R&?8LH7bsDd!rw@fc}x*RppTy@kq!nODZ_)a*qMoK3)2# z{zW)gt;m!u&coRv_<%XQ)qYK1_f)0GIBMibUm~#3Z?9kSKE5u+G-2tl{F*xc2|LZ7 zi{sOS7M{^+r)pW}#Lnq2&5MS7)7b~I(s_s7s@{!yu;c^nmOP{dz_=B3oeAVak0#L+ z)3$*E(}%~Ky$0#e792wqPN+%~s}rmq#WB)(>raUvm_8CeCK&|zR)>y^Bud+oCadQ{ zAzKZev!B_BcW4=p>9DQQvt4oQR*T*3=t5)ACow+IqC(o2D}{tK4go8<6`h|j zA?g+A>9{jJjl{+f|UI0B$@8ZUjF8 zkh=vxn;-PQ`MUe}#R8Ces*imSJ>IFU`4slev_)$1W=Sj&)=Gd@3}l|$VPe&BMwsP$ za?o`hWzPK1xu8a|Uq``l_OrwD&>Oe1B$>bqLH{hi9e3CJdS|xYwNJTYK>`|bec+m1 z`J2h<R;mmBy#0+TdBp+l%f!77*^yGKjg~7-FTHsB;GJNHY zH8Z0J(H&+8EhnU>u;29nmx-*E>`O> zy@z*;%UZgrI**!mn?dRZnc1s^eZLw!#_VBkpf4c5NwU~k6@Uvkf0r+DCyFi7Hz`DE z=AYQHo4I|mm2dR@!_mY3L_zrybY={I@R}YyxhZtWrMdZ2I;wnyV`fi zl3s?zXAm#~Z-v|C)>{gB-pDBeqlrok!i|;mY_#6i7LryagcY5k)daYck{qm8)5#&& zOfe+OjE-A~3)Ne#mklPba&<3b>++_=#;#+RgPjmo|7r?{xHWIwZJRRM9n}ZIrrz2C zcL=-Sk7e|DO_mUTqinBz*3!^-L@rh@sCPrxzd7&I;d%R@d#SivNwsh?e&9jdIk`3M z^e%_tS%2DHbMM_Y-x#V=&im#)irLi=XyV5P|0xTdd?aQ}3~ zk~G#e__R2`3+^<_p?1On2)9mpUB=HSDAfeuc&nDA@3d5~Sn74`dF1Cxj#E8(yz(d~fq-T(FxGRI7cV@=FYZC3?#*@K?qkrRbLbIP1wNCm0JoPID!8N4yQgr8$ zzt8#&oG}%qHq!i>48oYQzZkjMTHf6GPfo{6q7G}XT8Zp^AIwm*Di4}Y4%K6qY&r?g z?r5AR)kqQAs^bb*Cgp*c!m;(e3^F+pT^>tiGJpX`69X2hmnJP>U zQHtH65%f>ztK#7Z*$g=!-=d$&)eEQ!4j$ySyHycBJ@~s6 zv#Q+XAi4@~!Nh+1qx1S0zVGabsg^i2jjG9-(ebfc=*|?}&8c^Y$OH$kU8&4io82@E z-(awIq!!O6Q-x{O6t3TF@cV&~mL3t3QE*|)!2`JJ0~K_XFmMt+2-aT0p}-5c zNP*#`$9!O$#V**3yU)}A$&pd+!evZq&N-mGsUa-AoMC$3QFR^|4gmK5ax1M(RffeF zq1~c6%qnaah4G?xcGt3tYT=A1bkpiTg%+ z`P;^Sb}vz%qtw(tjrG5dET77oPFt0BP@2=tL*9u&AAZy3gy3^+RK|L$=N?#yEz!%@8!?Km#OjA5YCq6lym|LA`HeX`*(xll^k#^u&_XLyC0|<};2-nNAXD+Pbgcfiei3NO zHV=5>vy|`qHN3le%E$})O7sXh-wStzhR9Kd7j(7*U%+Nq? zTWo0h{oH_=!P+{hENSt|+${6aC)tgbY*S2WWtJS6y~*dmRDf7 zXxQq`-YXwGk#nA~VPe%&wpFOucXK=6!m?!Bx6Gb_03Q>}3g1y+vFJ6r14H^RE`d_| z4!?iC^`HOla%LNKkn-mB)xmFqOR~Jf%Bq|$m{QpNz9Y$r)vLW(RD^oKTt-_1v9G6~ zNNxw--U4edXjgfS5U;V-Aved?(W@x5;M0Bn;J%y4)iUV53c)?_t8?mIw#RH=Q_Nkd z9&o#cv{ygcad1V($^wfYbP&Lx8+g23oYMZOH|M}}^5~OK!S%*TqN(7c6}*a49H1*# zWNbH|x&n=C(6@uT`O)dSI06YTHsK<;L}Nuj@}5Qu1|76Bmp9&Wo@y8qp_pUo| z=~coTU?pjXF?lOUM05C@dl|($^}rA zKiHvhW9St)bM&=>t~=K;Fg7KG@gdOw)X~jD_#XDX>g#=36tfL!0z$R&N7Foxsmld|A`?~H;ohn}EfWjX1urHCf5&g%sq1$YJ&)lsu$7nSI;LHkwb`dc< zC_1GK!WXgdq?scUuKq7VzgsHZBNgT>E5J1K6Hk-xp>e1)A2&&f9bKQtcsL~QU z5F|L$)w-?aa=f>`UzIFMm%VPW94rMY3oFesaGKvLZ?kkd5#<{jwy}!Br_&Smn4ME4 z7^o@8gqi8l^Ur_s>oOMF$)y!p1qlh^OALXX1)BKily+<2_=E{!Bb&hHoE$H;>XtSX z{20b-D(Y4Z=au>sSCaf}wbv`gTwA)is;-m7SUdvGZbS2^C;7FVA(mCtFdn&VByS*x z+Havm3cbG3KeR@s3J!%Wibr+#s-s90SMxmoSRX@4=IVqj=WG_)XqpMSJ5B zLWYZN+N1eyY@d)&{=nIt_*ziGm<^jKnE@sJt|Ww1_9^VHwriy~V|Vu-jCV}3Dd#yD z9J&L)L~{yrE6w3>O)nfT*T;r?c>u7hOqvK@*>=fN>7IRLPD%T00P95Pp3lLVE&>jICwrw>zw#awmn;h7Ldf zEvBL!M}MMHIT1OeY0y-%>4`lrO!~AB+N`k{S+Qt#xM|ou;uvPf4eFB?Fp#%owJ7=a zQ&2;CbOH^4G-^Ytm~ zf}9cC1Ral4I*fNF9_sAH%&LRm_Nvp4$Rfww+~(htx|59*rkIVYEhq3dH?w*tmt(+L_szmk zxYqNPXBJm;~Ad~Slg0HQ3Js`HKr{w@iWE{@UQ zHg)H^I!z47A>tj8N~^g1YsJbH7gDqWV0=BdNeuA$xl^*&s66p=Pz5q2c=oE>W)1AS zPo6#LG~`2ut(VTT8;Z~{3p6W9b4qB?)Pha()4vNhR|)=}vOFlc%X%rgEqc=q5x-)_ znPwNeX~)f?47sOlAhHs~j%?is{l{xVu7X59fGRpkdcfE-mdy7T-Gqv`Do%n`|oRVE`m!xl((i~9bQ$uM`0X_H;%KyUMwWie6#}5qGgZZ*v z_42`Gr;wg=`w2phejDX8lO$KzEEe9Y0XWT^%}|l_D>R7*HNIhD7z(FP83YQHx-O4N z;8|qa0e%d{j}>rPCpYSScMaxYjqbO7R!H;^4~gTWfsZ{oyX1PArO#@c6v4M8upA(V zl|vimWHw=5JjUu!Zs7W=coW^kbH=h^C_bn*E3<*FX~`9^q9Dg>R0ArR99x!tx0@@= zH0n9}NxL57-4Fpds4h^ZPPQp`i*ErN1aYy?QQVB0lo@$_*2k9bjH^gnA|}@Eis}Cx zG21>vR>g3tPhqnGyVgvK_A;Y#CR$J_cg1vn)(0eSh^%W$&?N&Hgz9cZ=g78Sl{VoA zhO<}U=(tpyb*KIOz7g5;oN)|4;cQzKt}EN24r}#1)-X{vjbnc5(m?qW!gl*#OO{?_bwFSKb416moTKTd|d8M<*l}+fakpAAh`@&Ca$Lr5Z=GO}U zn0$cTYO_Qu^f%xfq$jhV;~g&L%ne;5umMK0brM z>$G_nt*xw|b6XgTb)VfLbgRt~csdo8eL*&f?2qqP@~B)7Hd~xvjuxmInjLTz&zZsM z1l9VUi9{E^2tK8vxwJu5x^f8+pX^$IU7{+o#b|B?=1&iw=srSbA= zc{gz(ss4A}vf+}c(C83;CaDYJ#zN(SZ>C;QoyC&VOcS|N$z?!qVRZ*C;e?#&-KX8( zhhXr!E;XelKtjTlpwY}W_oBert27!y6lC1Lv|JIR0<| z0CwnB5Uezv^jk|&50kMF!|R`Py}ADcvm!CPcD%_nb>`s7hj#W3#G za21aXt){75;1_|UC%y$YKj>u{QshuI6oS=1*7OZ>q|;w;z`Qp(Z#NMI1Q#B&Ry4X% z3*^)batJHUb6xA_x`F&%RH+UtQaZU5uwXM2)RI!)mEqE;o>#m3cI^w%=b0S&(9@8M zws{R)*#BMn0)ZLmMCO?+7MS8v{2os=&uz~n4JXE1)rSH(5d?@4$a}3)fcO$4{rX)F z5okc!8L@^3O%rvLc630JDLa++eQ7VXnih8`n2Q>&>p>}p&Kx)DG9x3Vh4io*;xcst z2Mhcz0L4reBsuZ2$Re5^P7Q<=#(Kcus{6*3@4#t}{f2GHgp+MZ##4VtvIH^}OKs|t zrsRY}rb#JHe8320>9Yn5NebxYeH+QWM5p#rApqvE%a-{(>-OD< zlWe;_e`<8f0hnGC=TV6<2IOK#45KPzb4sNq82R5ha+4|Qs4I!Mi446)kq71E9GANY z$Iym=4gMJJ57)g!<%I*OmUg9~mT#mTQ=Sk?t-X{Br43C=#%wwr#P9_Rc<0_SD7Q#K zv9+se!t&&ph({icfmv4hs41gGdXE~>W3g57Z6B0!Xh+T6E9E#O6UejGr-i4SjVkp+ z7c6pgr|wyFwGH&2=}# zpeS}I1kNAOA5Ug%nzpDVFzo_2r9)YcT#g~BhpOgsQLL1rwb5nApDE%Sw5`wgt~3x0 z&p8T~=2oH{1;;6BysRM@n8EtM@<~C<)eU9_V<;({=_t^QM#KFbEEj?t1sclh?t!zK zYdy{74p$8{u)H-E;hX}ue$0QhCCuY<9s$g)#}UXSAaP;9bfw2&ZPT#!y}fDWH)9`P zEi;}zdgqeF^q}D7ur_zkscaD;`@puhb}_xBV+kVoT9D|?aHF=rs$J9no)XA<7)Lj} zu*WKu)o~!kEMjHhDQHVEr1%oI<~0_(a8{<08)mY|3+-DnOWScrSh2lT>GTB&@yP=fGa1t{xnm*jF3Bc3_S0d6KF#QYL;wRn?o{ErvVMU63 zY-yLB<9n6^$#}`O08`z)E^#xGXsSQHTPd)XJ7~KxAn)^GRC_`)FTfIQ>~a{N+9Y{9 zw=uOPaRFC?_;pcb0T)1C+gRVnIR3F|9tcGI&8XoUFB*f>z24VnAbwN+%5}-k8P}#8 z5$*XC-qkVrPmY4`%FehECt<;wjdo$BS+eR^j=mR!sfs^J8LFL#83mf=EfvlOt7k{Z zi3>`DnBCX)lD;$N=D!bu$+AYqiLXFu=mRG2 zF8ulu!(7^#u9<&O4W}i#sQbR~ob^p&l!>&XT>(3e_#vUD1ydZh%rL}Ki&ItJ>`N0%IGOx+# z<+0OFOI10(-qc(#hoi>}S|+i%bJ?~Bs`UxON_jQ z-#OneKLVs}UwIfIFZ^uGfr<;0o4cO(TIv1Qw;&lzrtA;(itAF7m6#*adAk~k0m6Jp zc}edGZ9-ureoZQ!u1`c5Q?<|~xsDHgn{vH+dCs1Pll^XF%GQ<6VtCfI3-lnv*ZD(z zpbH}0Oj=o>7`uA=Y=ynOJ(4@rNMuTqhMxgu6hIZfxO#05j|QT_Z&B!FGt;n#Xn9PK zBVV=-d)4tmL7DzZ+JdapoaRE$p}X)-Mx->cK$aseU_U*%`t*+t#J%Ch0o3J+E*%O9w97akG_|B zDY4gMe*NN?eY5d=vF}>0maFfD&OZE^>>BkM5RnnZN^HrxipF+1qFSoQ>PB9@Cy>}b zq+3SOFXnLyXYjePv2kJVJzD@nPcfCQ@rlkSX%^yBnQ37TyCT$qC#N1z3!?$vv=C1`GIFrMdVjySTF88H;NX;X%%P8UKR~I26sNZl_sU#?vn8Sbom#U*&tL}tJhG|i zYl1|)M|IKcxGgB!$s2pR+VrR&UYBx~tP(lUnCo3K>*#4>OOba5JdbPIZd>} z=0v@{bk8-iz^vtmQsAF|JD?!f{ZgfZE6X1l-(U`Ir?wMr{t}ApT$Z&vHkfB66D2e_ zC`?^IPvppU<$9}D7)2MH93OU`YfA^cUT_$wny(RlUNuzHl#14XC)D~koY1qMbV zs<88Un~Hz8f##(K)+Kv|AL`;AF;|Z^1!9--VbZ85X8cyvlG+|(9wMI7{X;EhqIY{9 zRw~AF(OJD_edr2On3qcon~@}C1`Ttx&@qxrxlMrh^Bis-O)giTh@L~N&ktk0-7XS9 z1$YJ{pkt0rh6+>1m}oAIko{31#-qcbR{5Bx3MiX#K!1jAxjRLLwG9LUp~S;bf>p3k zhqZ1ycKTF_>F=JdAw*v6#9HI&8%UPUPZ1R=@;(6$CC4kSKJqJ3o(4PN{7p&k@AoR5 zzu6%>qzlis5ymJ!maIz^xocGXy5t1tgiCk4_pGp*KP9{VM{lLGOtW>T(pTms)iB}e zF`JTE>qiA5cuFWKETlKTpa1h|GbmCtbtU^Yp1*b}=Hlfc$Ccw4Lp#)}}c;N%LLh-4cjs5Z(ey|u(P5sik>0rn5$wz%NPYDC;mf>u3H-`U{0rm$!Q z7h06w##zDx_PfN;uehia`nPMggNW!Al+^8TBhLbmv{hiY0!k*}v}{Mgn$=9seetYO z_^$S}GDH4MtXoeqPAP0w5{10JQMrO~6sSaB)j9@;>#RPF?3tp`BE|biBG3>Y~})O_58cFAOvzFwOx52`f?1X8r&ZMDisR zqaMRnH6lG^P@+gW@|VyX?az5(bgC%vp8*1bX{l0AAE*%*{1S z4X-fibTMFYdPr2|V_F%cB8NI>p(d9&;9Vmnm2!-%k5ojULbcEoZ~%pRNKed{Gw%OI0s?w7uU*>@eUc4Be!v zQ>^ZNLj|oMSYz!9nOdmxBspZYb`I_hT0m3lW#EJ)>=osrL(+zOPNa_QzfPi}jK#)k z)!}Z#%bGC5M>LDFBGX0X_lSoW-1^mrJ|ofC;W!KeLC%A+(_dO3^dDu?h)Esh`unl5 zRQ}JK{EQ)gnbB2`V7PTamAmk9GgEke!ZZGO5TTvNUvR`X)0AQ*G|H!hsp;n0$uQN^ z00@AydsLANbZUUpf{9s{j0QJ?UNxyadK_rO5wgyNxLg;+*Z7^a5M^JSDS`4B)f>0j zj4~cDsJK;9B~1O)`_%vKPJFpfsxKrk6}qLa1QofgsUze}`C7&iX@C;Gi{j)2t%ZFyKOhcX6w?1=%pR06zn(G?t?MPB+o&|W& zOKpfl9Tvw(jwO+96zVAW*a z0Z}TEuwqj^p1NZ>*9Tt1^VV5-)s3)C0)5pN`--2$PA$J~!kmK>IHw%Wsqi21Av>M4 z>lE;fQ_n+OK&{Srihu8_CT-jt;-BXpFjZ68l$hV;x z0l3*b6vg_eYU-s<)*}QSQ-pvrBR{<&tKnc>xB}lAFEIw-} zxO~^+Y=1%M(22ffH3onSb}^FdvHd6T#!Zh}XyNYj@1gdrS5QCH4!O|ZCu=+qpxUSW zi9G(Rp#-+jS)hju;z6?Pfid;(hWdh>EblcH?$gq$Wezu0c>_YE?_M#4-9b2gamMRu zR$KcdPfX`HmTKVttIA)RTiPk0{e<O zX%MwWpAVrIA0xXrq<4K7ErVzqi2D`Ostnq{)bX^cmU^A^3KSHc4l;(0MlcoEB~R6U zXHh1dhIiKun*EcZ+a3ZMin1b7Q42|k0-O6@(+?xMkr>pA!E&m0{DBWrTgv*p$k}IN zwR9k2bie-Er2ofBQWiu4?HCy|h#avE1_h*$ks+{MXnT&GzA=#&DW3teo?>V!xsyV0$20)K{4pX$*+Jt+aV_Z z=iSQ^@=6iViv3U&s2k8anGvIZ0&A@0fs-4Y=xu5=L)H2ff~@~0s53g3ms+O6LK&Ztn_kymBaa;gZDIVe=rP|r=D|qcvj3grx@oTWpK(?V-!C*MNU_nOcW#$)6(QDU5Q^-ax zLN@Xku%(Mvg|neLrm2Y19XKRin2{OHy%}3g0E?S$d1G+r>hQC z^H77Ms7jThK(i&iRu;q;t9)4->#NW+*YD2$C^nZnp9tN-~ym7&BCiUy%*^ZGh&Nm z_e}1P56Qi(0viN@oK{{92YT(z0wiDvUOIg8HD_{z77I+U3meP;%O8q>yE%~B}An0-_M^3=cBh)@nAA3H5KqyD0TSWfjs@K&&6j8-_@<@QPlNh&`*nv=F2ZbCOWHJUFB& z^oz-7LM7m0>_}3Fj8Jh}ukQMDKn(JYLILR%w^rKj$b)4=70HN}$mM-BhsT^$s9?th zMd(ct6&)&IKBXpG92Kv*-upb?sN-|@2l_V^X_oKo3z}uj0Mzr^>^oWVO=YMh^-L%$ zrw96)66nCkS&ld-bx-e6s?i7E%@7y9qz%JFNzO-BLq}dPkPIafaxXY`fNZR?3!efQ z$2N(xUFhb~&+L$xhX1CSyp9M37*#g!4e+-v<}_tM&PnljhqbTT0$ zAFZ;!zc85O-J(EHxsCM$7YoZAyv znzG{8uSLEIj)0vyyYS;qC!tQC?!Ec9#x5r7bhG!ee}oO-w(fM@)^0#5$7^HY%j|J= z#F`D^aVeEsN_*tpcp-XyJEfxT5Hv1uop*-;pnAH%pz?RCz{G> zCW*`9?LV@12^EXhZ$bp?k!SUq86Y0UML4equ5pWMHwtJNZr~atbhQXS!{sTg*C}YT zSq=z#0F9urGEa&KXEV`3>*IzSOs2UdXPHA?T5(0qFu2tA9d@n<-W)cZRKTFC2g5MD zv5nv6Y5W#}!19$N|6XO2K7S_-qY0~0&QuX~!hY*~ca#c4N)UYNIf$^Tf3 zVK--E?SEenobs#;q|*3ni_fXN`iv<@kM*?&syy`4TQt9=9$Q*eGyzPh|Muu66LZ`r zcQmOJ906SE(!ie7V8N03gR01ejqm4L2r+wwguZ>S3G#~H9(@2m3!HF$osz@qAk$n= zm-8bwp3hYx8ivv5y9e;2mmGN?-GqdE4t}#qc{$wcAhsoL4g@%URM_W-{-T3Y+XQ>JTGT#Y^yin0>>hoY zK<4K5f%_`8zU=7v&B1~{`CR`pnkX^qqs-6M#sD4bSJHBLdo~yX_=$J@M6rr~ z_vt;I&m*|?=^^GUkYee)! zMST*Q=4D(2q4Bo|{`m4HI7DsbB)MVE?O6HLjeMGXEvsB_`~|gb>rg0}Zd~MhVlZF@ z>7z+OwRC#Kcd2CC8xxWPwdp$S$+8yvwm|8PtM1i#1Mr~1$+9`Sa|9E{mFydzmp}hI zeC>#lp?@$Lw_p&O5`{bxQz&i)KCi_szPm8P(F~UyD97`I?wpSA1|RKu+3>SXI5jNN z<j22Gj)6%(-I#sjn&HnyQwH(aneQ{dX=zcXm z@BL+E{$|m?+}Zvr{4ZutzVM$x|7WE)&*Xp1<39)SKi&h1P=5^y|A+YLw>c4Tk{yyV zdKk^lj9>|74vWLXILMe`n)4w!*Px8Q4Xs~}@#n~LX!Q%EGSf#PKejmd2D2y%+Nc)n zaPW$}wC4Xfu=q5Ok~0dCL!(bI8}CLN88tK0`h~6k<52VVXaw9mY_KiDoI5EkRH+I6+v=^gi&Vz#RDHrgky&TIh`JMk3f8vA2QXX`mGFRmbLudq^wFQM&ZvB z7u?s#DbRLVbuqehdvpF0$Yt^RbJ|41A=ZGZym#nSDUrbc1H)!T7zWeqjfuV?;tidv zqv!uVfc_n(_-jA_U~A3GJd8ccL$f~?p?LQW8%+8@pnFWTwsQE8L_djA1ka=L? z!96bR=!Thr!-SMDUcF%`XH=ZZyq!U-tU1>-K)Ly^qWY&nrJUn^0k;-n)OHjn2t^vD zGr|R6)(ir>mN@&5+;0Si!?%H-CsY7PZg zP7Th9VF~Lo^*angshw)#Q}f?_tr)O8X06Q8R;bE&hVgv{AY;xD?7Pp1WEe8$Lg(CSVF=N&XCV|cRL|`Sk%FPy#st7z>4g@GjRa>UNFM=;X<2+3$8HbDN|IYOifLhTyrHO zMMa=8wA?5+R0I-IQ$$2X5Jk=pTV{FA^M2}l&UruczK{L~-2A+`?(6X?f42wJU;TFVYH9KeKCQk{$3Kk3k?SfxS>VA0EUEv=Y(mfE8YyxF|(jNJ8m6GQC z%*Yz{!H;rrNRs4qH4jmp(QWx0P}}lt`e_2e3m|Bc8mT~nK=6neGOcTkgC6~J`2%6d zfWGoA9SC>4C8;CLxB{A z!p)*z=84r=)0Z$g^DUqSK|{8tw0Dq*mBm=orbHiJ(oht!c48%IS^qmW`}ELc(!d9& zrhXY*u7WHlL*7;<-}%?e$&lq_$Z`$!4T0isQU&?D;IzWn)9PnNln^lzZk(y0Ry@f- zO}00HqdSZ=%^QY3$_&nqkC0zZS|gCJFEG6{QH!D$)SzLUdcq5C_ZW(vtzNO(P+X*O2;qEN>c0^o^mVC=uk6HJH!k zgWfdL$Ru>2^iQ#Yr9~vHtdh z2o(zV36B*&Zdjt)1YuB*=jgcbZhs|^{0d#eyy@eXJ8U>Py?*=xJr0ai5KWYDsA&id zj!3uoD7A@{H2NJ|=8r6sUfxt1|AEW24A?*zw9JWmOO9JskN>K;{;#AS3jPR)%-y!+ ztXvRVTLek?02^X3-hMIdBXjs`**PK-K&}uCVz6vpI~h3ylJ^gGQ>29-O=ZZD&iJb3 z$m&&*Lp)8n5kie6$&!mcnpv@`ZlV$cuIB-c30XYHM$NEdjZLjCQXp`m3~+7~980B% z!YsIPB;WCO#;9Ub)Ry*5YysQYA`IvG3QB3V_9$XBd#vjn-D3S4+QwS=LOB~;KR$#r ziNv5IKAemCva5mMUqPCf?1#yd8njV!BI}POm6E2?QT)jv5V22bWP+`5iBxXuu49Dp&`lMG!l!>_~6>W{-H_!3(Q<&15vQ}bTAn^*VoV_ zZ(?sCumAA!kDYOJ)Nf#-Aowc$%7@$7oxnjWuOGxjQ8feO!Sw_ZhT@ljb#rNXbiIN< zpV1&@^7W?hT_LV`_Jo4ZT6+VT&MLNRdrL{UwI`ZeYOZWekJJ93ti<018p}43UwrsN z{Wpjgg&O^^6)U#fJ97BIi4Ua7E;C0I3ikgF-DN=TFCfbcb_rrGVX*>ZaVV_0^7J7G2L~Okb2`0{y~f32Y=j=0n*HpakAQDM z>sM-TMan0U#`tCf{}`Wuvp%TswDGBD6&vS>&C??gUep&X8*TC@eP;b)@5ER{wPHE8szMXX(d4 zLq%^gkt?;xqCyYp#cKA`_tSXyl+zbE>>e_{HR)0>l)pD42< zoj@_h4ES04yJ`Go@H^?uI3g34PKh4>g#&?)6@Yx_lg2au$>6u5%u zEP^|4sKNyO$^X4cP8+><#{oR;^^t;T5rvX z7jy|wS1ek-$GfGLyBFUh`Wq8s{Xg`vwxDcU?^ugV*-;Ql=pki#*>t!-;I6uI+8QIf zRcaRxyN8QE9lZ(>jP~P(2BtwrG?8;fGwowIZF>vx(J1CxQ-0cnOt#K%XdYYisgm)1 ze>T!}3(RU%Fbu1=ivfo3BJzD& zk76uHWt+sKsxJ9VU)pFtfxRZ3Sr zoFKb5gLF6B_3D_gsW zn)XdB>`RKHZMfrybSkpNSrnOzn<0L~Wl%;7oj$VqcLQGrw4>G{NuX z=AqBVO#<${*giUBB>%P0mVL(`3e1cRbn4HnsGmq16TaHX$QN78h5a@KO!yE6Wa}%B z=7WT@w@5H|@>Fce^W*FaSkg`AR(sNOJ<=1=)T0qL(A_7iwtaCO;g)0SI!-!5xU|Wi zaBWmhWmmvz!pbBC&I@x!5v6|6rsuSy!$$r71XyZo;NE#L{ze}a8_|>#;x5{c^vL^K z4TUP!JOoS$)`F|34{VczSei8)$g}a>Ctvf%aK>6keT-gX^$$KPHNxadQG(y{8 zi{Cu6B*o1E^=^@~1x6has;Au7JDQ^5JYMkC_pXRbj~$VpI&1p!`Rw$ZZ%+C|o&0)e zwK2bJx@YJ2Pbe-(F3G;MFM>0tE?y){)0v`58gcUe7;GCoT`A#4U#Q9A&Cbqpu~~0b zJv+5kz=6S>+ct<&)@;xB>+~%oSV(f8f<8m)Y{N&*H-I{3O~(h28U~W_`%Nq;LsWYG zzUj~mw!n6K;0q7&@I1D_jW}Lu7dGE!`hz)nW@vU_)P#YNZiG-Y7Sy__N`4@YK&R>` zt>ckcQ%YWXJFMi{+Z0c>gP<@$jP99P!)F1 zAN4IjmT?bgu-=Ns70HxL&SwuDO8vUJ-zRcj$no_!YLkvTrtMN*p+O)&B=as=mol=< z<`%TODbdN0ur65e@x;(DU7<~CP3ki}B5fkF?ZBR%IVvR$!)SN{T5Yj7j2q4GY##&O z*YD{wpM2dpdf5i)WX=kp#dJhr7xmS{Upqi?rk`JJ(Nhau*y(&dPgI`@)u9Lmi~3u* zs*X6ye2{2=p!oxa$9y&2a&ZSXER5b8>sdDKzj3TzeQ&}2&FAC?oVF1A=G#jbbEcjV zP&U@;h>P@^*t2ERX!fNhHqb(6pg7YqJXr~A&}d?c)$eJ37HAgJ__^_1Xo>1y#dZyKMvZc~ZhVRzRz82{ z+k>q$`Z2?0W9d680|u&pNCPi)O^*(nPS~v5$21Et4t1}ppN9RYl<;j|)sw_iN_xmb zf64*JEtHk6%wH?WgFR!ju9b^b2p6TUfNSmmWDo)pV8^IBtLX#bQO=23=Dr^EMOk3} zI42qw!HfMKmvIMqN0shsrZJ}K7%Tni#kX@+3(u<<0$|T{EXMwJHthRm%^-C3flN}7 zQ~UyF_KDD7GiFt-#AOQ+K)=FRC2(C`_t^z=kegV$oX^R%96$q>_*Ez7G* zvK}}p>`k%r$DxHZV|hB%YXZjmB z$G*@&Bfpm7(FTzG=Jr7S0{=whKF2WPM5R3dN3sXpb|RwutM_)*%qJmIdS!h#*Ba}Q zHmn|fIEopI0cWi>8Go(#HN^|=R&`+t5JdhgSJ(+VMWot z&Q4TE9MNXW>od*wJ}K{K$zElJ@R$_draWxwQ#}o9KmUd=va0A*U1il%F^A|IWMwD9 zxPt~(TB)#>?@;YpsmySB;)@@McCpfpTlYT0IgupQWDDPSW;p>q1P$f}j7qN{TwxtO z^ecCceh#r`kfnmF>-Logc6Lb}XMZ`A{Ik4tf@^1@3v7`a=dzNFvTx=<$QQFg{;LiY zk3YT?r{>1gD6km*Zf7cNp+ok#rQ)te6IMw-@8JY~BqWJVJL*mUww4<3q=F)vr~qzv zywJzLH$5?0V8pU96;!*@Ey~9^V)If9Y00kWC)3(E$jP?FZ!jSD;5KGR6Um>z4zn^0 z?ox58p4e2%PHo0{-}Ofvzu6p^FI#0USm8vs?>McMrtFo51hIbg57Z57_Xg1!D@`#)}` z@-nUZ=tUX0^ZxqMj<3`e@Dr64`NbLHMtq5zIY&i97%h)oi}U#@UdDli2!O_i=OUu} z=37>}x_VInO9_AqNDwJQ0zi0Al9Ar=q6ym}s*BA%i*zas%$k^&rF8cOL2hAlWatXI zz;_$|D+EjalL%c8gGNC6f99gvtPDQ4YMyvD;!%urqt`CnFhpJL#+%MO<(7m71u&;y za%SbR`?B}fHk&QhqeY6V9_c(W@gH%T2^fM?%zgTe$y2QgUqB?4Rh&g;e^#jgX^EVd zM9?i+#D3#_P3zhd{yJXMbKH9y_gJA#8O-p-#20&syPsn9AD?_hcLb5kakP!^nZE1QOKwxL+&5Pi5X?O?eFhkJMs*V_QZ^!WR zQ$~t>(|~SW(GQRjqqvT21hW%~WP#f4VKFjW_izRu%1FM_!3A95-4^fmWbCPE#+e?y z(HR5UgnN#*uNjpf%3EZuz9PIm$({{%DzV^+7{HgiBW;um8EtmtRxw{Fbt zr&Pk$WRvYANk*$@t8 zBS1}_sp98h%yTA4f=lPJ?7{P9(AmZ%%hsl+XNBwR3!Me^uDY8i2IRcU=nhU3_83hshMZZ>dsdVN+yuj*^n-k! z*U8$644i6DQH ziYlzbLt`kdOQ8KejH(fF zSEo%!H+`YH`3IjxsjLCx!mY1g=zbt;b>mmITa46~{3@cR!wRzCwN=pm1m5_dwMJ=0 zk_`xQTxOK4+g@sj?>*k+fKsYvAbqNAdD8d+PZ`kv6hewC-}ve(k;U2XNhGi%2+d>7 zhV<9PMcE$e_G-b}>DSxwc!^3aD}4I#SSZJL;$f^(X&N?ss(7?`8|^`GyjZ{43yzB{ z+GLObcQ}`bO`*uSSm(7t0aSe&%a<~X6dHuTJP=onB^-7UgC|eV&mA8z?UGdT8?ypE z)OnZLr(WolQ17Er5q?qiJDrN0!P5@=27-#9rNM#ari1xTB|PA&JZ zr;mjdi|+Rq9pXN76|rp|&cC7Qi9AXb{FGBr;B}i*UkQU>WD0e^EDo}za=*q`w6T2c z<|EVu_V(aXS^ZEOffXpfog6|I2^-eCLQ^VgXY0nyuI?(aYz*?qrjpXyfB+GS*Y{`s z+ysE{>D}+a7ucF^W$v`Rlij<1?P@vh@E@bM%e8&7>Nw4%=w!NEH2RZ{uUb6L;m{jN zxgqPkONpw?EIraVogeDZ8o%d6>*wnUHs^IQj&164)MpPoc9KI`j(dH)&>6%nO}9v8 zRZC0Ah!M*xNP6ws&5q?G`d;p>Ix2YY&|%c%oj6y^g78x)c#j6Xe;~Ja{mOf{UYs8c zAh>$x^@Isc%Ejk_5LEeVZhh|O>uFr`B(A1knN~10RM{Y&y4t6*Ea!;w0H-EbXFa|j ziljR8L!$(ygiK421|5fw6b96A?@~O9_QyR1f0=pRM$P8tzgyR_#+traNex$W2Tp#o zQN_&>B0ArU*3N;ns;N>R_Jo1R_4VdFh|O)tNY!(oVQi$n?w2J>G9*7SAn243X*F6I zT)&^a9!GhBwCI@YX~OW#SScG&cXQp`mq2FkmLC0ostD3|4 zb&MXd-~@*(-P$%b;zg+&U6?mmZMq>nqd^RA)rAR@%0j&}(6>cf)&V?EzrTVoCLo z3*&@Ai=|K}&`sLUgBLbn%p$XeoU}U8o`DM^5KZuxw;afcO%3b2a|aM(3!SBXBb=a- zx^OnfrLvq+mh7`+&|}{k^hqxjwjFV>SFsXFTGcz9qtTp`F;}ZAH2}%07{rC9L2@^& z!v|9NwqER>0MkRt*El_?QG60SG^^d^`%=85GhZ@0pli^PwIuOrur8UZbNW!5WM4-u zrdp!1?aq#z=sMnpgEG=aKz;_-pdrEn=saOI9)fD*wsRPX>ORgiZqUHRX&#(xYdZ0O zcg>4B>kx^aa#k+&bTd!ssd8x3K=Amy+rh1pYAM&gq)Egp^N8L&v40Fl-x;`L6Jc#q zlfwpdUys5-eS-sJnpiFAiO3OcWShWkO>RCd2;TnWIuLGqrq$N)18+n8-Rdz8=g|;; zby`vgIh#xCk068|O?T)(Zyey5ajS;qGl`)d;AVvWJhL4L_u9+CqS{%6%#|1Ng<~VY z-FH9A-<6AyWgN!I;`H+-=yR*oLVgO>epJIhYlh+2wcb~@yz6qw4{ID;8tU*e{@{y~ z7ywPOYJ4bKEVapYMN82e(o!k0-Qt;LD^5~2XuHf za5JxXD6d=7wV-f+yH;XbHsW*@GlA}54~7|dyh4c#DFLc%&*AED9Jl(GzQ3DtKgT5v zz<)Xu-H~L(yfNGBkDZxQg}HcHZPzz|s3A(nXS;6rmheZ$jc|2_=ak2`l-5*mHh4lw z7gR>Rp`WM^94HJ?;LWN^SnHGu#%ucnB@6fL>YRO~U6-lH{Pgo!KhYtw{Z_lkYY;iv zR6;n$E8^_Bl~py)7Z!{T3qjTKSoE!UUEqccLJf4{IQ2n$@IWZRyz_={S~c9Q|649> zn!%&H?dzCZYlyTNSq-3(eiZcVX8gQ*#7t$kPNb04ni2J*h-~%9Ag77f#6M}hNeSp- z|L9$O0(jKA2}d1#67HW+EYVFnPFN}oDGIH7)q!gJK{O13E4ithGw}en-{Ctunho{0 zo>2ZJ_jQlEDmCxckan|Ixm!i9&bnkKsy3NAT@&halUxGvtcZ}id)I!dWb&ZS z()(t1?t`9PWNNRNCH_&$MX+736t-u~UEQSJjB&Vp+syl1mF)n>(8n8njAIfn1|>K; zEcmz8sc>A1uAkBF>?ybAUBQ1Xkcs{G^a9>}oO!Y|>T7&ojI?irzmb;vooWQN(rU3X zI-ggLRNJ~9z$69a-)7qqbjlJgRmS*NKj|F?oX!VLGQh1Yo$75SxHuCm)Qcr5E6I|L z2_2`kDPMa(-k-Lg+|IW)Vc%(l7pr!2`r~EXP4T>Y&cCd2C`|N9pkpBAjo2^1d;h@? zmmen8banx|05e7~@eUVl>HlpLXhd=KMP9-C0CH$EPbj_4VZ2UCKiC^?Y_IUgbl)eV zb=iuqE3>WO^~#SMTOxq1`0(d<1#E8do2T%y-X~o@1HQgu=$)y5>((XzZ+_gaq{8;x z`ewo#NZ9kc&va1Z_#=Lg z8`lvN0z)fp&zCMN{eV0t`C`CR4y3I2=f^&Nocx`vngxbq9G6@1oDfb>az6ri^raW!tyAucdu7SD&L51>5b>EZwfO@FJ5aO zQeiJb-(=Sm@BE_ic8L@(euT{tB1dii@TteX5FsD@#|PNH5w>FZikVdTs* + + + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.prometheusexporter/${project.version} + + diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/PrometheusExportDiscoveryService.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/PrometheusExportDiscoveryService.java new file mode 100644 index 0000000000000..7e91ae04bee4f --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/PrometheusExportDiscoveryService.java @@ -0,0 +1,59 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter; + +import java.util.Map; +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.openhab.binding.prometheusexporter.internal.PrometheusExporterBindingConstants; +import org.openhab.core.config.discovery.AbstractDiscoveryService; +import org.openhab.core.config.discovery.DiscoveryResult; +import org.openhab.core.config.discovery.DiscoveryResultBuilder; +import org.openhab.core.config.discovery.DiscoveryService; +import org.openhab.core.thing.ThingTypeUID; +import org.openhab.core.thing.ThingUID; +import org.osgi.service.component.annotations.Component; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link PrometheusExportDiscoveryService} class ... + * + * @author Robert Bach - Initial contribution + */ +@Component(service = DiscoveryService.class) +@NonNullByDefault +public class PrometheusExportDiscoveryService extends AbstractDiscoveryService { + + private final Logger logger = LoggerFactory.getLogger(PrometheusExportDiscoveryService.class); + + public PrometheusExportDiscoveryService() { + super(PrometheusExporterBindingConstants.SUPPORTED_THING_TYPES_UIDS, 15); + } + + @Override + protected void startScan() { + logger.debug("Adding prometheus exporter generic thing to inbox..."); + ThingUID uid = new ThingUID(PrometheusExporterBindingConstants.THING_TYPE_GENERIC, + "prometheus-exporter-generic"); + DiscoveryResult result = DiscoveryResultBuilder.create(uid).withLabel("Generic Prometheus exporter") + .withProperties(Map.of("bundleStatePackageFilter", "org.openhab", "refreshInterval", 60)).build(); + thingDiscovered(result); + } + + @Override + public Set getSupportedThingTypes() { + return PrometheusExporterBindingConstants.SUPPORTED_THING_TYPES_UIDS; + } +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterBindingConstants.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterBindingConstants.java new file mode 100644 index 0000000000000..2fe5d6f4debaf --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterBindingConstants.java @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal; + +import java.util.Collections; +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.openhab.core.thing.ThingTypeUID; + +/** + * The {@link PrometheusExporterBindingConstants} class defines common constants, which are + * used across the whole binding. + * + * @author Robert Bach - Initial contribution + */ +@NonNullByDefault +public class PrometheusExporterBindingConstants { + + private static final String BINDING_ID = "prometheusexporter"; + + // List of all Thing Type UIDs + public static final ThingTypeUID THING_TYPE_GENERIC = new ThingTypeUID(BINDING_ID, "generic"); + + // The thing type as a set + public static Set SUPPORTED_THING_TYPES_UIDS = Collections.singleton(THING_TYPE_GENERIC); + + // List of all Channel ids + public static final String CHANNEL_BUNDLE_STATE = "bundlestate"; + public static final String CHANNEL_EVENT_COUNT = "eventcount"; + public static final String CHANNEL_JVM = "jvm"; + public static final String CHANNEL_INBOX_COUNT = "inboxcount"; + public static final String CHANNEL_THING_STATE = "thingstate"; + public static final String CHANNEL_THREAD_POOLS = "threadpools"; + public static final String CHANNEL_ALL = "all"; +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterConfiguration.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterConfiguration.java new file mode 100644 index 0000000000000..f4e87c7a48af8 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterConfiguration.java @@ -0,0 +1,30 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; + +/** + * The {@link PrometheusExporterConfiguration} class contains fields mapping thing configuration parameters. + * + * @author Robert Bach - Initial contribution + */ +@NonNullByDefault +public class PrometheusExporterConfiguration { + + @Nullable + public String bundleStatePackageFilter; + @Nullable + public Integer refreshInterval; +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterHandler.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterHandler.java new file mode 100644 index 0000000000000..8f0c00623dbe5 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterHandler.java @@ -0,0 +1,156 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal; + +import java.io.IOException; +import java.io.StringWriter; +import java.util.LinkedList; +import java.util.List; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.binding.prometheusexporter.internal.metrics.BundleStateMetric; +import org.openhab.binding.prometheusexporter.internal.metrics.EventCountMetric; +import org.openhab.binding.prometheusexporter.internal.metrics.HotspotMetric; +import org.openhab.binding.prometheusexporter.internal.metrics.InboxCountMetric; +import org.openhab.binding.prometheusexporter.internal.metrics.PrometheusMetric; +import org.openhab.binding.prometheusexporter.internal.metrics.ThingStateMetric; +import org.openhab.binding.prometheusexporter.internal.metrics.ThreadPoolMetric; +import org.openhab.core.library.types.StringType; +import org.openhab.core.thing.ChannelUID; +import org.openhab.core.thing.Thing; +import org.openhab.core.thing.ThingRegistry; +import org.openhab.core.thing.ThingStatus; +import org.openhab.core.thing.binding.BaseThingHandler; +import org.openhab.core.types.Command; +import org.osgi.framework.BundleContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.prometheus.client.CollectorRegistry; +import io.prometheus.client.exporter.common.TextFormat; + +/** + * The {@link PrometheusExporterHandler} is responsible for handling commands, which are + * sent to one of the channels. + * + * @author Robert Bach - Initial contribution + */ +@NonNullByDefault +public class PrometheusExporterHandler extends BaseThingHandler { + + private final Logger logger = LoggerFactory.getLogger(PrometheusExporterHandler.class); + + private @Nullable PrometheusExporterConfiguration config; + + private AtomicBoolean metricsInitialized = new AtomicBoolean(false); + + private @Nullable ScheduledFuture updaterJob; + private BundleContext bundleContext; + private ThingRegistry thingRegistry; + private List metrics = new LinkedList<>(); + + public PrometheusExporterHandler(Thing thing, BundleContext bundleContext, ThingRegistry thingRegistry) { + super(thing); + this.bundleContext = bundleContext; + this.thingRegistry = thingRegistry; + } + + @Override + public void handleCommand(ChannelUID channelUID, Command command) { + // no supported commands yet + } + + @Override + public void initialize() { + config = getConfigAs(PrometheusExporterConfiguration.class); + updateStatus(ThingStatus.UNKNOWN); + scheduler.execute(() -> { + try { + initializeMetrics(); + updateStatus(ThingStatus.ONLINE); + } catch (Exception e) { + logger.warn("Failed to initialize Prometheus metrics", e); + updateStatus(ThingStatus.OFFLINE); + } + }); + } + + synchronized private void initializeMetrics() { + logger.debug("Initializing Prometheus metrics..."); + cancelExistingUpdateJob(); + if (metricsInitialized.get()) { + return; + } + + // TODO only start the metrics if a channel of the corresponding type is bound + metrics.add(new HotspotMetric().startMeasurement()); + metrics.add(new InboxCountMetric(bundleContext).startMeasurement()); + metrics.add(new ThreadPoolMetric().startMeasurement()); + metrics.add(new EventCountMetric(bundleContext).startMeasurement()); + metrics.add(new BundleStateMetric(bundleContext).startMeasurement()); + metrics.add(new ThingStateMetric(thingRegistry).startMeasurement()); + updaterJob = scheduler.scheduleWithFixedDelay(this::updater, 5, 15, TimeUnit.SECONDS); + metricsInitialized.set(true); + } + + synchronized private void cleanupMetrics() { + for (PrometheusMetric metric : metrics) { + metric.stopMeasurement(); + } + metrics.clear(); + } + + @Override + public void dispose() { + this.cleanupMetrics(); + cancelExistingUpdateJob(); + super.dispose(); + } + + private void cancelExistingUpdateJob() { + if (updaterJob != null) { + updaterJob.cancel(true); + updaterJob = null; + } + } + + private void updater() { + try { + for (PrometheusMetric metric : metrics) { + refreshMetricAndUpdateChannel(metric); + } + updateAllMetricsChannel(); + } catch (IOException ioe) { + logger.error("Error collecting prometheus metrics: ", ioe); + } + } + + private void updateAllMetricsChannel() throws IOException { + StringWriter writer = new StringWriter(); + TextFormat.write004(writer, CollectorRegistry.defaultRegistry.metricFamilySamples()); + String metrics = writer.toString(); + updateState(PrometheusExporterBindingConstants.CHANNEL_ALL, StringType.valueOf(metrics)); + } + + private void refreshMetricAndUpdateChannel(PrometheusMetric metric) throws IOException { + metric.refresh(); + StringWriter writer = new StringWriter(); + TextFormat.write004(writer, + CollectorRegistry.defaultRegistry.filteredMetricFamilySamples(metric.getMetricNames())); + updateState(metric.getChannel(), StringType.valueOf(writer.toString())); + } +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterHandlerFactory.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterHandlerFactory.java new file mode 100644 index 0000000000000..0cdb903e1c056 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/PrometheusExporterHandlerFactory.java @@ -0,0 +1,64 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal; + +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.core.thing.Thing; +import org.openhab.core.thing.ThingRegistry; +import org.openhab.core.thing.ThingTypeUID; +import org.openhab.core.thing.binding.BaseThingHandlerFactory; +import org.openhab.core.thing.binding.ThingHandler; +import org.openhab.core.thing.binding.ThingHandlerFactory; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; + +/** + * The {@link PrometheusExporterHandlerFactory} is responsible for creating things and thing + * handlers. + * + * @author Robert Bach - Initial contribution + */ +@NonNullByDefault +@Component(configurationPid = "binding.prometheusexporter", service = ThingHandlerFactory.class) +public class PrometheusExporterHandlerFactory extends BaseThingHandlerFactory { + + private static final Set SUPPORTED_THING_TYPES_UIDS = Set + .of(PrometheusExporterBindingConstants.THING_TYPE_GENERIC); + public static final String DEFAULT_THING_LABEL = "Generic Prometheus Exporter"; + private ThingRegistry thingRegistry; + + @Activate + public PrometheusExporterHandlerFactory(@Reference ThingRegistry thingRegistry) { + this.thingRegistry = thingRegistry; + } + + @Override + public boolean supportsThingType(ThingTypeUID thingTypeUID) { + return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); + } + + @Override + protected @Nullable ThingHandler createHandler(Thing thing) { + ThingTypeUID thingTypeUID = thing.getThingTypeUID(); + + if (PrometheusExporterBindingConstants.THING_TYPE_GENERIC.equals(thingTypeUID)) { + return new PrometheusExporterHandler(thing, bundleContext, thingRegistry); + } + + return null; + } +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/BundleStateMetric.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/BundleStateMetric.java new file mode 100644 index 0000000000000..6a54d948083c8 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/BundleStateMetric.java @@ -0,0 +1,89 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal.metrics; + +import java.util.Set; +import java.util.stream.Stream; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.binding.prometheusexporter.internal.PrometheusExporterBindingConstants; +import org.osgi.framework.BundleContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.prometheus.client.CollectorRegistry; +import io.prometheus.client.Gauge; + +/** + * The {@link BundleStateMetric} class implements a gauge metrics for the OSGI bundles states + * + * @author Robert Bach - Initial contribution + */ +@NonNullByDefault +public class BundleStateMetric implements PrometheusMetric { + private final Logger logger = LoggerFactory.getLogger(BundleStateMetric.class); + public static final String METRIC_NAME = "openhab_bundle_state"; + private final BundleContext bundleContext; + @Nullable + private Gauge bundleStateGauge; + + public BundleStateMetric(BundleContext bundleContext) { + this.bundleContext = bundleContext; + bundleStateGauge = null; + } + + @Override + public synchronized PrometheusMetric startMeasurement() { + bundleStateGauge = Gauge.build(METRIC_NAME, "openHAB OSGi bundles state").labelNames("bundle").register(); + return this; + } + + @Override + public void refresh() { + logger.debug("Bundle state refresh() called."); + if (bundleStateGauge == null) { + logger.debug("Skipping refresh request since measurement has not been started."); + return; + } + Stream.of(bundleContext.getBundles()).forEach(bundle -> { + logger.debug("Checking bundle {}", bundle); + // TODO make configurable + if (bundle.getSymbolicName().startsWith("org.openhab")) { + logger.debug("Adding bundle to metric."); + Gauge.Child child = new Gauge.Child(); + child.set(bundle.getState()); + bundleStateGauge.setChild(child, bundle.getSymbolicName()); + } + }); + } + + @Override + public synchronized PrometheusMetric stopMeasurement() { + if (bundleStateGauge != null) { + CollectorRegistry.defaultRegistry.unregister(bundleStateGauge); + bundleStateGauge = null; + } + return this; + } + + @Override + public Set getMetricNames() { + return Set.of(METRIC_NAME); + } + + @Override + public String getChannel() { + return PrometheusExporterBindingConstants.CHANNEL_BUNDLE_STATE; + } +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/EventCountMetric.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/EventCountMetric.java new file mode 100644 index 0000000000000..b9489c50c5eb6 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/EventCountMetric.java @@ -0,0 +1,87 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal.metrics; + +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.binding.prometheusexporter.internal.PrometheusExporterBindingConstants; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link EventCountMetric} class implements a gauge metric for the openHAB events from the smarthome + * topic. + * + * @author Robert Bach - Initial contribution + */ +@NonNullByDefault +public class EventCountMetric implements PrometheusMetric { + + private final Logger logger = LoggerFactory.getLogger(EventCountMetric.class); + public static final String METRIC_NAME = "event_count"; + private final BundleContext bundleContext; + + public EventCountMetric(BundleContext bundleContext) { + this.bundleContext = bundleContext; + } + + @Override + public synchronized PrometheusMetric startMeasurement() { + @Nullable + MonitoringEventSubscriber monitoringEventSubscriber = getMonitoringEventSubscriber(); + if (monitoringEventSubscriber != null) { + monitoringEventSubscriber.startMeasurement(); + } + return this; + } + + private @Nullable MonitoringEventSubscriber getMonitoringEventSubscriber() { + ServiceReference serviceReference = bundleContext + .getServiceReference(MonitoringEventSubscriber.class); + if (serviceReference != null) { + MonitoringEventSubscriber monitoringEventSubscriber = bundleContext.getService(serviceReference); + logger.debug("Retrieved monitoringEventSubscriber handle."); + return monitoringEventSubscriber; + } + return null; + } + + @Override + public void refresh() { + // already handled internally + } + + @Override + public synchronized PrometheusMetric stopMeasurement() { + @Nullable + MonitoringEventSubscriber monitoringEventSubscriber = getMonitoringEventSubscriber(); + if (monitoringEventSubscriber != null) { + monitoringEventSubscriber.stopMeasurement(); + } + return this; + } + + @Override + public Set getMetricNames() { + return Set.of(METRIC_NAME); + } + + @Override + public String getChannel() { + return PrometheusExporterBindingConstants.CHANNEL_EVENT_COUNT; + } +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/HotspotMetric.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/HotspotMetric.java new file mode 100644 index 0000000000000..b8613fef68f06 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/HotspotMetric.java @@ -0,0 +1,112 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal.metrics; + +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.binding.prometheusexporter.internal.PrometheusExporterBindingConstants; + +import io.prometheus.client.CollectorRegistry; +import io.prometheus.client.hotspot.BufferPoolsExports; +import io.prometheus.client.hotspot.ClassLoadingExports; +import io.prometheus.client.hotspot.GarbageCollectorExports; +import io.prometheus.client.hotspot.MemoryAllocationExports; +import io.prometheus.client.hotspot.MemoryPoolsExports; +import io.prometheus.client.hotspot.StandardExports; +import io.prometheus.client.hotspot.ThreadExports; +import io.prometheus.client.hotspot.VersionInfoExports; + +/** + * The {@link HotspotMetric} class holds several JVM related metrics. + * + * @author Robert Bach - Initial contribution + */ +@NonNullByDefault +public class HotspotMetric implements PrometheusMetric { + + @Nullable + private StandardExports standardExportsCollector = null; + @Nullable + private MemoryPoolsExports memoryPoolsExportsCollector = null; + @Nullable + private MemoryAllocationExports memoryAllocationExportsCollector = null; + @Nullable + private BufferPoolsExports bufferPoolsExportsCollector = null; + @Nullable + private GarbageCollectorExports garbageCollectorExportsCollector = null; + @Nullable + private ThreadExports threadExportsCollector = null; + @Nullable + private ClassLoadingExports classLoadingExportsCollector = null; + @Nullable + private VersionInfoExports versionInfoExportsCollector = null; + + @Override + public synchronized PrometheusMetric startMeasurement() { + standardExportsCollector = new StandardExports(); + memoryPoolsExportsCollector = new MemoryPoolsExports(); + memoryAllocationExportsCollector = new MemoryAllocationExports(); + bufferPoolsExportsCollector = new BufferPoolsExports(); + garbageCollectorExportsCollector = new GarbageCollectorExports(); + threadExportsCollector = new ThreadExports(); + classLoadingExportsCollector = new ClassLoadingExports(); + versionInfoExportsCollector = new VersionInfoExports(); + standardExportsCollector.register(); + memoryPoolsExportsCollector.register(); + memoryAllocationExportsCollector.register(); + bufferPoolsExportsCollector.register(); + garbageCollectorExportsCollector.register(); + threadExportsCollector.register(); + classLoadingExportsCollector.register(); + versionInfoExportsCollector.register(); + return this; + } + + @Override + public void refresh() { + // handled internally + } + + @Override + public synchronized PrometheusMetric stopMeasurement() { + CollectorRegistry.defaultRegistry.unregister(standardExportsCollector); + CollectorRegistry.defaultRegistry.unregister(memoryPoolsExportsCollector); + CollectorRegistry.defaultRegistry.unregister(memoryAllocationExportsCollector); + CollectorRegistry.defaultRegistry.unregister(bufferPoolsExportsCollector); + CollectorRegistry.defaultRegistry.unregister(garbageCollectorExportsCollector); + CollectorRegistry.defaultRegistry.unregister(threadExportsCollector); + CollectorRegistry.defaultRegistry.unregister(classLoadingExportsCollector); + CollectorRegistry.defaultRegistry.unregister(versionInfoExportsCollector); + return this; + } + + @Override + public Set getMetricNames() { + return Set.of("process_cpu_seconds_total", "process_start_time_seconds", "process_open_fds", "process_max_fds", + "process_virtual_memory_bytes", "process_resident_memory_bytes", "jvm_memory_bytes_used", + "jvm_memory_bytes_committed", "jvm_memory_bytes_max", "jvm_memory_bytes_init", + "jvm_memory_pool_bytes_used", "jvm_memory_pool_bytes_committed", "jvm_memory_pool_bytes_max", + "jvm_memory_pool_bytes_init", "jvm_memory_pool_allocated_bytes_total", "jvm_buffer_pool_used_bytes", + "jvm_buffer_pool_capacity_bytes", "jvm_buffer_pool_used_buffers", "jvm_gc_collection_seconds", + "jvm_threads_current", "jvm_threads_daemon", "jvm_threads_peak", "jvm_threads_started_total", + "jvm_threads_deadlocked", "jvm_threads_deadlocked_monitor", "jvm_threads_state", "jvm_classes_loaded", + "jvm_classes_loaded_total", "jvm_classes_unloaded_total", "jvm_info"); + } + + @Override + public String getChannel() { + return PrometheusExporterBindingConstants.CHANNEL_JVM; + } +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/InboxCountMetric.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/InboxCountMetric.java new file mode 100644 index 0000000000000..5ad952dcecc89 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/InboxCountMetric.java @@ -0,0 +1,100 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal.metrics; + +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.binding.prometheusexporter.internal.PrometheusExporterBindingConstants; +import org.openhab.core.config.discovery.inbox.Inbox; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.prometheus.client.CollectorRegistry; +import io.prometheus.client.Gauge; + +/** + * The {@link InboxCountMetric} class implements a Gauge metric for the openHAB inbox count. + * + * @author Robert Bach - Initial contribution + */ +@NonNullByDefault +public class InboxCountMetric implements PrometheusMetric { + public static final String METRIC_NAME = "openhab_inbox_count"; + private final Logger logger = LoggerFactory.getLogger(InboxCountMetric.class); + + private final BundleContext bundleContext; + @Nullable + private Inbox inbox = null; + @Nullable + private ServiceReference serviceReference = null; + @Nullable + private static Gauge inboxCountGauge = null; + + public InboxCountMetric(BundleContext bundleContext) { + this.bundleContext = bundleContext; + } + + @Override + public synchronized PrometheusMetric startMeasurement() { + ServiceReference serviceReference = bundleContext.getServiceReference(Inbox.class); + if (serviceReference != null) { + this.inbox = bundleContext.getService(serviceReference); + logger.debug("Retrieved Inbox handle."); + } + if (inboxCountGauge == null) { + inboxCountGauge = Gauge.build(METRIC_NAME, "openHAB inbox count").register(); + } + return this; + } + + @Override + public synchronized PrometheusMetric stopMeasurement() { + if (serviceReference != null) { + bundleContext.ungetService(serviceReference); + this.serviceReference = null; + this.inbox = null; + } + if (inboxCountGauge != null) { + CollectorRegistry.defaultRegistry.unregister(inboxCountGauge); + inboxCountGauge = null; + } + return this; + } + + @Override + public Set getMetricNames() { + return Set.of(METRIC_NAME); + } + + @Override + public String getChannel() { + return PrometheusExporterBindingConstants.CHANNEL_INBOX_COUNT; + } + + @Override + public void refresh() { + if (inbox == null || inboxCountGauge == null) { + logger.debug("Skipping refresh request since measurement has not been started."); + return; + } + Gauge.Child child = new Gauge.Child(); + int inboxCount = inbox.getAll().size(); + logger.trace("Setting inbox count metric to {}", inboxCount); + child.set(inboxCount); + inboxCountGauge.setChild(child); + } +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/MonitoringEventSubscriber.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/MonitoringEventSubscriber.java new file mode 100644 index 0000000000000..bec18daaa415a --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/MonitoringEventSubscriber.java @@ -0,0 +1,82 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal.metrics; + +import java.util.HashSet; +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.core.events.Event; +import org.openhab.core.events.EventFilter; +import org.openhab.core.events.EventSubscriber; +import org.openhab.core.items.events.ItemCommandEvent; +import org.openhab.core.items.events.ItemStateEvent; +import org.osgi.service.component.annotations.Component; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.prometheus.client.CollectorRegistry; +import io.prometheus.client.Counter; + +/** + * The {@link MonitoringEventSubscriber} class subscribes to the event bus in order to feed corresponding metrics + * + * @author Robert Bach - Initial contribution + */ +@NonNullByDefault +@Component(service = { MonitoringEventSubscriber.class, EventSubscriber.class }) +public class MonitoringEventSubscriber implements EventSubscriber { + + private final Logger logger = LoggerFactory.getLogger(MonitoringEventSubscriber.class); + @Nullable + private Counter eventCounter = null; + + @Override + public Set getSubscribedEventTypes() { + HashSet subscribedEvents = new HashSet<>(); + subscribedEvents.add(ItemCommandEvent.TYPE); + subscribedEvents.add(ItemStateEvent.TYPE); + return subscribedEvents; + } + + @Override + public @Nullable EventFilter getEventFilter() { + return null; + } + + @Override + public void receive(Event event) { + if (eventCounter == null) { + logger.trace("Measurement not started. Skipping event processing"); + return; + } + String topic = event.getTopic(); + logger.debug("Received event on topic {}.", topic); + eventCounter.labels(topic).inc(); + } + + public synchronized void startMeasurement() { + if (eventCounter == null) { + eventCounter = Counter.build(EventCountMetric.METRIC_NAME, "openHAB event count").labelNames("topic") + .create().register(); + } + } + + public synchronized void stopMeasurement() { + if (eventCounter != null) { + CollectorRegistry.defaultRegistry.unregister(eventCounter); + eventCounter = null; + } + } +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/PrometheusMetric.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/PrometheusMetric.java new file mode 100644 index 0000000000000..ecaa3e4476628 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/PrometheusMetric.java @@ -0,0 +1,35 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal.metrics; + +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * The {@link PrometheusMetric} interface is an abstraction of all provided prometheus metrics + * + * @author Robert Bach - Initial contribution + */ +@NonNullByDefault +public interface PrometheusMetric { + PrometheusMetric startMeasurement(); + + void refresh(); + + PrometheusMetric stopMeasurement(); + + Set getMetricNames(); + + String getChannel(); +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/ThingStateMetric.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/ThingStateMetric.java new file mode 100644 index 0000000000000..2c90d1aed1272 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/ThingStateMetric.java @@ -0,0 +1,83 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal.metrics; + +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.binding.prometheusexporter.internal.PrometheusExporterBindingConstants; +import org.openhab.core.thing.ThingRegistry; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.prometheus.client.CollectorRegistry; +import io.prometheus.client.Gauge; + +/** + * The {@link ThingStateMetric} class implements a metric for the openHAB things states. + * + * @author Robert Bach - Initial contribution + */ +@NonNullByDefault +public class ThingStateMetric implements PrometheusMetric { + private final Logger logger = LoggerFactory.getLogger(ThingStateMetric.class); + public static final String METRIC_NAME = "openhab_thing_state"; + private final ThingRegistry thingRegistry; + @Nullable + private Gauge thingStateGauge = null; + + public ThingStateMetric(ThingRegistry thingRegistry) { + this.thingRegistry = thingRegistry; + } + + @Override + public synchronized PrometheusMetric startMeasurement() { + if (thingStateGauge == null) { + thingStateGauge = Gauge.build(METRIC_NAME, "openHAB Things state").labelNames("thing").register(); + } + return this; + } + + @Override + public void refresh() { + if (thingStateGauge == null) { + logger.debug("Skipping refresh request since measurement has not been started."); + return; + } + thingRegistry.getAll().parallelStream().forEach(thing -> { + Gauge.Child child = new Gauge.Child(); + child.set(thing.getStatus().ordinal()); + thingStateGauge.setChild(child, thing.getUID().getAsString()); + }); + } + + @Override + public synchronized PrometheusMetric stopMeasurement() { + if (thingStateGauge != null) { + CollectorRegistry.defaultRegistry.unregister(thingStateGauge); + thingStateGauge = null; + } + return this; + } + + @Override + public Set getMetricNames() { + return Set.of(METRIC_NAME); + } + + @Override + public String getChannel() { + return PrometheusExporterBindingConstants.CHANNEL_THING_STATE; + } +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/ThreadPoolGaugeInfo.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/ThreadPoolGaugeInfo.java new file mode 100644 index 0000000000000..454fe3f50de71 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/ThreadPoolGaugeInfo.java @@ -0,0 +1,70 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal.metrics; + +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.function.Function; + +/** + * The {@link ThreadPoolGaugeInfo} enum holds Gauges for thread pool figures to be used in the + * {@link ThreadPoolMetric} + * class. + * + * @author Robert Bach - Initial contribution + */ +enum ThreadPoolGaugeInfo { + OPENHAB_ACTIVE_THREADS_COUNT("openhab_pool_threads_count_active", + "approximate number of threads that are actively executing tasks", e -> Long.valueOf(e.getActiveCount())), + OPENHAB_THREAD_POOL_SIZE("openhab_pool_threads_count_current", "current number of threads in the pool", + e -> Long.valueOf(e.getPoolSize())), + OPENHAB_THREAD_POOL_COMPLETED_TASK_COUNT("openhab_pool_tasks_count_completed", + "approximate total number of tasks that have completed execution", + ThreadPoolExecutor::getCompletedTaskCount), + OPENHAB_LARGEST_THREAD_POOL_SIZE("openhab_pool_threads_count_largest", + "largest number of threads that have ever simultaneously been in the pool", + e -> Long.valueOf(e.getLargestPoolSize())), + OPENHAB_MAXIMUN_THREAD_POOL_SIZE("openhab_pool_size_max", "maximum allowed number of threads in the pool", + e -> Long.valueOf(e.getMaximumPoolSize())), + OPENHAB_THREAD_POOL_TASK_COUNT("openhab_pool_tasks_count_total", + "total number of tasks that have ever been scheduled for execution", ThreadPoolExecutor::getTaskCount), + OPENHAB_CORE_POOL_SIZE("openhab_pool_size", "regular number of threads in the pool", + e -> Long.valueOf(e.getCorePoolSize())), + OPENHAB_THREAD_POOL_QUEUE_SIZE("openhab_pool_queue_count", + "the number of tasks waiting to get executed by a thread", e -> Long.valueOf(e.getQueue().size())), + OPENHAB_KEEP_ALIVE_TIME("openhab_pool_keepalive_time_seconds", + "the amount of time that threads in excess of the regular pool size may remain idle before being terminated", + e -> e.getKeepAliveTime(TimeUnit.SECONDS)); + + private final String gaugeName; + private final String description; + private final Function extractor; + + ThreadPoolGaugeInfo(String gaugeName, String description, Function extractor) { + this.extractor = extractor; + this.gaugeName = gaugeName; + this.description = description; + } + + public String getGaugeName() { + return gaugeName; + } + + public String getDescription() { + return description; + } + + public Function getExtractor() { + return extractor; + } +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/ThreadPoolMetric.java b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/ThreadPoolMetric.java new file mode 100644 index 0000000000000..35d180a173baf --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/java/org/openhab/binding/prometheusexporter/internal/metrics/ThreadPoolMetric.java @@ -0,0 +1,103 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.prometheusexporter.internal.metrics; + +import java.util.HashMap; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.openhab.binding.prometheusexporter.internal.PrometheusExporterBindingConstants; +import org.openhab.core.common.ThreadPoolManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.prometheus.client.CollectorRegistry; +import io.prometheus.client.Gauge; + +/** + * The {@link ThreadPoolMetric} class implements metrics concerning openHAB thread pool figures + * + * @author Robert Bach - Initial contribution + */ +@NonNullByDefault +public class ThreadPoolMetric implements PrometheusMetric { + + private final Logger logger = LoggerFactory.getLogger(ThreadPoolMetric.class); + Map gauge2gaugeInfo = new HashMap<>(); + + @Override + public synchronized PrometheusMetric startMeasurement() { + if (gauge2gaugeInfo.isEmpty()) { + for (ThreadPoolGaugeInfo gaugeHolder : ThreadPoolGaugeInfo.values()) { + logger.debug("Registering prometheus thread pool metric {}.", gaugeHolder.getGaugeName()); + gauge2gaugeInfo.put(Gauge.build(gaugeHolder.getGaugeName(), gaugeHolder.getDescription()) + .labelNames("pool").register(), gaugeHolder); + } + } + return this; + } + + @Override + public synchronized PrometheusMetric stopMeasurement() { + if (!gauge2gaugeInfo.isEmpty()) { + for (Gauge gauge : gauge2gaugeInfo.keySet()) { + CollectorRegistry.defaultRegistry.unregister(gauge); + } + gauge2gaugeInfo.clear(); + } + return this; + } + + @Override + public void refresh() { + if (gauge2gaugeInfo.isEmpty()) { + logger.debug("Skipping refresh request since measurement has not been started."); + return; + } + try { + ThreadPoolManager.getPoolNames().forEach(this::addPoolMetrics); + } catch (NoSuchMethodError nsme) { + logger.info("A newer version of openHAB is required for thread pool metrics to work."); + } + } + + @Override + public Set getMetricNames() { + return Stream.of(ThreadPoolGaugeInfo.values()).map(ThreadPoolGaugeInfo::getGaugeName) + .collect(Collectors.toSet()); + } + + @Override + public String getChannel() { + return PrometheusExporterBindingConstants.CHANNEL_THREAD_POOLS; + } + + private void addPoolMetrics(String poolName) { + ExecutorService es = ThreadPoolManager.getPool(poolName); + if (es == null) { + return; + } + + for (Gauge gauge : gauge2gaugeInfo.keySet()) { + Gauge.Child child = new Gauge.Child(); + ThreadPoolGaugeInfo gaugeInfo = gauge2gaugeInfo.get(gauge); + child.set(gaugeInfo.getExtractor().apply((ThreadPoolExecutor) es)); + gauge.setChild(child, poolName); + } + } +} diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/resources/OH-INF/binding/binding.xml b/bundles/org.openhab.binding.prometheusexporter/src/main/resources/OH-INF/binding/binding.xml new file mode 100644 index 0000000000000..a5bf3bd99b8b0 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/resources/OH-INF/binding/binding.xml @@ -0,0 +1,9 @@ + + + + PrometheusExporter Binding + This is the binding for PrometheusExporter. + + diff --git a/bundles/org.openhab.binding.prometheusexporter/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.prometheusexporter/src/main/resources/OH-INF/thing/thing-types.xml new file mode 100644 index 0000000000000..7a86e0386dae1 --- /dev/null +++ b/bundles/org.openhab.binding.prometheusexporter/src/main/resources/OH-INF/thing/thing-types.xml @@ -0,0 +1,77 @@ + + + + + + Sample thing for PrometheusExporter Binding + + + + + + + + + + + + + + 60 + + Seconds + Interval for updating the metrics. Note that too small intervals might create a high load on the + system. + + + org.openhab + + Specifies the package prefix for the bundle state metric. Only bundles under this packages are included + in the metric for the bundle state. + + + + + + + prometheusexporterItem + + Metric for the state of openHABN bundles (bundles to include can be configured by the + bundleStateFilterPackage configuration parameter) + + + prometheusexporterItem + + Metric for the count of openHAB events + + + prometheusexporterItem + + Metrics for the state of the JVM + + + prometheusexporterItem + + Metric for the count of inbox items + + + prometheusexporterItem + + Metric for the state of openHAB things + + + prometheusexporterItem + + Metric for the state of the threadpools used by openHAB + + + prometheusexporterItem + + Get-it-all metric for convenience. + + + + diff --git a/bundles/pom.xml b/bundles/pom.xml index 394835617a4c7..9de18126685df 100644 --- a/bundles/pom.xml +++ b/bundles/pom.xml @@ -237,6 +237,7 @@ org.openhab.binding.plclogo org.openhab.binding.plugwise org.openhab.binding.powermax + org.openhab.binding.prometheusexporter org.openhab.binding.pulseaudio org.openhab.binding.pushbullet org.openhab.binding.pushover