/**
* Helios, OpenSource Monitoring
* Brought to you by the Helios Development Group
*
* Copyright 2007, Helios Development Group and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*
*/
package org.helios.apmrouter.dataservice.json.catalog;
import org.helios.apmrouter.server.ServerComponentBeanMXBean;
/**
* <p>Title: MetricURISubscriptionServiceMXBean</p>
* <p>Description: MXBean interface for {@link MetricURISubscriptionService}</p>
* <p>Company: Helios Development Group LLC</p>
* @author Whitehead (nwhitehead AT heliosdev DOT org)
* <p><code>org.helios.apmrouter.dataservice.json.catalog.MetricURISubscriptionServiceMXBean</code></p>
*/
public interface MetricURISubscriptionServiceMXBean extends ServerComponentBeanMXBean {
/**
* Returns the current subscriptions
* @return a collection of the current subscriptions
*/
public MetricURISubscription[] getSubscriptions();
/**
* Returns the current number of subscriptions
* @return the current number of subscriptions
*/
public int getSubscriptionCount();
/**
* Returns the number of errors processing the new metric queued events
* @return the number of errors processing the new metric queued events
*/
public long getNewMetricQueueProcessingErrors();
/**
* Returns the number of errors processing the metric state change queued events
* @return the number of errors processing the metric state change queued events
*/
public long getMetricStateChangeQueueProcessingErrors();
/**
* Returns the number of errors processing the real-time data event queue
* @return the number of errors processing the real-time data event queue
*/
public long getRealTimeDataQueueProcessingErrors();
/**
* Returns the number of pending new metric events in the queue
* @return the number of pending new metric events in the queue
*/
public long getNewMetricEventQueueDepth();
/**
* Returns the number of metric state change events in the queue
* @return the number of metric state change events in the queue
*/
public long getMetricStateChangeEventQueueDepth();
/**
* Returns the number of real-time data events in the queue
* @return the number of real-time data events in the queue
*/
public long getRealTimeDataEventQueueDepth();
/**
* Returns the number of new metric event queue processing threads
* @return the number of new metric event queue processing threads
*/
public int getNewMetricEventThreads();
/**
* Sets the number of new metric event queue processing threads
* @param newMetricEventThreads the number of new metric event queue processing threads
*/
public void setNewMetricEventThreads(int newMetricEventThreads);
/**
* Returns the number of metric state change event queue processing threads
* @return the number of metric state change event queue processing threads
*/
public int getMetricStateChangeEventThreads();
/**
* Sets the number of metric state change event queue processing threads
* @param metricStateChangeEventThreads the number of metric state change event queue processing threads
*/
public void setMetricStateChangeEventThreads(int metricStateChangeEventThreads);
/**
* Returns the number of broadcast metric state change events
* @return the number of broadcast metric state change events
*/
public long getMetricStateChangeBroadcasts();
/**
* Returns the number of broadcast new metric events"
* @return the number of broadcast new metric events"
*/
public long getNewMetricBroadcasts();
/**
* Returns the number of broadcast real-time data events"
* @return the number of broadcast real-time data events"
*/
public long getRealTimeDataEventBroadcasts();
/**
* Returns the rolling average of the last 50 new metric event processing elapsed times in ns.
* @return the rolling average of the last 50 new metric event processing elapsed times in ns.
*/
public long getAverageNewMetricProcessingTimeNs();
/**
* Returns the rolling average of the last 50 new metric event processing elapsed times in ms.
* @return the rolling average of the last 50 new metric event processing elapsed times in ms.
*/
public long getAverageNewMetricProcessingTimeMs();
/**
* Returns the last metric event processing elapsed time in ns.
* @return the last metric event processing elapsed time in ns.
*/
public long getLastNewMetricProcessingTimeNs();
/**
* Returns the last metric event processing elapsed time in ms.
* @return the last metric event processing elapsed time in ms.
*/
public long getLastNewMetricProcessingTimeMs();
//===============================================================
/**
* Returns the rolling average of the last 50 real-time data event processing elapsed times in ns.
* @return the rolling average of the last 50 real-time data event processing elapsed times in ns.
*/
public long getAverageRealTimeDataProcessingTimeNs();
/**
* Returns the rolling average of the last 50 real-time data event processing elapsed times in ms.
* @return the rolling average of the last 50 real-time data event processing elapsed times in ms.
*/
public long getAverageRealTimeDataProcessingTimeMs();
/**
* Returns the last real-time data event processing elapsed time in ns.
* @return the last real-time data event processing elapsed time in ns.
*/
public long getLastRealTimeDataProcessingTimeNs();
/**
* Returns the last real-time data event processing elapsed time in ms.
* @return the last real-time data event processing elapsed time in ms.
*/
public long getLastRealTimeDataProcessingTimeMs();
//===============================================================
/**
* Returns the rolling average of the last 50 metric state change processing elapsed times in ns.
* @return the rolling average of the last 50 metric state change processing elapsed times in ns.
*/
public long getAverageMetricStateChangeProcessingTimeNs();
/**
* Returns the rolling average of the last 50 metric state change processing elapsed times in ms.
* @return the rolling average of the last 50 metric state change processing elapsed times in ms.
*/
public long getAverageMetricStateChangeProcessingTimeMs();
/**
* Returns the last metric event processing elapsed time in ns.
* @return the last metric event processing elapsed time in ns.
*/
public long getLastMetricStateChangeProcessingTimeNs();
/**
* Returns the last metric event processing elapsed time in ms.
* @return the last metric event processing elapsed time in ms.
*/
public long getLastMetricStateChangeProcessingTimeMs();
/**
* Returns the total number of new metric events received
* @return the total number of new metric events received
*/
public long getNewMetricEvents();
/**
* Returns the total number of failed metric catalog lookups
* @return the total number of failed metric catalog lookups
*/
public long getFailedNewMetricCatalogLookups();
/**
* Returns the total number of real-time data events processed
* @return the total number of real-time data events processed
*/
public long getRealTimeDataEvents();
/**
* Returns the total number of metric state change events received
* @return the total number of metric state change events received
*/
public long getMetricStateChangeEvents();
/**
* Resets the service mterics.
*/
public void resetMetrics();
}