001package io.prometheus.jmx;
002
003import io.prometheus.client.exporter.MetricsServlet;
004import java.io.FileReader;
005import org.eclipse.jetty.server.Server;
006import org.eclipse.jetty.servlet.ServletContextHandler;
007import org.eclipse.jetty.servlet.ServletHolder;
008
009public class WebServer {
010   public static void main(String[] args) throws Exception {
011     if (args.length < 2) {
012       System.err.println("Usage: WebServer <port> <json configuration file>");
013       System.exit(1);
014     }
015     JmxCollector jc = new JmxCollector(new FileReader(args[1])).register();
016
017     int port = Integer.parseInt(args[0]);
018     Server server = new Server(port);
019     ServletContextHandler context = new ServletContextHandler();
020     context.setContextPath("/");
021     server.setHandler(context);
022     context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");
023     server.start();
024     server.join();
025   }
026}