2. Today we could add an extension mechanism exposing metrics and
> enabling exports.
>
> Concretely, takes a dropwizard MetricRegistry in, outputs metrics out.
>
> The downside is that we enforce the dropwizard choice onto out users,
> thus making it harder to change this component when required.
>

I'm not sure I understand the enforcing thing.

The metrics-api only has 3 implementations
- test which is not used for prod
- logs not sure how usable that is in production
- dropwizard metrics

when we have another implementation we can offer choice all I am aiming for
is an alternative to metrics-es-reporter-v7
I clearly don't understand the james extension mechanism :D


> > I would first attempt to implement the graphite/collectd reporter
> binding,
> > then look into opentelemetry since the former is supposed to be less work
> > than the latter.
> A lot less actually
> https://metrics.dropwizard.io/4.2.0/manual/collectd.html //
> https://metrics.dropwizard.io/3.1.0/manual/graphite/ :-)
>
> It should be trivial.


well my attempt at cloning metrics-es-reporter-v7 into a
metrics-influxdb-reporter didn't prove all that trivial but that may be
linked to both my lack of understanding of james and/or a particularly poor
reporter implementation for influxdb ( it was 3rd party not part of the
metrics core as graphite and collectd are)


> The hardest would be to keep the classpath of non
> collectd users clean, which could be achieved via an extension mechanism
> located into
> https://github.com/apache/james-project/tree/master/third-party. You
> would drop the JAR into extension-jars folder, register your metric
> reporter FQDN into extensions.properties and go. Even user supplied Jars
> would be supported.
>
 yeh that's something I don“t understand. This is not how the es reporter
is implemented, instead it is statically bound at compile time in the guice
container configuration
again I must be missing something
jean

Reply via email to