类io.prometheus.client.exporter.MetricsServlet源码实例Demo

下面列出了怎么用io.prometheus.client.exporter.MetricsServlet的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: arcusplatform   文件: IrisMetricsExporter.java
@PostConstruct
public void start() {
   logger.info("Starting metrics server on port {}", config.getMetricsHttpPort());

   this.executor.execute(() -> {
      Server server = new Server(this.config.getMetricsHttpPort());
      ServletContextHandler context = new ServletContextHandler();
      context.setContextPath("/");
      server.setHandler(context);
      context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");

      try {
         server.start();
         server.join();
      } catch (Exception e) { // server.start throws Exception, so can't be more general here.
         logger.error("Failed to start metrics exporter", e);
      }
   });
}
 
源代码2 项目: java_examples   文件: JavaSimple.java
public static void main( String[] args ) throws Exception {
    Server server = new Server(1234);
    ServletContextHandler context = new ServletContextHandler();
    context.setContextPath("/");
    server.setHandler(context);
    // Expose our example servlet.
    context.addServlet(new ServletHolder(new ExampleServlet()), "/");
    // Expose Promtheus metrics.
    context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");
    // Add metrics about CPU, JVM memory etc.
    DefaultExports.initialize();


    // Start the webserver.
    server.start();
    server.join();
}
 
源代码3 项目: java_examples   文件: JavaDropwizard.java
public static void main( String[] args ) throws Exception {
    // Increment the counter.
    counter.inc();

    // Hook the Dropwizard registry into the Prometheus registry
    // via the DropwizardExports collector.
    CollectorRegistry.defaultRegistry.register(new DropwizardExports(metrics));


    // Expose Prometheus metrics.
    Server server = new Server(1234);
    ServletContextHandler context = new ServletContextHandler();
    context.setContextPath("/");
    server.setHandler(context);
    context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");
    // Add metrics about CPU, JVM memory etc.
    DefaultExports.initialize();
    // Start the webserver.
    server.start();
    server.join();
}
 
源代码4 项目: pulsar   文件: ZooKeeperStarter.java
protected static void start(String[] args, String defaultStatsPort) throws Exception {
    // Register basic JVM metrics
    DefaultExports.initialize();

    // Start Jetty to serve stats
    int port = Integer.parseInt(System.getProperties().getProperty("stats_server_port", defaultStatsPort));

    log.info("Starting ZK stats HTTP server at port {}", port);
    InetSocketAddress httpEndpoint = InetSocketAddress.createUnresolved("0.0.0.0", port);

    Server server = new Server(httpEndpoint);
    ServletContextHandler context = new ServletContextHandler();
    context.setContextPath("/");
    server.setHandler(context);
    context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");
    try {
        server.start();
    } catch (Exception e) {
        log.error("Failed to start HTTP server at port {}. Use \"-Dstats_server_port=1234\" to change port number",
                port, e);
        throw e;
    }

    // Start the regular ZooKeeper server
    QuorumPeerMain.main(args);
}
 
源代码5 项目: pulsar   文件: ProxyServiceStarter.java
public static void addWebServerHandlers(WebServer server,
                                 ProxyConfiguration config,
                                 ProxyService service,
                                 BrokerDiscoveryProvider discoveryProvider) {
    server.addServlet("/metrics", new ServletHolder(MetricsServlet.class), Collections.emptyList(), config.isAuthenticateMetricsEndpoint());
    server.addRestResources("/", VipStatus.class.getPackage().getName(),
            VipStatus.ATTRIBUTE_STATUS_FILE_PATH, config.getStatusFilePath());
    server.addRestResources("/proxy-stats", ProxyStats.class.getPackage().getName(), ProxyStats.ATTRIBUTE_PULSAR_PROXY_NAME, service);

    AdminProxyHandler adminProxyHandler = new AdminProxyHandler(config, discoveryProvider);
    ServletHolder servletHolder = new ServletHolder(adminProxyHandler);
    servletHolder.setInitParameter("preserveHost", "true");
    server.addServlet("/admin", servletHolder);
    server.addServlet("/lookup", servletHolder);

    for (ProxyConfiguration.HttpReverseProxyConfig revProxy : config.getHttpReverseProxyConfigs()) {
        log.debug("Adding reverse proxy with config {}", revProxy);
        ServletHolder proxyHolder = new ServletHolder(ProxyServlet.Transparent.class);
        proxyHolder.setInitParameter("proxyTo", revProxy.getProxyTo());
        proxyHolder.setInitParameter("prefix", "/");
        server.addServlet(revProxy.getPath(), proxyHolder);
    }
}
 
