package com.urbanairship.octobot;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.servlet.ServletContextHandler;
import com.yammer.metrics.reporting.MetricsServlet;
import org.apache.log4j.Logger;
public class Introspector implements Runnable {
private static final Logger logger = Logger.getLogger("Introspector");
public void run() {
/*HealthChecks.register(new RedisHealthcheck)
HealthChecks.register(new RabbitHealthcheck)
HealthChecks.register(new BeanstalkHealthcheck)*/
int port = Settings.getAsInt("Octobot", "metrics_port");
if (port < 1) port = 1228;
Server server = new Server(port);
ServletHolder holder = new ServletHolder(MetricsServlet.class);
ServletContextHandler context = new ServletContextHandler();
context.setContextPath("");
context.addServlet(holder, "/*");
server.setHandler(context);
logger.info("Introspector launching on port: " + port);
try {
server.start();
server.join();
}
catch (Exception e) {
logger.error("Introspector: Unable to listen on port: " + port +
". Introspector will be unavailable on this instance.");
}
}
}