blob: 7d58e5fb27b126f7470212a1322bc9f593129f45 [file] [log] [blame]
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 org.apache.bookkeeper.client;
import org.apache.bookkeeper.client.impl.BookKeeperClientStatsImpl;
import org.apache.bookkeeper.stats.Counter;
import org.apache.bookkeeper.stats.Gauge;
import org.apache.bookkeeper.stats.OpStatsLogger;
import org.apache.bookkeeper.stats.StatsLogger;
/**
* List of constants for defining client stats names.
*/
public interface BookKeeperClientStats {
String CATEGORY_CLIENT = "client";
String CLIENT_SCOPE = "bookkeeper_client";
// Metadata Operations
String CREATE_OP = "LEDGER_CREATE";
String DELETE_OP = "LEDGER_DELETE";
String OPEN_OP = "LEDGER_OPEN";
String RECOVER_OP = "LEDGER_RECOVER";
String LEDGER_RECOVER_READ_ENTRIES = "LEDGER_RECOVER_READ_ENTRIES";
String LEDGER_RECOVER_ADD_ENTRIES = "LEDGER_RECOVER_ADD_ENTRIES";
String LEDGER_ENSEMBLE_BOOKIE_DISTRIBUTION = "LEDGER_ENSEMBLE_BOOKIE_DISTRIBUTION";
// Data Operations
String ADD_OP = "ADD_ENTRY";
String ADD_OP_UR = "ADD_ENTRY_UR"; // Under Replicated during AddEntry.
String FORCE_OP = "FORCE"; // Number of force ledger operations
String READ_OP = "READ_ENTRY";
// Corrupted entry (Digest Mismatch/ Under Replication) detected during ReadEntry
String READ_OP_DM = "READ_ENTRY_DM";
String WRITE_LAC_OP = "WRITE_LAC";
String READ_LAC_OP = "READ_LAC";
String READ_LAST_CONFIRMED_AND_ENTRY = "READ_LAST_CONFIRMED_AND_ENTRY";
String READ_LAST_CONFIRMED_AND_ENTRY_RESPONSE = "READ_LAST_CONFIRMED_AND_ENTRY_RESPONSE";
String PENDING_ADDS = "NUM_PENDING_ADD";
String ENSEMBLE_CHANGES = "NUM_ENSEMBLE_CHANGE";
String LAC_UPDATE_HITS = "LAC_UPDATE_HITS";
String LAC_UPDATE_MISSES = "LAC_UPDATE_MISSES";
String GET_BOOKIE_INFO_OP = "GET_BOOKIE_INFO";
String SPECULATIVE_READ_COUNT = "SPECULATIVE_READ_COUNT";
String READ_REQUESTS_REORDERED = "READ_REQUESTS_REORDERED";
String GET_LIST_OF_ENTRIES_OF_LEDGER_OP = "GET_LIST_OF_ENTRIES_OF_LEDGER";
// per channel stats
String CHANNEL_SCOPE = "per_channel_bookie_client";
String CHANNEL_READ_OP = "READ_ENTRY";
String CHANNEL_TIMEOUT_READ = "TIMEOUT_READ_ENTRY";
String CHANNEL_ADD_OP = "ADD_ENTRY";
String CHANNEL_TIMEOUT_ADD = "TIMEOUT_ADD_ENTRY";
String CHANNEL_WRITE_LAC_OP = "WRITE_LAC";
String CHANNEL_FORCE_OP = "FORCE";
String CHANNEL_TIMEOUT_WRITE_LAC = "TIMEOUT_WRITE_LAC";
String CHANNEL_TIMEOUT_FORCE = "TIMEOUT_FORCE";
String CHANNEL_READ_LAC_OP = "READ_LAC";
String CHANNEL_TIMEOUT_READ_LAC = "TIMEOUT_READ_LAC";
String TIMEOUT_GET_BOOKIE_INFO = "TIMEOUT_GET_BOOKIE_INFO";
String CHANNEL_START_TLS_OP = "START_TLS";
String CHANNEL_TIMEOUT_START_TLS_OP = "TIMEOUT_START_TLS";
String TIMEOUT_GET_LIST_OF_ENTRIES_OF_LEDGER = "TIMEOUT_GET_LIST_OF_ENTRIES_OF_LEDGER";
String NETTY_EXCEPTION_CNT = "NETTY_EXCEPTION_CNT";
String CLIENT_CHANNEL_WRITE_WAIT = "CLIENT_CHANNEL_WRITE_WAIT";
String CLIENT_CONNECT_TIMER = "CLIENT_CONNECT_TIMER";
String ADD_OP_OUTSTANDING = "ADD_OP_OUTSTANDING";
String READ_OP_OUTSTANDING = "READ_OP_OUTSTANDING";
String NETTY_OPS = "NETTY_OPS";
String ACTIVE_NON_TLS_CHANNEL_COUNTER = "ACTIVE_NON_TLS_CHANNEL_COUNTER";
String ACTIVE_TLS_CHANNEL_COUNTER = "ACTIVE_TLS_CHANNEL_COUNTER";
String FAILED_CONNECTION_COUNTER = "FAILED_CONNECTION_COUNTER";
String FAILED_TLS_HANDSHAKE_COUNTER = "FAILED_TLS_HANDSHAKE_COUNTER";
// placementpolicy stats
String NUM_WRITABLE_BOOKIES_IN_DEFAULT_RACK = "NUM_WRITABLE_BOOKIES_IN_DEFAULT_RACK";
String WRITE_DELAYED_DUE_TO_NOT_ENOUGH_FAULT_DOMAINS = "WRITE_DELAYED_DUE_TO_NOT_ENOUGH_FAULT_DOMAINS";
String WRITE_DELAYED_DUE_TO_NOT_ENOUGH_FAULT_DOMAINS_LATENCY =
"WRITE_DELAYED_DUE_TO_NOT_ENOUGH_FAULT_DOMAINS_LATENCY";
String WRITE_TIMED_OUT_DUE_TO_NOT_ENOUGH_FAULT_DOMAINS = "WRITE_TIME_OUT_DUE_TO_NOT_ENOUGH_FAULT_DOMAINS";
String NUM_WRITABLE_BOOKIES_IN_DEFAULT_FAULTDOMAIN = "NUM_WRITABLE_BOOKIES_IN_DEFAULT_FAULTDOMAIN";
String BOOKIE_LABEL = "bookie";
OpStatsLogger getCreateOpLogger();
OpStatsLogger getOpenOpLogger();
OpStatsLogger getDeleteOpLogger();
OpStatsLogger getRecoverOpLogger();
OpStatsLogger getReadOpLogger();
OpStatsLogger getReadLacAndEntryOpLogger();
OpStatsLogger getReadLacAndEntryRespLogger();
OpStatsLogger getAddOpLogger();
OpStatsLogger getForceOpLogger();
OpStatsLogger getWriteLacOpLogger();
OpStatsLogger getReadLacOpLogger();
OpStatsLogger getRecoverAddCountLogger();
OpStatsLogger getRecoverReadCountLogger();
Counter getReadOpDmCounter();
Counter getAddOpUrCounter();
Counter getSpeculativeReadCounter();
Counter getEnsembleBookieDistributionCounter(String bookie);
Counter getEnsembleChangeCounter();
Counter getLacUpdateHitsCounter();
Counter getLacUpdateMissesCounter();
OpStatsLogger getClientChannelWriteWaitLogger();
OpStatsLogger getWriteDelayedDueToNotEnoughFaultDomainsLatency();
Counter getWriteDelayedDueToNotEnoughFaultDomains();
Counter getWriteTimedOutDueToNotEnoughFaultDomains();
void registerPendingAddsGauge(Gauge<Integer> gauge);
static BookKeeperClientStats newInstance(StatsLogger stats) {
return new BookKeeperClientStatsImpl(stats);
}
}