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

io.streamnative.pulsar.handlers.kop.stats.NullStatsLogger Maven / Gradle / Ivy

There is a newer version: 4.0.0.4
Show newest version
/**
 * Copyright (c) 2019 - 2024 StreamNative, Inc.. All Rights Reserved.
 */
/**
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package io.streamnative.pulsar.handlers.kop.stats;

import java.util.concurrent.TimeUnit;
import org.apache.bookkeeper.stats.Counter;
import org.apache.bookkeeper.stats.Gauge;
import org.apache.bookkeeper.stats.OpStatsData;
import org.apache.bookkeeper.stats.OpStatsLogger;

/**
 * A no-op {@code StatsLogger}.
 *
 * 

Metrics are not recorded, making this receiver useful in unit tests and as defaults in * situations where metrics are not strictly required. */ public class NullStatsLogger implements StatsLogger { public static final NullStatsLogger INSTANCE = new NullStatsLogger(); /** * A no-op {@code OpStatsLogger}. */ static class NullOpStatsLogger implements OpStatsLogger { private final OpStatsData nullOpStats = new OpStatsData(0, 0, 0, new long[6]); @Override public void registerFailedEvent(long eventLatency, TimeUnit unit) { // nop } @Override public void registerSuccessfulEvent(long eventLatency, TimeUnit unit) { // nop } @Override public void registerSuccessfulValue(long value) { // nop } @Override public void registerFailedValue(long value) { // nop } @Override public OpStatsData toOpStatsData() { return nullOpStats; } @Override public void clear() { // nop } } private static final NullOpStatsLogger nullOpStatsLogger = new NullOpStatsLogger(); /** * A no-op {@code Counter}. */ static class NullCounter implements Counter { @Override public void clear() { // nop } @Override public void inc() { // nop } @Override public void dec() { // nop } @Override public void addCount(long delta) { // nop } @Override public void addLatency(long l, TimeUnit timeUnit) { // nop } @Override public Long get() { return 0L; } } private static final NullCounter nullCounter = new NullStatsLogger.NullCounter(); @Override public OpStatsLogger getOpStatsLogger(String name) { return nullOpStatsLogger; } @Override public Counter getCounter(String name) { return nullCounter; } @Override public void registerGauge(String name, Gauge gauge) { // nop } @Override public void unregisterGauge(String name, Gauge gauge) { // nop } @Override public StatsLogger scope(String name) { return this; } @Override public void removeScope(String name, StatsLogger statsLogger) { // nop } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy