
this.reporters.forEach(it -> reporters.addBinding().toInstance(it.apply(registry, conf)));
</BUG>
binder.bind(MetricRegistryInitializer.class).asEagerSingleton();
<BUG>env.onStop(app -> app.require(MetricRegistryInitializer.class).close());
binder.bind(HealthCheckRegistry.class)
.toProvider(HealthCheckRegistryProvider.class)
.asEagerSingleton();</BUG>
bindings.forEach(it -> it.bind(binder, routes, conf));
this.routes.forEach(it -> it.accept(routes));

MetricHandler mhandler = new MetricHandler();
routes.use("GET", this.pattern + "/metrics", mhandler);
routes.use("GET", this.pattern + "/metrics/:type", mhandler);
routes.use("GET", this.pattern + "/healthcheck", new HealthCheckHandler());
Multibinder<Reporter> reporters = Multibinder.newSetBinder(binder, Reporter.class);
binder.bind(MetricRegistry.class).toInstance(metricRegistry);
this.reporters.forEach(it -> reporters.addBinding().toInstance(it.apply(metricRegistry, conf)));
binder.bind(MetricRegistryInitializer.class).asEagerSingleton();
env.onStop(app -> app.require(MetricRegistryInitializer.class).close());
binder.bind(HealthCheckRegistry.class).toInstance(healthCheckRegistry);
binder.bind(HealthCheckRegistryInitializer.class).asEagerSingleton();
bindings.forEach(it -> it.bind(binder, routes, conf));
this.routes.forEach(it -> it.accept(routes));
