Package com.github.kristofa.flume

Source Code of com.github.kristofa.flume.SlidingTimeWindowHistogramBuilder

package com.github.kristofa.flume;

import java.util.concurrent.TimeUnit;

import com.codahale.metrics.Histogram;
import com.codahale.metrics.SlidingTimeWindowReservoir;

/**
* Histogram builder that creates histograms with {@link SlidingTimeWindowReservoir}.
*
* @author kristof
*/
class SlidingTimeWindowHistogramBuilder implements HistogramBuilder {

    private final long windowInSeconds;

    /**
     * Create a new instance.
     *
     * @param windowInSeconds Window in seconds.
     */
    SlidingTimeWindowHistogramBuilder(final long windowInSeconds) {
        this.windowInSeconds = windowInSeconds;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Histogram buildHistogram() {
        final SlidingTimeWindowReservoir reservoir = new SlidingTimeWindowReservoir(windowInSeconds, TimeUnit.SECONDS);
        return new Histogram(reservoir);
    }

}
TOP

Related Classes of com.github.kristofa.flume.SlidingTimeWindowHistogramBuilder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.