源代码6 项目: kruize   文件: Kruize.java
private static void addServlets(ServletContextHandler context)
{
    context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");
    context.addServlet(RecommendationsService.class, "/recommendations");
    context.addServlet(ListApplicationsService.class, "/listApplications");
    context.addServlet(HealthService.class, "/health");
}
 
源代码7 项目: osgi-best-practices   文件: TaskApp.java
@Override
public Set<Object> getSingletons() {
    return Set.of(
            taskResource,
            new MetricsServlet(registry),
            new OpenApiResource());
}
 
源代码8 项目: hellokoding-courses   文件: HealthCheckExporter.java
public void export() throws Exception {
    CollectorRegistry.defaultRegistry.register(this.healthChecksCollector);

    Server server = new Server(8080);
    ServletContextHandler context = new ServletContextHandler();
    context.setContextPath("/");
    server.setHandler(context);

    context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");
    DefaultExports.initialize();

    server.start();
    server.join();
}
 
@Override
public void onStartup(ServletContext servletContext) {

    if (jHipsterProperties.getMetrics().getPrometheus().isEnabled()) {
        String endpoint = jHipsterProperties.getMetrics().getPrometheus().getEndpoint();

        log.debug("Initializing prometheus metrics exporting via {}", endpoint);

        CollectorRegistry.defaultRegistry.register(new DropwizardExports(metricRegistry));
        servletContext
            .addServlet("prometheusMetrics", new MetricsServlet(CollectorRegistry.defaultRegistry))
            .addMapping(endpoint);
    }
}
 
源代码10 项目: javametrics   文件: MetricsContextListener.java
@Override
public void contextInitialized(ServletContextEvent event) {
    // Uncomment the next line to enable the default hotspot events.
    // DefaultExports.initialize();

    metrics = new Metrics();
    ServletContext context = event.getServletContext();
    context.addServlet("Metrics", new MetricsServlet()).addMapping("");
}
 
源代码11 项目: shipping   文件: PrometheusAutoConfiguration.java
@Bean
@ConditionalOnMissingBean(name = "prometheusMetricsServletRegistrationBean")
ServletRegistrationBean prometheusMetricsServletRegistrationBean(@Value("${prometheus.metrics" +
        ".path:/metrics}") String metricsPath) {
    DefaultExports.initialize();
    return new ServletRegistrationBean(new MetricsServlet(), metricsPath);
}
 
源代码12 项目: cineast   文件: PrometheusServer.java
public static synchronized void initialize() {
  if (initalized) {
    LOGGER.info("Prometheus already initalized");
    return;
  }
  if (!Config.sharedConfig().getMonitoring().enablePrometheus) {
    LOGGER.info("Prometheus monitoring not enabled");
    return;
  }
  DefaultExports.initialize();
  Integer port = Config.sharedConfig().getMonitoring().prometheusPort;
  LOGGER.info("Initalizing Prometheus endpoint at port {}", port);
  server = Optional.of(new Server(port));
  ServletContextHandler context = new ServletContextHandler();
  context.setContextPath("/");
  server.get().setHandler(context);
  context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");
  PrometheusExtractionTaskMonitor.init();
  ImportTaskMonitor.init();
  DatabaseHealthMonitor.init();
  RetrievalTaskMonitor.init();
  try {
    server.get().start();
  } catch (Exception e) {
    e.printStackTrace();
  }
  initalized = true;
}
 
