package com.linkedin.databus.bootstrap.monitoring.server.mbean; /* * * Copyright 2013 LinkedIn Corp. 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. * */ import com.linkedin.databus.core.Checkpoint; /** * MBean interface for the collector for Bootstrap HTTP monitoring mbeans. */ public interface DbusBootstrapHttpStatsMBean { /** * Reset object */ void reset(); /** * Metric collection enabled or not * */ boolean isEnabled(); /** enable/disable metric collection */ void setEnabled(boolean enabled); /** number of successful bootstrap requests (snapshot+catchup) */ long getNumReqBootstrap() ; /** number of successful snapshot bootstrap requests */ long getNumReqSnapshot(); /** number of successful catchup bootstrap requests */ long getNumReqCatchup(); /** number of erroneous bootstrap requests */ long getNumErrReqBootstrap(); /** number of requests where bootstrap db is too old */ long getNumErrReqDatabaseTooOld(); /** number of erroneous requests due to sql exception */ long getNumErrSqlException(); /** number of successful startSCN requests */ long getNumReqStartSCN(); /** number of successful targetSCN requests */ long getNumReqTargetSCN(); /** number of erroneous targetSCN requests */ long getNumErrStartSCN(); /** number of erroneous targetSCN requests */ long getNumErrTargetSCN(); /** time taken by successful snapshot bootstrap requests */ long getLatencySnapshot(); /** time taken by successful catchup bootstrap requests */ long getLatencyCatchup(); /** time taken by successful startSCN requests */ long getLatencyStartSCN(); /** time taken by successful targetSCN requests */ long getLatencyTargetSCN(); /** requested batch size in bootstrap requests */ long getSizeBatch(); /** minimum scn seen in bootstrap requests */ long getMinBootstrapSCN(); /** maximum scn seen in bootstrap requests */ long getMaxBootstrapSCN(); /** set metrics pertaining to bootstrap call */ void registerBootStrapReq(Checkpoint cp,long latency,long size) ; void registerStartSCNReq(long latency); void registerTargetSCNReq(long latency); /** set metrics pertaining to err bootstrap req */ void registerErrBootstrap(); void registerErrStartSCN(); void registerErrTargetSCN(); void registerErrSqlException(); void registerErrDatabaseTooOld(); }