io.micrometer.core.instrument.binder.jvm.JvmMemoryMetrics Java Examples

The following examples show how to use io.micrometer.core.instrument.binder.jvm.JvmMemoryMetrics. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CentralDogma.java    From centraldogma with Apache License 2.0 6 votes vote down vote up
private void configureMetrics(ServerBuilder sb, PrometheusMeterRegistry registry) {
    sb.meterRegistry(registry);
    sb.service(METRICS_PATH, new PrometheusExpositionService(registry.getPrometheusRegistry()));
    sb.decorator(MetricCollectingService.newDecorator(MeterIdPrefixFunction.ofDefault("api")));

    // Bind system metrics.
    new FileDescriptorMetrics().bindTo(registry);
    new ProcessorMetrics().bindTo(registry);
    new ClassLoaderMetrics().bindTo(registry);
    new UptimeMetrics().bindTo(registry);
    new DiskSpaceMetrics(cfg.dataDir()).bindTo(registry);
    new JvmGcMetrics().bindTo(registry);
    new JvmMemoryMetrics().bindTo(registry);
    new JvmThreadMetrics().bindTo(registry);

    // Bind global thread pool metrics.
    ExecutorServiceMetrics.monitor(registry, ForkJoinPool.commonPool(), "commonPool");
}
 
Example #2
Source File: HealthMeterRegistryTest.java    From micrometer with Apache License 2.0 6 votes vote down vote up
@Test
void applyRequiredBinders() {
    HealthMeterRegistry registry = HealthMeterRegistry.builder(HealthConfig.DEFAULT)
            .clock(new MockClock())
            .serviceLevelObjectives(
                    ServiceLevelObjective
                            .build("counter.throughput")
                            .requires(new JvmMemoryMetrics())
                            .value(search -> search.name("jvm.memory.used"))
                            .isGreaterThan(1)
            )
            .build();

    assertThat(registry.getMeters().stream().map(m -> m.getId().getName()))
            .containsOnly("jvm.memory.used")
            .isNotEmpty();
}
 
Example #3
Source File: MetricsManager.java    From activemq-artemis with Apache License 2.0 6 votes vote down vote up
public MetricsManager(String brokerName,
                      MetricsConfiguration metricsConfiguration,
                      HierarchicalRepository<AddressSettings> addressSettingsRepository) {
   this.brokerName = brokerName;
   meterRegistry = metricsConfiguration.getPlugin().getRegistry();
   Metrics.globalRegistry.add(meterRegistry);
   this.addressSettingsRepository = addressSettingsRepository;
   if (metricsConfiguration.isJvmMemory()) {
      new JvmMemoryMetrics().bindTo(meterRegistry);
   }
   if (metricsConfiguration.isJvmGc()) {
      new JvmGcMetrics().bindTo(meterRegistry);
   }
   if (metricsConfiguration.isJvmThread()) {
      new JvmThreadMetrics().bindTo(meterRegistry);
   }
}
 
Example #4
Source File: MicrometerMetricsExamples.java    From vertx-micrometer-metrics with Apache License 2.0 5 votes vote down vote up
public void instrumentJVM() {
  MeterRegistry registry = BackendRegistries.getDefaultNow();

  new ClassLoaderMetrics().bindTo(registry);
  new JvmMemoryMetrics().bindTo(registry);
  new JvmGcMetrics().bindTo(registry);
  new ProcessorMetrics().bindTo(registry);
  new JvmThreadMetrics().bindTo(registry);
}
 
Example #5
Source File: MetricsRegistry.java    From mewbase with MIT License 5 votes vote down vote up
static void ensureRegistry() {

        if ( globalRegistry.getRegistries().isEmpty() ) addRegistry(new SimpleMeterRegistry());

        new ClassLoaderMetrics().bindTo(globalRegistry);
        new JvmMemoryMetrics().bindTo(globalRegistry);
        new JvmGcMetrics().bindTo(globalRegistry);
        new ProcessorMetrics().bindTo(globalRegistry);
        new JvmThreadMetrics().bindTo(globalRegistry);

    }
 
Example #6
Source File: StatsProviderImpl.java    From pravega with Apache License 2.0 5 votes vote down vote up
@Synchronized
private void init() {
    new JvmMemoryMetrics().bindTo(metrics);
    new JvmGcMetrics().bindTo(metrics);
    new ProcessorMetrics().bindTo(metrics);
    new JvmThreadMetrics().bindTo(metrics);
}
 
Example #7
Source File: JvmMetricsConfig.java    From dhis2-core with BSD 3-Clause "New" or "Revised" License 5 votes vote down vote up
@Autowired
public void bindToRegistry( MeterRegistry registry, JvmGcMetrics jvmGcMetrics, JvmMemoryMetrics jvmMemoryMetrics,
    JvmThreadMetrics jvmThreadMetrics, ClassLoaderMetrics classLoaderMetrics )
{
    jvmGcMetrics.bindTo( registry );
    jvmMemoryMetrics.bindTo( registry );
    jvmThreadMetrics.bindTo( registry );
    classLoaderMetrics.bindTo( registry );
}
 
