package com.linkedin.databus.core.monitoring.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.monitoring.events.DbusEventsTotalStatsEvent; /** * Collector/accessor for total outbound traffic statistics. * @author cbotev * */ public interface DbusEventsTotalStatsMBean extends DatabusMonitoringMBean<DbusEventsTotalStatsEvent> { // ************** GETTERS ********************* /** Obtains the number of data events scanned */ long getNumDataEvents(); /** Obtains size of data events scanned (metadata and payload) */ long getSizeDataEvents(); /** Obtains size of the payload of data events scanned */ long getSizeDataEventsPayload(); /** Obtains the number of data events that were streamed out after filtering */ long getNumDataEventsFiltered(); /** Obtains size of data events (metadata and payload) that were streamed out after filtering */ long getSizeDataEventsFiltered(); /** Obtains size of the payload of data events that were streamed out after filtering */ long getSizeDataEventsPayloadFiltered(); /** Obtains the number of peers clients that have ever connected */ int getNumPeers(); /** Obtains the minimum requested window scn in a /stream call */ long getMinSeenWinScn(); /** Obtains the maximum requested window scn in a /stream call */ long getMaxSeenWinScn(); /** Obtains the maximum requested window scn filtered in a /stream call */ long getMaxFilteredWinScn(); /** Obtains the number of system events streamed out */ long getNumSysEvents(); /** Obtains the size of system events streamed out (metadata and payload */ long getSizeSysEvents(); /** Obtains the number of events that were invalid */ long getNumInvalidEvents(); /** Obtains number of events with header error */ long getNumHeaderErrEvents(); /** Obtains number of events with payload error */ long getNumPayloadErrEvents(); /** Obtains minimum requested scn in memory */ long getMinScn(); /** Obtains maximum requested scn in memory */ long getMaxScn(); /** Obtains scn immediately preceding the minScn , not in the eventBuffer */ long getPrevScn(); /** Obtains time of last access in ms */ long getTimeSinceLastAccess(); /** Obtains buffer creation time */ long getTimeSinceCreation(); /** Obtains free space */ long getFreeSpace() ; /** Obtains time diff between timestamp of first event and last event **/ long getTimeSpan(); /** Gets the number of msecs it took for maxScn event to be accessed */ long getTimeLag(); /** Gets max time lag across all buffers */ long getMaxTimeLag(); /** Gets the min time lag across all buffers */ long getMinTimeLag(); /** Obtains time elapsed between latest event in buffer and now */ long getTimeSinceLastEvent(); /** Obtains time lang between event generation and event appearing in the buffer in ms */ long getLatencyEvent(); /** * For an aggregated stats object, provides the minimum of getTimeSinceLastAccess() metrics across * all buffers. * For a single stats object, the call does not make sense, but is the same as getTimeSinceLastAccess(). */ long getMinTimeSinceLastAccess(); /** * For an aggregated stats object, provides the maximum of getTimeSinceLastAccess() metrics across * all buffers. * For a single stats object, the call does not make sense, but is the same as getTimeSinceLastAccess(). */ long getMaxTimeSinceLastAccess(); /** * For an aggregated stats object, provides the minimum of getTimeSinceLastEvent() metrics across * all buffers. * For a single stats object, the call does not make sense, but is the same as getTimeSinceLastEvent(). */ long getMinTimeSinceLastEvent(); /** * For an aggregated stats object, provides the maximum of getTimeSinceLastEvent() metrics across * all buffers. * For a single stats object, the call does not make sense, but is the same as getTimeSinceLastEvent(). */ long getMaxTimeSinceLastEvent(); /** * For an aggregated stats object, provides the minimum of getTimeSpan() metrics across * all buffers. * For a single stats object, the call does not make sense, but is the same as getTimeSpan(). */ long getMinTimeSpan(); /** * For an aggregated stats object, provides the maximum of getTimeSpan() metrics across * all buffers. * For a single stats object, the call does not make sense, but is the same as getTimeSpan(). */ long getMaxTimeSpan(); // ****************** MUTATORS ********************* /** Resets the statistics. */ @Override void reset(); }