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 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(); }
Slf4jReporter.forRegistry(metrics).outputTo(LoggerFactory.getLogger(LevelDBBenchmark.class)) .build().report();
@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(); } }
/** * Start Log Reporter */ @Override public void start() { if (slf4jReporter != null) { slf4jReporter.start(metricLogReporterMillis, TimeUnit.MILLISECONDS); } }
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 --"); }
/** * Stop a {@link Slf4jReporter} previously created by a call to * {@link #addSlf4jReporter(long, String)} and release it for GC. Idempotent * between calls to the associated add method. Does nothing before the first * call to the associated add method. */ public synchronized void removeSlf4jReporter() { if (null != slf4jReporter) slf4jReporter.stop(); slf4jReporter = null; }
@Override public void report() { reporter.report(); } }
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(); }
/** * Start Log Reporter */ @Override public void start() { if (slf4jReporter != null) { slf4jReporter.start(metricLogReporterMillis, TimeUnit.MILLISECONDS); } }
/** * Stop a {@link Slf4jReporter} previously created by a call to * {@link #addSlf4jReporter(Duration, String)} and release it for GC. Idempotent * between calls to the associated add method. Does nothing before the first * call to the associated add method. */ public synchronized void removeSlf4jReporter() { if (null != slf4jReporter) slf4jReporter.stop(); slf4jReporter = null; }
public void logMetrics() { reporter.report(); }
/** * 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); }
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( logger ) .convertRatesTo( TimeUnit.SECONDS ) .convertDurationsTo( TimeUnit.MILLISECONDS ).build(); reporter.start( 10, TimeUnit.SECONDS ); }