源代码13 项目: ehcache3-samples   文件: MetricsConfiguration.java
@Override
public void onStartup(ServletContext servletContext) {

    if (jHipsterProperties.getMetrics().getPrometheus().isEnabled()) {
        String endpoint = jHipsterProperties.getMetrics().getPrometheus().getEndpoint();

        log.debug("Initializing prometheus metrics exporting via {}", endpoint);

        CollectorRegistry.defaultRegistry.register(new DropwizardExports(metricRegistry));
        servletContext
            .addServlet("prometheusMetrics", new MetricsServlet(CollectorRegistry.defaultRegistry))
            .addMapping(endpoint);
    }
}
 
源代码14 项目: orders   文件: PrometheusAutoConfiguration.java
@Bean
@ConditionalOnMissingBean(name = "prometheusMetricsServletRegistrationBean")
ServletRegistrationBean prometheusMetricsServletRegistrationBean(@Value("${prometheus.metrics" +
        ".path:/metrics}") String metricsPath) {
    DefaultExports.initialize();
    return new ServletRegistrationBean(new MetricsServlet(), metricsPath);
}
 
源代码15 项目: cloudwatch_exporter   文件: WebServer.java
public static void main(String[] args) throws Exception {
    if (args.length < 2) {
        System.err.println("Usage: WebServer <port> <yml configuration file>");
        System.exit(1);
    }

    configFilePath = args[1];
    CloudWatchCollector collector = null;
    FileReader reader = null;

    try {
      reader = new FileReader(configFilePath);
      collector = new CloudWatchCollector(new FileReader(configFilePath)).register();
    } finally {
      if (reader != null) {
        reader.close();
      }
    }

    ReloadSignalHandler.start(collector);

    int port = Integer.parseInt(args[0]);
    Server server = new Server(port);
    ServletContextHandler context = new ServletContextHandler();
    context.setContextPath("/");
    server.setHandler(context);
    context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");
    context.addServlet(new ServletHolder(new DynamicReloadServlet(collector)), "/-/reload");
    context.addServlet(new ServletHolder(new HealthServlet()), "/-/healthy");
    context.addServlet(new ServletHolder(new HealthServlet()), "/-/ready");
    context.addServlet(new ServletHolder(new HomePageServlet()), "/");
    server.start();
    server.join();
}
 
源代码16 项目: karaf-decanter   文件: PrometheusServlet.java
@Activate
public void activate(ComponentContext componentContext) throws Exception {
    if (componentContext.getProperties().get("alias") != null) {
        alias = componentContext.getProperties().get("alias").toString();
    }
    httpService.registerServlet(alias, new MetricsServlet(), null, null);
}
 
源代码17 项目: cloudwatch_exporter   文件: WebServer.java
public static void main(String[] args) throws Exception {
    if (args.length < 2) {
        System.err.println("Usage: WebServer <port> <yml configuration file>");
        System.exit(1);
    }

    configFilePath = args[1];
    CloudWatchCollector collector = null;
    FileReader reader = null;

    try {
      reader = new FileReader(configFilePath);
      collector = new CloudWatchCollector(new FileReader(configFilePath)).register();
    } finally {
      if (reader != null) {
        reader.close();
      }
    }

    ReloadSignalHandler.start(collector);

    int port = Integer.parseInt(args[0]);
    Server server = new Server(port);
    ServletContextHandler context = new ServletContextHandler();
    context.setContextPath("/");
    server.setHandler(context);
    context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");
    context.addServlet(new ServletHolder(new DynamicReloadServlet(collector)), "/-/reload");
    context.addServlet(new ServletHolder(new HealthServlet()), "/-/healthy");
    context.addServlet(new ServletHolder(new HealthServlet()), "/-/ready");
    context.addServlet(new ServletHolder(new HomePageServlet()), "/");
    server.start();
    server.join();
}
 
源代码18 项目: onos   文件: PrometheusTelemetryManager.java
@Override
public boolean start(String name) {
    boolean success = false;
    TelemetryConfig config = telemetryConfigService.getConfig(name);
    PrometheusTelemetryConfig prometheusConfig = fromTelemetryConfig(config);

    if (prometheusConfig != null && !config.name().equals(PROMETHEUS_SCHEME) &&
            config.status() == ENABLED) {
        try {
            // TODO  Offer a 'Authentication'
            Server prometheusExporter = new Server(prometheusConfig.port());
            ServletContextHandler context = new ServletContextHandler();
            context.setContextPath("/");
            prometheusExporter.setHandler(context);
            context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");

            log.info("Prometheus server start");

            prometheusExporter.start();

            prometheusExporters.put(name, prometheusExporter);

            success = true;

        } catch (Exception ex) {
            log.warn("Failed to start prometheus server due to {}", ex);
        }
    }

    return success;
}
 
源代码19 项目: client_java   文件: ExampleExporter.java
public static void main(String[] args) throws Exception {
  DefaultExports.initialize();
  Server server = new Server(1234);
  ServletContextHandler context = new ServletContextHandler();
  context.setContextPath("/");
  server.setHandler(context);
  context.addServlet(new ServletHolder(new MetricsServlet()), "/metrics");
  server.start();
  server.join();
}
 
源代码20 项目: feast   文件: InstrumentationConfig.java
@Bean
public ServletRegistrationBean servletRegistrationBean() {
  DefaultExports.initialize();
  return new ServletRegistrationBean(new MetricsServlet(), "/metrics");
}
 
@Bean
@ConditionalOnProperty(name="OPENTRACING_METRICS_EXPORTER_HTTP_PATH")
ServletRegistrationBean registerPrometheusExporterServlet() {
    return new ServletRegistrationBean(new MetricsServlet(collectorRegistry), metricsPath);
}
 
源代码22 项目: sqs-exporter   文件: Application.java
private void go() throws Exception {
	DefaultExports.initialize();
	new Sqs().register();

	Server server = new Server(9384);

	ServletHandler handler = new ServletHandler();
	server.setHandler(handler);
	handler.addServletWithMapping(IndexServlet.class, "/");
	handler.addServletWithMapping(MetricsServlet.class, "/metrics");
	handler.addFilterWithMapping(DisableMethodsFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));

	server.start();

	logger.info("Exporter has started.");
	startup.inc();
	
	HttpGenerator.setJettyVersion("");

	server.join();

}
 
源代码23 项目: dremio-oss   文件: Metrics.java
/**
 * Creates a custom Prometheus Collector registry, registers
 * the dropwizard metrics with this registry, and attaches
 * it to a MetricsServlet, which is returned to the caller.
 */
public static Servlet createMetricsServlet() {
  CollectorRegistry registry = new CollectorRegistry();
  registry.register(new DropwizardExports(RegistryHolder.REGISTRY));
  return new MetricsServlet(registry);
}
 
源代码24 项目: modeldb   文件: App.java
@Bean
public ServletRegistrationBean<MetricsServlet> servletRegistrationBean() {
  DefaultExports.initialize();
  return new ServletRegistrationBean<>(new MetricsServlet(), "/metrics");
}
 
源代码25 项目: feast   文件: MonitoringConfig.java
/**
 * Add Prometheus exposition to an existing HTTP server using servlets.
 *
 * <p>https://github.com/prometheus/client_java/tree/b61dd232a504e20dad404a2bf3e2c0b8661c212a#http
 *
 * @return HTTP servlet for returning metrics data
 */
@Bean
public ServletRegistrationBean<HttpServlet> metricsServlet() {
  return new ServletRegistrationBean<>(new MetricsServlet(), PROMETHEUS_METRICS_PATH);
}