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

com.alibaba.metrics.NOPMetricManager Maven / Gradle / Ivy

There is a newer version: 1.0.9
Show newest version
package com.alibaba.metrics;

import java.io.IOException;
import java.io.OutputStream;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.SortedMap;
import java.util.SortedSet;
import java.util.concurrent.Callable;
import java.util.concurrent.TimeUnit;

/**
 * IMetricManager的空实现
 *
 * @author wangtao 2016-06-20 17:11.
 */
public class NOPMetricManager implements IMetricManager {

    @Override
    public Meter getMeter(String group, MetricName name) {
        return NOP_METER;
    }

    @Override
    public Counter getCounter(String group, MetricName name) {
        return NOP_COUNTER;
    }

    @Override
    public Histogram getHistogram(String group, MetricName name) {
        return NOP_HISTOGRAM;
    }

    @Override
    public Timer getTimer(String group, MetricName name) {
        return NOP_TIMER;
    }

    @Override
    public List listMetricGroups() {
        return Collections.emptyList();
    }

    @Override
    public boolean isEnabled() {
        return true;
    }

    @Override
    public void setEnabled(boolean enabled) {
    }

    @Override
    public Map> listMetricNamesByGroup() {
        return Collections.emptyMap();
    }

    @Override
    public MetricRegistry getMetricRegistryByGroup(String group) {
        return NOP_REGISTRY;
    }

	@Override
    @SuppressWarnings("unchecked")
	public SortedMap getGauges(String group, MetricFilter filter) {
        return (SortedMap) Collections.emptyMap();
	}

	@Override
    @SuppressWarnings("unchecked")
	public SortedMap getCounters(String group, MetricFilter filter) {
		return (SortedMap) Collections.emptyMap();
	}

	@Override
    @SuppressWarnings("unchecked")
	public SortedMap getHistograms(String group, MetricFilter filter) {
		return (SortedMap) Collections.emptyMap();
	}

	@Override
    @SuppressWarnings("unchecked")
	public SortedMap getMeters(String group, MetricFilter filter) {
		return (SortedMap) Collections.emptyMap();
	}

	@Override
    @SuppressWarnings("unchecked")
	public SortedMap getTimers(String group, MetricFilter filter) {
		return (SortedMap) Collections.emptyMap();
	}

    @Override
    public void register(String group, MetricName name, Metric metric) {

    }

    private static final Meter NOP_METER = new Meter() {
        @Override
        public void mark() {
        }

        @Override
        public void mark(long n) {
        }

        @Override
        public long getCount() {
            return 0;
        }

        @Override
        public double getFifteenMinuteRate() {
            return 0;
        }

        @Override
        public double getFiveMinuteRate() {
            return 0;
        }

        @Override
        public double getMeanRate() {
            return 0;
        }

        @Override
        public double getOneMinuteRate() {
            return 0;
        }
    };

    private static final Counter NOP_COUNTER = new Counter() {
        @Override
        public void inc() {
        }

        @Override
        public void inc(long n) {
        }

        @Override
        public void dec() {
        }

        @Override
        public void dec(long n) {
        }

        @Override
        public long getCount() {
            return 0;
        }
    };

    private static final Histogram NOP_HISTOGRAM = new Histogram() {
        @Override
        public void update(int value) {
        }

        @Override
        public void update(long value) {
        }

        @Override
        public long getCount() {
            return 0;
        }

        @Override
        public Snapshot getSnapshot() {
            return NOP_SNAPSHOT;
        }
    };

    private static final Timer.Context NOP_CONTEXT = new Timer.Context() {

        @Override
        public void close() throws IOException {
        }

        @Override
        public long stop() {
            return 0;
        }
    };

