/** * 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(); }