Skip to content

Commit

Permalink
[#25] always look for registry when servicing requests
Browse files Browse the repository at this point in the history
  • Loading branch information
jbertram committed Feb 27, 2024
1 parent b0c5cf0 commit 1e0166f
Showing 1 changed file with 14 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,29 @@ public class ArtemisPrometheusMetricsPluginServlet extends HttpServlet {
private PrometheusMeterRegistry registry;

public ArtemisPrometheusMetricsPluginServlet() {
final Set<MeterRegistry> registries = Metrics.globalRegistry.getRegistries();
if (registries != null && !registries.isEmpty()) {
for (final MeterRegistry meterRegistry : registries) {
if (meterRegistry instanceof PrometheusMeterRegistry) {
registry = (PrometheusMeterRegistry) meterRegistry;
break;
locateRegistry();
}

private PrometheusMeterRegistry locateRegistry() {
if (registry == null) {
final Set<MeterRegistry> registries = Metrics.globalRegistry.getRegistries();
if (registries != null && !registries.isEmpty()) {
for (final MeterRegistry meterRegistry : registries) {
if (meterRegistry instanceof PrometheusMeterRegistry) {
registry = (PrometheusMeterRegistry) meterRegistry;
break;
}
}
}
}
return registry;
}

@Override
protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
resp.setStatus(HttpServletResponse.SC_OK);

if (registry == null) {
if (locateRegistry() == null) {
resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Prometheus meter registry is null. Has the Prometheus Metrics Plugin been configured?");
} else {
try (Writer writer = resp.getWriter()) {
Expand Down

0 comments on commit 1e0166f

Please sign in to comment.