Package com.github.kristofa.flume

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

package com.github.kristofa.flume;

import com.codahale.metrics.Histogram;
import com.codahale.metrics.UniformReservoir;

/**
* Creates histograms with the {@link UniformReservoir}.
*
* @author kristof
*/
class UniformHistogramBuilder implements HistogramBuilder {

    private int nrOfSamples;

    /**
     * Creates Histograms using {@link UniformReservoir} with default number of samples.
     */
    public UniformHistogramBuilder() {

    }

    /**
     * Creates Histograms using {@link UniformReservoir} with custom number of samples.
     *
     * @param nrOfSamples
     */
    public UniformHistogramBuilder(final int nrOfSamples) {
        this.nrOfSamples = nrOfSamples;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Histogram buildHistogram() {

        UniformReservoir reservoir;
        if (nrOfSamples == 0) {
            reservoir = new UniformReservoir();
        } else {
            reservoir = new UniformReservoir(nrOfSamples);
        }
        return new Histogram(reservoir);
    }
}
TOP

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

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.