Wire in MetricsReporter to FrontendServlet

This work is identical to the work done for BackendServlet in
[]

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=132100448
This commit is contained in:
shikhman 2016-09-02 13:57:11 -07:00 committed by Ben McIlwain
parent c75ab37dab
commit 180240ae04
6 changed files with 72 additions and 0 deletions

View file

@ -18,11 +18,15 @@ import static java.util.Arrays.asList;
import com.google.common.base.Function;
import com.google.common.collect.FluentIterable;
import google.registry.monitoring.metrics.MetricReporter;
import google.registry.request.RequestHandler;
import google.registry.request.RequestModule;
import google.registry.util.FormattingLogger;
import java.io.IOException;
import java.lang.reflect.Method;
import java.security.Security;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@ -32,6 +36,8 @@ import org.bouncycastle.jce.provider.BouncyCastleProvider;
public final class FrontendServlet extends HttpServlet {
private static final FrontendComponent component = DaggerFrontendComponent.create();
private static final MetricReporter metricReporter = component.metricReporter();
private static final FormattingLogger logger = FormattingLogger.getLoggerForCallerClass();
private static final RequestHandler<FrontendRequestComponent> requestHandler =
RequestHandler.create(FrontendRequestComponent.class, FluentIterable
@ -46,6 +52,23 @@ public final class FrontendServlet extends HttpServlet {
@Override
public void init() {
Security.addProvider(new BouncyCastleProvider());
try {
metricReporter.startAsync().awaitRunning(10, TimeUnit.SECONDS);
logger.info("Started up MetricReporter");
} catch (TimeoutException timeoutException) {
logger.severefmt("Failed to initialize MetricReporter: %s", timeoutException);
}
}
@Override
public void destroy() {
try {
metricReporter.stopAsync().awaitTerminated(10, TimeUnit.SECONDS);
logger.info("Shut down MetricReporter");
} catch (TimeoutException timeoutException) {
logger.severefmt("Failed to stop MetricReporter: %s", timeoutException);
}
}
@Override