Refine search
/** * Create a {@link Slf4jReporter} attached to the Titan Metrics registry. * <p> * If {@code loggerName} is null, or if it is non-null but * {@link LoggerFactory#getLogger(loggerName)} returns null, then Metrics's * default Slf4j logger name is used instead. * * @param reportInterval * time to wait between writing metrics to the Slf4j * logger * @param loggerName * the name of the Slf4j logger that receives metrics */ public synchronized void addSlf4jReporter(Duration reportInterval, String loggerName) { if (null != slf4jReporter) { log.debug("Metrics Slf4jReporter already active; not creating another"); return; } Slf4jReporter.Builder b = Slf4jReporter.forRegistry(getRegistry()); if (null != loggerName) { Logger l = LoggerFactory.getLogger(loggerName); if (null != l) { b.outputTo(l); } else { log.error("Logger with name {} could not be obtained", loggerName); } } slf4jReporter = b.build(); slf4jReporter.start(reportInterval.toMillis(), TimeUnit.MILLISECONDS); }
private static Slf4jReporter getLogReporter() { if (METRICS_LOG_OUTPUT_ENABLED) { Slf4jReporter reporter = Slf4jReporter.forRegistry(REGISTRY) .outputTo(logger) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); reporter.start(METRICS_LOG_OUTPUT_INTERVAL, TimeUnit.SECONDS); return reporter; } return null; } }
@Override public ScheduledReporter build(MetricRegistry registry) { final Slf4jReporter.Builder builder = Slf4jReporter.forRegistry(registry) .convertDurationsTo(getDurationUnit()) .convertRatesTo(getRateUnit()) .filter(getFilter()) .outputTo(getLogger()); if (markerName != null) { builder.markWith(MarkerFactory.getMarker(markerName)); } return builder.build(); } }
@Override protected Slf4jReporter createInstance() { final Slf4jReporter.Builder reporter = Slf4jReporter.forRegistry(getMetricRegistry()); if (hasProperty(DURATION_UNIT)) { reporter.convertDurationsTo(getProperty(DURATION_UNIT, TimeUnit.class)); } if (hasProperty(RATE_UNIT)) { reporter.convertRatesTo(getProperty(RATE_UNIT, TimeUnit.class)); } reporter.filter(getMetricFilter()); reporter.prefixedWith(getPrefix()); if (hasProperty(MARKER)) { reporter.markWith(MarkerFactory.getMarker(getProperty(MARKER))); } if (hasProperty(LOGGER)) { reporter.outputTo(LoggerFactory.getLogger(getProperty(LOGGER))); } if (hasProperty(LEVEL)) { reporter.withLoggingLevel(getProperty(LEVEL, LoggingLevel.class)); } return reporter.build(); }
@Override public void afterPropertiesSet() throws Exception { if (slf4jMinutes > 0) { final Slf4jReporter reporter = Slf4jReporter.forRegistry(registry) .filter(filter()) .outputTo(LoggerFactory.getLogger(DOMAIN)) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); reporter.start(slf4jMinutes, TimeUnit.MINUTES); final LoggerContext factory = (LoggerContext) LoggerFactory.getILoggerFactory(); final ch.qos.logback.classic.Logger root = factory.getLogger(Logger.ROOT_LOGGER_NAME);
Slf4jReporter.forRegistry(metrics).outputTo(LoggerFactory.getLogger(LevelDBBenchmark.class)) .build().report();
public void reportToLog() { logger.info("-- BEGIN METRICS DETAIL --"); Slf4jReporter reporter = Slf4jReporter.forRegistry(ActivityMetrics.getMetricRegistry()) .convertDurationsTo(TimeUnit.MICROSECONDS) .convertRatesTo(TimeUnit.SECONDS) .filter(MetricFilter.ALL) .outputTo(logger) .build(); reporter.report(); logger.info("-- END METRICS DETAIL --"); }
private ScheduledReporter createAndGetConfiguredSlf4jReporter(String slf4jLogger) { LOG.info("Configuring stats with SLF4J with logger {}", slf4jLogger); return Slf4jReporter.forRegistry(metrics) .outputTo(LoggerFactory.getLogger(slf4jLogger)) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); }
/** * Create a {@link Slf4jReporter} attached to the JanusGraph Metrics registry. * <p> * If {@code loggerName} is null, or if it is non-null but * {@link LoggerFactory#getLogger(Class loggerName)} returns null, then Metrics's * default Slf4j logger name is used instead. * * @param reportInterval * time to wait between writing metrics to the Slf4j * logger * @param loggerName * the name of the Slf4j logger that receives metrics */ public synchronized void addSlf4jReporter(Duration reportInterval, String loggerName) { if (null != slf4jReporter) { log.debug("Metrics Slf4jReporter already active; not creating another"); return; } Slf4jReporter.Builder b = Slf4jReporter.forRegistry(getRegistry()); if (null != loggerName) { Logger l = LoggerFactory.getLogger(loggerName); if (null != l) { b.outputTo(l); } else { log.error("Logger with name {} could not be obtained", loggerName); } } slf4jReporter = b.build(); slf4jReporter.start(reportInterval.toMillis(), TimeUnit.MILLISECONDS); }
private ScheduledReporter createAndGetConfiguredSlf4jReporter(String slf4jLogger) { LOG.info("Configuring stats with SLF4J with logger {}", slf4jLogger); return Slf4jReporter.forRegistry(metrics) .outputTo(LoggerFactory.getLogger(slf4jLogger)) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); }
} else if (reporterName.startsWith("slf4j")) { final String level = MetastoreConf.getVar(conf, MetastoreConf.ConfVars.METRICS_SLF4J_LOG_LEVEL); final Slf4jReporter reporter = Slf4jReporter.forRegistry(registry) .outputTo(LOGGER) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .withLoggingLevel(LoggingLevel.valueOf(level)) .build(); reporter.start(MetastoreConf.getTimeVar(conf, MetastoreConf.ConfVars.METRICS_SLF4J_LOG_FREQUENCY_MINS, TimeUnit.SECONDS), TimeUnit.SECONDS); reporters.add(reporter);
public MetricReporters addLogger() { logger.debug("Adding slf4j reporter for metrics"); if (metricRegistries.isEmpty()) { throw new RuntimeException("There are no metric registries."); } for (PrefixedRegistry prefixedRegistry : metricRegistries) { Slf4jReporter loggerReporter = Slf4jReporter.forRegistry(prefixedRegistry.metricRegistry) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.NANOSECONDS) .filter(ActivityMetrics.METRIC_FILTER) .outputTo(logger) .build(); scheduledReporters.add(loggerReporter); } return this; }
@Override public void startReport() { LOG.info("Starting metrics report!"); reporter = Slf4jReporter.forRegistry(metrics) .outputTo(LoggerFactory.getLogger(KAA_METRICS_LOGGER_NAME)) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS).build(); registerSystemMonitor(); reporter.start(30, TimeUnit.SECONDS); this.jmx = JmxReporter.forRegistry(this.metrics).inDomain(KAA_METRICS_LOGGER_NAME).build(); this.jmx.start(); }
public DefaultMetricReporterFactory() { this.metricRegistry = new MetricRegistry(); this.scheduledReporter = Slf4jReporter.forRegistry(metricRegistry) .outputTo(LoggerFactory.getLogger("firefly-monitor")) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); }
final Slf4jReporter reporter = Slf4jReporter.forRegistry(config.metricRegistry) .outputTo(LOGGER) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); reporter.start(config.metricsSlf4jInterval, TimeUnit.SECONDS); LOGGER.info("Slf4j metrics reporter enabled");
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); } } }
/** * Create a {@link Slf4jReporter} attached to the {@code MetricsRegistry}. * <p/> * If {@code loggerName} is null, or if it is non-null but * LoggerFactory.getLogger(loggerName) returns null, then Metrics's * default Slf4j logger name is used instead. * * @param reportIntervalInMS milliseconds to wait between writing metrics to the Slf4j * logger * @param loggerName the name of the Slf4j logger that receives metrics */ public synchronized void addSlf4jReporter(final long reportIntervalInMS, final String loggerName) { if (null != slf4jReporter) { log.debug("Metrics Slf4jReporter already active; not creating another"); return; } Slf4jReporter.Builder b = Slf4jReporter.forRegistry(getRegistry()); if (null != loggerName) { Logger l = LoggerFactory.getLogger(loggerName); if (null != l) { b.outputTo(l); } else { log.error("Logger with name {} could not be obtained", loggerName); } } slf4jReporter = b.build(); slf4jReporter.start(reportIntervalInMS, TimeUnit.MILLISECONDS); log.info("Configured Metrics Slf4jReporter configured with interval={}ms and loggerName={}", reportIntervalInMS, loggerName); }
public DefaultMetricReporterFactory() { this.metricRegistry = new MetricRegistry(); this.scheduledReporter = Slf4jReporter.forRegistry(metricRegistry) .outputTo(LoggerFactory.getLogger("firefly-monitor")) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build(); }
@Before public void startReporting() { reporter = Slf4jReporter.forRegistry( registry ).outputTo( LOG ).convertRatesTo( TimeUnit.SECONDS ) .convertDurationsTo( TimeUnit.MILLISECONDS ).build(); reporter.start( 10, TimeUnit.SECONDS ); }
/** * Create manager using specified configuration * * @param conf the configuration to use */ public MetricsManager(final Configurator conf) { this.conf = conf; init(); this.reporter = Slf4jReporter.forRegistry(this.metrics).build(); }