package io.dropwizard.metrics.servlet; import io.dropwizard.metrics.MetricRegistry; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; /** * A listener implementation which injects a {@link MetricRegistry} instance into the servlet * context. Implement {@link #getMetricRegistry()} to return the {@link MetricRegistry} for your * application. */ public abstract class InstrumentedFilterContextListener implements ServletContextListener { /** * @return the {@link MetricRegistry} to inject into the servlet context. */ protected abstract MetricRegistry getMetricRegistry(); @Override public void contextInitialized(ServletContextEvent sce) { sce.getServletContext().setAttribute(InstrumentedFilter.REGISTRY_ATTRIBUTE, getMetricRegistry()); } @Override public void contextDestroyed(ServletContextEvent sce) { } }