/* * Tigase Jabber/XMPP Server * Copyright (C) 2004-2012 "Artur Hefczyc" <artur.hefczyc@tigase.org> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License. * * This program 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 Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. Look for COPYING file in the top folder. * If not, see http://www.gnu.org/licenses/. * * $Rev$ * Last modified by $Author$ * $Date$ */ package tigase.stats; //~--- JDK imports ------------------------------------------------------------ import java.util.LinkedList; import java.util.List; import java.util.Map; //~--- interfaces ------------------------------------------------------------- /** * Interface StatisticsProviderMBean * * @author kobit */ public interface StatisticsProviderMBean { /** * Operation exposed for management * @param level Statistics level, 0 - All, 500 - Medium, 800 - Minimal * @return java.util.Map<String, String> */ public Map<String, String> getAllStats(int level); /** * Method description * * * @return */ public int getCLIOQueueSize(); /** * Method description * * * @return */ public float[] getCLPacketsPerSecHistory(); /** * Method description * * * @return */ public int getCLQueueSize(); /** * Method description * * * @return */ public float getCPUUsage(); /** * Method description * * * @return */ public float[] getCPUUsageHistory(); /** * Method description * * * @return */ public int getCPUsNumber(); /** * Method description * * * @return */ public int getClusterCacheSize(); /** * Method description * * * @return */ public float getClusterCompressionRatio(); /** * Method description * * * @return */ public long getClusterNetworkBytes(); /** * Method description * * * @return */ public float getClusterNetworkBytesPerSecond(); /** * Method description * * * @return */ public long getClusterPackets(); /** * Method description * * * @return */ public float getClusterPacketsPerSec(); /** * Operation exposed for management * @param compName The component name to provide statistics for * @param level Statistics level, 0 - All, 500 - Medium, 800 - Minimal * @return java.util.Map<String, String> */ public Map<String, String> getComponentStats(String compName, int level); ///** // * Operation exposed for management // * // * @return java.util.Map<String, String> // */ //public Map getAllStats(); /** * Get Attribute exposed for management * * @return */ public List<String> getComponentsNames(); /** * Method description * * * @return */ public int getConnectionsNumber(); /** * Method description * * * @return */ public int[] getConnectionsNumberHistory(); /** * Method description * * * @return */ public float getHeapMemUsage(); /** * Method description * * * @return */ public float[] getHeapUsageHistory(); /** * Method description * * * @return */ public long getIQAuthNumber(); /** * Method description * * * @return */ public long getIQOtherNumber(); /** * Method description * * * @return */ public float getIQOtherNumberPerSec(); /** * Method description * * * @return */ public long getMessagesNumber(); /** * Method description * * * @return */ public float getMessagesNumberPerSec(); /** * Get Attribute exposed for management * * @return */ public String getName(); /** * Method description * * * @return */ public float getNonHeapMemUsage(); /** * Method description * * * @return */ public long getPresencesNumber(); /** * Method description * * * @return */ public float getPresencesNumberPerSec(); /** * Method description * * * @return */ public long getProcesCPUTime(); /** * Method description * * * @return */ public long getQueueOverflow(); /** * Method description * * * @return */ public int getQueueSize(); /** * Method description * * * @return */ public long getSMPacketsNumber(); /** * Method description * * * @return */ public float getSMPacketsNumberPerSec(); /** * Method description * * * @return */ public float[] getSMPacketsPerSecHistory(); /** * Method description * * * @return */ public int getSMQueueSize(); /** * Method description * * * @return */ public int getServerConnections(); /** * Method description * * * @return */ public int[] getServerConnectionsHistory(); /** * Method description * * * @return */ public String getSystemDetails(); /** * Method description * * * @return */ public long getUptime(); public Map<String, LinkedList<Object>> getStatsHistory(String[] statsKeys); /** * @param array * @return */ public Map<String, Object> getCurStats(String[] statsKeys); } //~ Formatted in Sun Code Convention //~ Formatted by Jindent --- http://www.jindent.com