    private static final Snapshot NOP_SNAPSHOT = new Snapshot() {
        @Override
        public double getValue(double quantile) {
            return 0;
        }

        @Override
        public long[] getValues() {
            return new long[0];
        }

        @Override
        public int size() {
            return 0;
        }

        @Override
        public double getMedian() {
            return 0;
        }

        @Override
        public double get75thPercentile() {
            return 0;
        }

        @Override
        public double get95thPercentile() {
            return 0;
        }

        @Override
        public double get98thPercentile() {
            return 0;
        }

        @Override
        public double get99thPercentile() {
            return 0;
        }

        @Override
        public double get999thPercentile() {
            return 0;
        }

        @Override
        public long getMax() {
            return 0;
        }

        @Override
        public double getMean() {
            return 0;
        }

        @Override
        public long getMin() {
            return 0;
        }

        @Override
        public double getStdDev() {
            return 0;
        }

        @Override
        public void dump(OutputStream output) {
        }
    };

    private static final Timer NOP_TIMER = new Timer() {
        @Override
        public void update(long duration, TimeUnit unit) {
        }

        @Override
        public  T time(Callable event) throws Exception {
            return event.call();
        }

        @Override
        public Context time() {
            return NOP_CONTEXT;
        }

        @Override
        public long getCount() {
            return 0;
        }

        @Override
        public double getFifteenMinuteRate() {
            return 0;
        }

        @Override
        public double getFiveMinuteRate() {
            return 0;
        }

        @Override
        public double getMeanRate() {
            return 0;
        }

        @Override
        public double getOneMinuteRate() {
            return 0;
        }

        @Override
        public Snapshot getSnapshot() {
            return NOP_SNAPSHOT;
        }
    };

    private static final MetricRegistry NOP_REGISTRY = new MetricRegistry() {
        @Override
        public  T register(String name, T metric) throws IllegalArgumentException {
            return metric;
        }

        @Override
        public  T register(MetricName name, T metric) throws IllegalArgumentException {
            return metric;
        }

        @Override
        public void registerAll(MetricSet metrics) throws IllegalArgumentException {

        }

        @Override
        public Counter counter(String name) {
            return NOP_COUNTER;
        }

        @Override
        public Counter counter(MetricName name) {
            return NOP_COUNTER;
        }

        @Override
        public Histogram histogram(MetricName name) {
            return NOP_HISTOGRAM;
        }

        @Override
        public Histogram histogram(String name) {
            return NOP_HISTOGRAM;
        }

        @Override
        public Meter meter(MetricName name) {
            return null;
        }

        @Override
        public Meter meter(String name) {
            return NOP_METER;
        }

        @Override
        public Timer timer(MetricName name) {
            return NOP_TIMER;
        }

        @Override
        public Timer timer(String name) {
            return NOP_TIMER;
        }

        @Override
        public boolean remove(MetricName name) {
            return false;
        }

        @Override
        public void removeMatching(MetricFilter filter) {

        }

        @Override
        public void addListener(MetricRegistryListener listener) {

        }

        @Override
        public void removeListener(MetricRegistryListener listener) {

        }

        @Override
        public SortedSet getNames() {
            return (SortedSet)Collections.emptySet();
        }

        @Override
        public SortedMap getGauges() {
            return (SortedMap)Collections.emptyMap();
        }

        @Override
        public SortedMap getGauges(MetricFilter filter) {
            return (SortedMap)Collections.emptyMap();
        }

        @Override
        public SortedMap getCounters() {
            return (SortedMap)Collections.emptyMap();
        }

        @Override
        public SortedMap getCounters(MetricFilter filter) {
            return (SortedMap)Collections.emptyMap();
        }

        @Override
        public SortedMap getHistograms() {
            return (SortedMap)Collections.emptyMap();
        }

        @Override
        public SortedMap getHistograms(MetricFilter filter) {
            return (SortedMap)Collections.emptyMap();
        }

        @Override
        public SortedMap getMeters() {
            return (SortedMap)Collections.emptyMap();
        }

        @Override
        public SortedMap getMeters(MetricFilter filter) {
            return (SortedMap)Collections.emptyMap();
        }

        @Override
        public SortedMap getTimers() {
            return (SortedMap)Collections.emptyMap();
        }

        @Override
        public SortedMap getTimers(MetricFilter filter) {
            return (SortedMap)Collections.emptyMap();
        }

        @Override
        public SortedMap getMetrics(MetricFilter filter) {
            return (SortedMap)Collections.emptyMap();
        }

        @Override
        public Map getMetrics() {
            return (SortedMap)Collections.emptyMap();
        }
    };
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy