@PostConstruct public void init() { log.debug("Registering JVM gauges"); metricRegistry.register(PROP_METRIC_REG_JVM_MEMORY, new MemoryUsageGaugeSet()); metricRegistry.register(PROP_METRIC_REG_JVM_GARBAGE, new GarbageCollectorMetricSet()); metricRegistry.register(PROP_METRIC_REG_JVM_THREADS, new ThreadStatesGaugeSet()); metricRegistry.register(PROP_METRIC_REG_JVM_FILES, new FileDescriptorRatioGauge()); metricRegistry.register(PROP_METRIC_REG_JVM_BUFFERS, new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer())); if (jHipsterProperties.getMetrics().getJmx().isEnabled()) { log.debug("Initializing Metrics JMX reporting"); JmxReporter jmxReporter = JmxReporter.forRegistry(metricRegistry).build(); jmxReporter.start(); } if (jHipsterProperties.getMetrics().getLogs().isEnabled()) { log.info("Initializing Metrics Log reporting"); final Slf4jReporter reporter = Slf4jReporter.forRegistry(metricRegistry) .outputTo(LoggerFactory.getLogger("metrics")) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); reporter.start(jHipsterProperties.getMetrics().getLogs().getReportFrequency(), TimeUnit.SECONDS); } }
@Override public void configureReporters(final MetricRegistry metricRegistry) { final Logger perfStatsLogger = LoggerFactory.getLogger(casProperties.getMetrics().getLoggerName()); registerReporter(Slf4jReporter .forRegistry(metricRegistry) .outputTo(perfStatsLogger) .convertRatesTo(TimeUnit.MILLISECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build()) .start(casProperties.getMetrics().getRefreshInterval(), TimeUnit.SECONDS); registerReporter(JmxReporter .forRegistry(metricRegistry) .build()); }
protected void startMetricReporters(int metricsReportingInterval, int graphitePort, String graphiteHostname, MetricRegistry metricRegistry) { if (shouldCreateLoggingMetricsReporter()) { registerReporter(Slf4jReporter.forRegistry(metricRegistry) .convertDurationsTo(MILLISECONDS) .convertRatesTo(SECONDS) .withLoggingLevel(TRACE) .outputTo(getLogger(ReverseProxyFilter.class)) .build() ).start(metricsReportingInterval, SECONDS); } if (shouldCreateGraphiteMetricsReporter()) { Graphite graphite = new Graphite(graphiteHostname, graphitePort); registerReporter(GraphiteReporter.forRegistry(metricRegistry) .convertDurationsTo(MILLISECONDS) .convertRatesTo(SECONDS) .build(graphite) ).start(metricsReportingInterval, SECONDS); } }
/** * Creates a {@link DropwizardMetricRegistry} with an {@link Slf4jReporter}. Only non-zero metrics * will be logged to the {@link Slf4jReporter}. * * @param registry The registry on which to add the reporter. * @param logger The {@link Logger} to report to * @param period the amount of time between polls * @param unit the unit for {@code period} */ public static void createSlf4jReporter(DropwizardMetricRegistry registry, Logger logger, long period, TimeUnit unit) { MetricFilter nonZeroMatcher = new MetricFilter() { @Override public boolean matches(String name, Metric metric) { if (metric instanceof Counting) { Counting counter = (Counting) metric; return counter.getCount() > 0; } return true; } }; Slf4jReporter.forRegistry(registry.getRegistry()) .outputTo(logger) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .filter(nonZeroMatcher) .build() .start(period, unit); }
@Override public void run(DemoConfiguration config, Environment env) throws Exception { DemoProducer producer = new DemoProducer(config.getKafkaConfig(), env.metrics()); DemoConsumer consumer = new DemoConsumer(config.getKafkaConfig(), env.metrics()); env.lifecycle().manage(producer); env.lifecycle().manage(consumer); env.jersey().register(DeclarativeLinkingFeature.class); env.jersey().register(new DemoResource(producer, consumer)); final Slf4jReporter reporter = Slf4jReporter.forRegistry(env.metrics()) .outputTo(LOG) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); reporter.start(1, TimeUnit.MINUTES); }
@Override public void configureReporters(MetricRegistry metricRegistry) { registerReporter(Slf4jReporter.forRegistry(metricRegistry) .outputTo(LoggerFactory.getLogger("metrics")) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build()).start(1, TimeUnit.MINUTES); // set DNS ttl to 60 per Hosted Graphite documentation java.security.Security.setProperty("networkaddress.cache.ttl", "60"); Graphite graphite = new Graphite(new InetSocketAddress(graphiteHost, graphitePort)); registerReporter(GraphiteReporter.forRegistry(metricRegistry) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .prefixedWith(graphiteApiKey) .build(graphite)).start(1, TimeUnit.MINUTES); }
@Override public void configureReporters(MetricRegistry metricRegistry) { final LoggerContext factory = (LoggerContext) LoggerFactory.getILoggerFactory(); final Logger root = factory.getLogger(Logger.ROOT_LOGGER_NAME); final InstrumentedAppender metrics = new InstrumentedAppender(metricRegistry); metrics.setContext(root.getLoggerContext()); metrics.start(); root.addAppender(metrics); JmxReporter.forRegistry(metricRegistry).build().start(); Slf4jReporter reporter = Slf4jReporter.forRegistry(metricRegistry) .outputTo(LoggerFactory.getLogger("metrics")) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); reporter.start(1, TimeUnit.MINUTES); }
@PostConstruct public void init() { log.debug("Registering JVM gauges"); metricRegistry.register(PROP_METRIC_REG_JVM_MEMORY, new MemoryUsageGaugeSet()); metricRegistry.register(PROP_METRIC_REG_JVM_GARBAGE, new GarbageCollectorMetricSet()); metricRegistry.register(PROP_METRIC_REG_JVM_THREADS, new ThreadStatesGaugeSet()); metricRegistry.register(PROP_METRIC_REG_JVM_FILES, new FileDescriptorRatioGauge()); metricRegistry.register(PROP_METRIC_REG_JVM_BUFFERS, new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer())); metricRegistry.register(PROP_METRIC_REG_JVM_ATTRIBUTE_SET, new JvmAttributeGaugeSet()); if (jHipsterProperties.getMetrics().getJmx().isEnabled()) { log.debug("Initializing Metrics JMX reporting"); JmxReporter jmxReporter = JmxReporter.forRegistry(metricRegistry).build(); jmxReporter.start(); } if (jHipsterProperties.getMetrics().getLogs().isEnabled()) { log.info("Initializing Metrics Log reporting"); Marker metricsMarker = MarkerFactory.getMarker("metrics"); final Slf4jReporter reporter = Slf4jReporter.forRegistry(metricRegistry) .outputTo(LoggerFactory.getLogger("metrics")) .markWith(metricsMarker) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); reporter.start(jHipsterProperties.getMetrics().getLogs().getReportFrequency(), TimeUnit.SECONDS); } }
public static void initialize(MetricRegistry registry) { if (Metrics.registry != null) { throw new IllegalStateException("Metrics were already initialized."); } Metrics.registry = registry; registry.register("memory_usage", new MemoryUsageGaugeSet()); registry.register("garbage_collector", new GarbageCollectorMetricSet()); registry.register("jvm_attributes", new JvmAttributeGaugeSet()); final JmxReporter jmxReporter = JmxReporter.forRegistry(registry).build(); jmxReporter.start(); final Slf4jReporter slf4jReporter = Slf4jReporter.forRegistry(registry) .outputTo(LoggerFactory.getLogger("com.puresoltechnologies.famility.server.metrics")) .convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).build(); slf4jReporter.start(1, TimeUnit.MINUTES); }
public static void main(String[] args) { PipelineContext context = new PipelineContext(new BasicPacketFactory()); DirectPipeline pipeline = new DirectPipeline(context); pipeline .addSource(new RandomIntGenerator(0, 10)) .setReceiver(new FilterTransformation<>(new MinMaxFilter<>(3, 7))) .setReceiver(new PrintSink()); pipeline .addSource(new StdInSource()) .setReceiver(new FilterTransformation<>(new StringContainsFilter("foo"))) .setReceiver(new UpperCaseTransformation()) .setReceiver(new PrintSink()); pipeline.start(); final Slf4jReporter reporter = Slf4jReporter.forRegistry(context.getMetrics()) .outputTo(LoggerFactory.getLogger("io.humbird.metrics")) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); reporter.start(5, TimeUnit.SECONDS); }
@Override protected void doNotify(Record notification) { for (Object event : Notifications.getLifecycleEvents(notification)) { if (event == Notifications.LifecycleEvent.SHUTDOWN) { synchronized (REGISTRIES) { Map<String, Slf4jReporter> reporters = REGISTRIES.get(getContext().getMetricRegistry()); if (reporters != null) { Slf4jReporter reporter = reporters.remove(logger); if (reporter != null) { reporter.stop(); } } } } } super.doNotify(notification); }
@Override public List<AutoCloseable> start(Params params) { SimpleConfiguration config = new FluoConfiguration(params.getConfiguration()).getReporterConfiguration("slf4j"); if (!config.getBoolean("enable", false)) { return Collections.emptyList(); } TimeUnit rateUnit = TimeUnit.valueOf(config.getString("rateUnit", "seconds").toUpperCase()); TimeUnit durationUnit = TimeUnit.valueOf(config.getString("durationUnit", "milliseconds").toUpperCase()); Logger logger = LoggerFactory.getLogger(config.getString("logger", "metrics")); Slf4jReporter reporter = Slf4jReporter.forRegistry(params.getMetricRegistry()) .convertDurationsTo(durationUnit).convertRatesTo(rateUnit).outputTo(logger).build(); reporter.start(config.getInt("frequency", 60), TimeUnit.SECONDS); log.info("Reporting metrics using slf4j"); return Collections.singletonList((AutoCloseable) reporter); }
@PostConstruct public void init() { log.debug("Registering JVM gauges"); metricRegistry.register(PROP_METRIC_REG_JVM_MEMORY, new MemoryUsageGaugeSet()); metricRegistry.register(PROP_METRIC_REG_JVM_GARBAGE, new GarbageCollectorMetricSet()); metricRegistry.register(PROP_METRIC_REG_JVM_THREADS, new ThreadStatesGaugeSet()); metricRegistry.register(PROP_METRIC_REG_JVM_FILES, new FileDescriptorRatioGauge()); metricRegistry.register(PROP_METRIC_REG_JVM_BUFFERS, new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer())); if (hikariDataSource != null) { log.debug("Monitoring the datasource"); hikariDataSource.setMetricRegistry(metricRegistry); } if (jHipsterProperties.getMetrics().getJmx().isEnabled()) { log.debug("Initializing Metrics JMX reporting"); JmxReporter jmxReporter = JmxReporter.forRegistry(metricRegistry).build(); jmxReporter.start(); } if (jHipsterProperties.getMetrics().getLogs().isEnabled()) { log.info("Initializing Metrics Log reporting"); final Slf4jReporter reporter = Slf4jReporter.forRegistry(metricRegistry) .outputTo(LoggerFactory.getLogger("metrics")) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); reporter.start(jHipsterProperties.getMetrics().getLogs().getReportFrequency(), TimeUnit.SECONDS); } }
@Inject public NbdStatsReporter(MetricRegistry metrics) { ScheduledReporter reporter = Slf4jReporter.forRegistry(metrics) .withLoggingLevel(Slf4jReporter.LoggingLevel.DEBUG) .outputTo(LOGGER) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); reporter.start(5, TimeUnit.SECONDS); }
@PostConstruct public void init() { log.debug("Registering JVM gauges"); metricRegistry.register(PROP_METRIC_REG_JVM_MEMORY, new MemoryUsageGaugeSet()); metricRegistry.register(PROP_METRIC_REG_JVM_GARBAGE, new GarbageCollectorMetricSet()); metricRegistry.register(PROP_METRIC_REG_JVM_THREADS, new ThreadStatesGaugeSet()); metricRegistry.register(PROP_METRIC_REG_JVM_FILES, new FileDescriptorRatioGauge()); metricRegistry.register(PROP_METRIC_REG_JVM_BUFFERS, new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer())); metricRegistry.register(PROP_METRIC_REG_JCACHE_STATISTICS, new JCacheGaugeSet()); if (hikariDataSource != null) { log.debug("Monitoring the datasource"); hikariDataSource.setMetricRegistry(metricRegistry); } if (jHipsterProperties.getMetrics().getJmx().isEnabled()) { log.debug("Initializing Metrics JMX reporting"); JmxReporter jmxReporter = JmxReporter.forRegistry(metricRegistry).build(); jmxReporter.start(); } if (jHipsterProperties.getMetrics().getLogs().isEnabled()) { log.info("Initializing Metrics Log reporting"); final Slf4jReporter reporter = Slf4jReporter.forRegistry(metricRegistry) .outputTo(LoggerFactory.getLogger("metrics")) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); reporter.start(jHipsterProperties.getMetrics().getLogs().getReportFrequency(), TimeUnit.SECONDS); } }
void startMetricReport() { // final CsvReporter reporter = CsvReporter.forRegistry(registry).formatFor(Locale.US).convertRatesTo( // TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).build(new File("metrics.csv")); // final ConsoleReporter reporter = ConsoleReporter.forRegistry(registry).convertRatesTo(TimeUnit.SECONDS) // .convertDurationsTo(TimeUnit.MILLISECONDS).build(); final Slf4jReporter reporter = Slf4jReporter.forRegistry(registry).outputTo(new AbstractLogger()).convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS) .build(); reporter.start(1, TimeUnit.SECONDS); }
private void startLoggingReporter() { final Slf4jReporter loggingReporter = Slf4jReporter.forRegistry(metricRegistry) .convertDurationsTo(TimeUnit.MILLISECONDS) .convertRatesTo(TimeUnit.SECONDS) .outputTo(LOG) .build(); // Start the logging reporter if there is none yet. if (reporter.putIfAbsent(Slf4jReporter.class, loggingReporter) == null) { LOG.debug("Starting metrics reporter: {}", loggingReporter); reporter.get(Slf4jReporter.class).start(configuration.getReportDuration().getMillis(), TimeUnit.MILLISECONDS); } }