public static <T> T locate(Class<T> service) { List<T> services = locateAll(service); return services.isEmpty() ? null : services.get(0); }
@Override public void start() { String applicationName = settings.getApplicationName(); // Register optional metrics if (settings.getBoolean(Settings.Setting.metrics_jvm_enabled, false)) { registerAll("jvm.gc", new GarbageCollectorMetricSet()); registerAll("jvm.memory", new MemoryUsageGaugeSet()); registerAll("jvm.threads", new ThreadStatesGaugeSet()); registerAll("jvm.classes", new ClassLoadingGaugeSet()); log.debug("Registered JVM-Metrics integration"); } // MBeans for VisualVM, JConsole, or JMX if (settings.getBoolean(Settings.Setting.metrics_mbeans_enabled, false)) { JmxReporter reporter = JmxReporter.forRegistry(metricRegistry).inDomain(applicationName).build(); reporter.start(); reporters.add(reporter); log.debug("Started metrics MBeans reporter"); } // Add classpath reporters ServiceLocator.locateAll(MetricsReporter.class).forEach((reporter) -> { if (RequireUtil.allowInstance(settings, reporter)) { reporter.start(settings, metricRegistry); reporters.add(reporter); } }); }
@Override public void start() { String applicationName = settings.getApplicationName(); // Register optional metrics if (settings.getBoolean(Settings.Setting.metrics_jvm_enabled, false)) { registerAll("jvm.gc", new GarbageCollectorMetricSet()); registerAll("jvm.memory", new MemoryUsageGaugeSet()); registerAll("jvm.threads", new ThreadStatesGaugeSet()); registerAll("jvm.classes", new ClassLoadingGaugeSet()); log.debug("Registered JVM-Metrics integration"); } // MBeans for VisualVM, JConsole, or JMX if (settings.getBoolean(Settings.Setting.metrics_mbeans_enabled, false)) { JmxReporter reporter = JmxReporter.forRegistry(metricRegistry).inDomain(applicationName).build(); reporter.start(); reporters.add(reporter); log.debug("Started metrics MBeans reporter"); } // Add classpath reporters ServiceLocator.locateAll(MetricsReporter.class).forEach((reporter) -> { if (RequireUtil.allowInstance(settings, reporter)) { reporter.start(settings, metricRegistry); reporters.add(reporter); } }); }