Example #8
Source File: MetricsModule.java    From che with Eclipse Public License 2.0 5 votes vote down vote up
@Override
protected void configure() {
  bind(MetricsServer.class).asEagerSingleton();
  bind(MetricsBinder.class).asEagerSingleton();
  bind(CollectorRegistry.class).toInstance(CollectorRegistry.defaultRegistry);
  bind(PrometheusMeterRegistry.class)
      .toProvider(PrometheusMeterRegistryProvider.class)
      .asEagerSingleton();
  bind(MeterRegistry.class).to(PrometheusMeterRegistry.class);

  Multibinder<MeterBinder> meterMultibinder =
      Multibinder.newSetBinder(binder(), MeterBinder.class);
  meterMultibinder.addBinding().to(ClassLoaderMetrics.class);
  meterMultibinder.addBinding().to(JvmMemoryMetrics.class);
  meterMultibinder.addBinding().to(JvmGcMetrics.class);
  meterMultibinder.addBinding().to(JvmThreadMetrics.class);
  meterMultibinder.addBinding().to(LogbackMetrics.class);
  meterMultibinder.addBinding().to(FileDescriptorMetrics.class);
  meterMultibinder.addBinding().to(ProcessorMetrics.class);
  meterMultibinder.addBinding().to(UptimeMetrics.class);
  meterMultibinder.addBinding().to(FileStoresMeterBinder.class);
  meterMultibinder.addBinding().to(ApiResponseCounter.class);
  meterMultibinder.addBinding().to(ProcessMemoryMetrics.class);
  meterMultibinder.addBinding().to(ProcessThreadMetrics.class);

  bind(EventListener.class).toProvider(OkHttpMetricsEventListenerProvider.class);
}
 
Example #9
Source File: MetricsModule.java    From dolphin-platform with Apache License 2.0 5 votes vote down vote up
@Override
public void initialize(final ServerCoreComponents coreComponents) {
    final PlatformConfiguration configuration = coreComponents.getConfiguration();
    final ServletContext servletContext = coreComponents.getInstance(ServletContext.class);

    if(!configuration.getBooleanProperty(METRICS_NOOP_PROPERTY, true)) {

        final PrometheusMeterRegistry prometheusRegistry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);

        final List<Tag> tagList = TagUtil.convertTags(ContextManagerImpl.getInstance().getGlobalContexts());

        new ClassLoaderMetrics(tagList).bindTo(prometheusRegistry);
        new JvmMemoryMetrics(tagList).bindTo(prometheusRegistry);
        new JvmGcMetrics(tagList).bindTo(prometheusRegistry);
        new ProcessorMetrics(tagList).bindTo(prometheusRegistry);
        new JvmThreadMetrics(tagList).bindTo(prometheusRegistry);

        servletContext.addFilter(METRICS_SERVLET_FILTER_NAME, new RequestMetricsFilter())
                .addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, ALL_URL_MAPPING);

        servletContext.addListener(new MetricsHttpSessionListener());

        servletContext.addServlet(METRICS_SERVLET_NAME, new MetricsServlet(prometheusRegistry))
                .addMapping(configuration.getProperty(METRICS_ENDPOINT_PROPERTY));

        MetricsImpl.getInstance().init(prometheusRegistry);
    }
}
 
Example #10
Source File: JVMAutoConfiguration.java    From summerframework with Apache License 2.0 4 votes vote down vote up
@Bean
@ConditionalOnMissingBean
public JvmMemoryMetrics jvmMemoryMetrics(PlatformTag platformTag) {
    return new JvmMemoryMetrics(platformTag.getTags());
}
 
Example #11
Source File: MetricsAutoConfiguration.java    From foremast with Apache License 2.0 4 votes vote down vote up
@Bean
public JvmMemoryMetrics jvmMemoryMetrics() {
    return new JvmMemoryMetrics();
}
 
Example #12
Source File: PrometheusSample.java    From micrometer with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    PrometheusMeterRegistry meterRegistry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);

    // add any tags here that will apply to all metrics streaming from this app
    // (e.g. EC2 region, stack, instance id, server group)
    meterRegistry.config().commonTags("app", "javalin-sample");

    new JvmGcMetrics().bindTo(meterRegistry);
    new JvmHeapPressureMetrics().bindTo(meterRegistry);
    new JvmMemoryMetrics().bindTo(meterRegistry);
    new ProcessorMetrics().bindTo(meterRegistry);
    new FileDescriptorMetrics().bindTo(meterRegistry);

    Javalin app = Javalin.create(config -> config.registerPlugin(new MicrometerPlugin(meterRegistry))).start(8080);

    // must manually delegate to Micrometer exception handler for excepton tags to be correct
    app.exception(IllegalArgumentException.class, (e, ctx) -> {
        MicrometerPlugin.EXCEPTION_HANDLER.handle(e, ctx);
        e.printStackTrace();
    });

    app.get("/", ctx -> ctx.result("Hello World"));
    app.get("/hello/:name", ctx -> ctx.result("Hello: " + ctx.pathParam("name")));
    app.get("/boom", ctx -> {
        throw new IllegalArgumentException("boom");
    });

    app.routes(() -> {
        path("hi", () -> {
            get(":name", ctx -> ctx.result("Hello: " + ctx.pathParam("name")));
        });
    });

    app.after("/hello/*", ctx -> {
        System.out.println("hello");
    });

    app.get("/prometheus", ctx -> ctx
            .contentType(TextFormat.CONTENT_TYPE_004)
            .result(meterRegistry.scrape()));
}
 
Example #13
Source File: JvmMemorySample.java    From micrometer with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    MeterRegistry registry = SampleConfig.myMonitoringSystem();
    new JvmMemoryMetrics().bindTo(registry);
    Flux.never().blockLast();
}
 
Example #14
Source File: JvmMetricsConfig.java    From dhis2-core with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
@Bean
public JvmMemoryMetrics jvmMemoryMetrics()
{
    return new JvmMemoryMetrics();
}
 
Example #15
Source File: MeterBindersConfiguration.java    From molgenis with GNU Lesser General Public License v3.0 4 votes vote down vote up
@Bean
public JvmMemoryMetrics jvmMemoryMetrics() {
  return new JvmMemoryMetrics();
}