All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tinkerpop.rexster.server.metrics.ConsoleReporterConfig Maven / Gradle / Ivy

The newest version!
package com.tinkerpop.rexster.server.metrics;

import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.MetricRegistry;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.log4j.Logger;

/**
 * Configures a reporter that writes to the console.
 *
 * @author Stephen Mallette (http://stephen.genoprime.com)
 */
class ConsoleReporterConfig extends AbstractReporterConfig {
    private static final Logger logger = Logger.getLogger(ConsoleReporterConfig.class);

    private ConsoleReporter consoleReporter;

    public ConsoleReporterConfig(final HierarchicalConfiguration config, final MetricRegistry metricRegistry) {
        super(config, metricRegistry);

        logger.info("Configured Console Metric Reporter.");
    }

    @Override
    public boolean enable() {
        try
        {
            consoleReporter = ConsoleReporter.forRegistry(this.metricRegistry)
                    .convertDurationsTo(this.getRealDurationTimeUnitConversion())
                    .convertRatesTo(this.getRealRateTimeUnitConversion())
                    .filter(new RegexMetricFilter(this.inclusion, this.exclusion))
                    .build();
            consoleReporter.start(this.period, this.getRealTimeUnit());
        }
        catch (Exception e)
        {
            logger.error("Failure while enabling console reporter", e);
            return false;
        }
        return true;
    }

    @Override
    public void disable() {
        consoleReporter.stop();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy