RFC Title
To be Reviewed By: September 16, 2019
Authors: Dale Emery (demery@pivotal.io)
...
For example, Geode collects metrics in a meter registry, but does not publish them. A developer may wish to publish those metrics via HTTP, using a PrometheusMeterRegistry
or similar. Geode's existing HTTP server potentially offers a handy way to serve this information.
Solution
Give HttpService
a public interface for adding endpoints, and make the instance publicly accessible.
...
Rename the current HttpService
class as InternalHttpService
.
Create a new HttpService
public interface with methods like:
...
Let InternalHttpService
implement HttpService
to add the specified endpoints to its Jetty Server.
Add a getHttpService()
method to some public API, returning the InternalHttpService
instance as an HttpService
. (What is an appropriate candidate for this method?)
...