Benoit Tellier created JAMES-3405:
-------------------------------------
Summary: Expose metrics over HTTP
Key: JAMES-3405
URL: https://issues.apache.org/jira/browse/JAMES-3405
Project: James Server
Issue Type: Improvement
Components: guice, Metrics, webadmin
Reporter: Benoit Tellier
Fix For: 3.6.0
= Why ?
I want to export James metrics to prometheus.
This modern metric stack relies on pulling (prometheus collects the metrics)
instead of pushing.
This need had been expressed by [~ieugen] here:
https://github.com/ieugen/james-self-hosting-sandbox/issues/20
= How ?
With the https://github.com/prometheus/client_java dependency expose that as
part of a `webadmin-metrics` Unauthentictated endpoint.
Adapt content at
https://github.com/prometheus/client_java/blob/master/simpleclient_servlet/src/main/java/io/prometheus/client/exporter/MetricsServlet.java
Be aware that there is some conversion format to be done here:
{code:java}
CollectorRegistry collectorRegistry = CollectorRegistry.defaultRegistry;
new DropwizardExports(environment.metrics()).register(collectorRegistry);
new MetricsServlet(collectorRegistry)
{code}
Source
https://stackoverflow.com/questions/53408121/which-metrics-are-exported-by-dropwizardmetrics-prometheus-client
= Definition of done
{code:java}
As an admin,
I have an HTTP endpoint
Exposing metrics with the prometheus format
{code}
Scope: all guice products
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]