Package tigase.stats
Class StatisticsCollector
- All Implemented Interfaces:
ClusteredComponentIfc,Configurable,XMPPService,ConfigurationChangedAware,Initializable,RegistrarBean,ComponentRegistrator,ServerComponent,ShutdownHook,VHostListener
@Bean(name="stats",
parent=Kernel.class,
active=true)
@ConfigType({DefaultMode,SessionManagerMode,ConnectionManagersMode,ComponentMode})
public class StatisticsCollector
extends AbstractComponentRegistrator<StatisticsContainer>
implements ShutdownHook, RegistrarBean
Class StatisticsCollector
Created: Tue Nov 22 07:07:11 2005
Created: Tue Nov 22 07:07:11 2005
- Author:
- Artur Hefczyc
-
Nested Class Summary
Nested classes/interfaces inherited from class tigase.server.BasicComponent
BasicComponent.ServerInfoVHostItemExtension -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final intstatic final StringFields inherited from class tigase.server.AbstractComponentRegistrator
componentsFields inherited from class tigase.server.BasicComponent
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, scriptEngineManager, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManagerFields inherited from interface tigase.conf.Configurable
ADMINS_PROP_KEY, AMP_CLASS_NAME, AMP_CLUST_CLASS_NAME, AUTH_DOMAIN_POOL_CLASS, AUTH_REPO_DOMAINS_PROP_KEY, AUTH_REPO_PARAMS_NODE, AUTH_REPO_POOL_CLASS, AUTH_REPO_URL_PROP_KEY, BOSH_CLUST_COMP_CLASS_NAME, BOSH_COMP_CLASS_NAME, C2S_CLUST_COMP_CLASS_NAME, C2S_COMP_CLASS_NAME, CL_COMP_CLASS_NAME, CLUSTER_CONECT, CLUSTER_CONTR_CLASS_NAME, CLUSTER_LISTEN, CLUSTER_MODE, CLUSTER_NODES, CLUSTER_NODES_PROP_KEY, COMP_PROT_CLASS_NAME, COMPONENT_ID_PROP_KEY, DEF_AMP_NAME, DEF_BOSH_NAME, DEF_C2S_NAME, DEF_CL_COMP_NAME, DEF_CLUST_CONTR_NAME, DEF_COMP_PROT_NAME, DEF_EVENTBUS_NAME, DEF_EXT_COMP_NAME, DEF_HOSTNAME_PROP_KEY, DEF_MONITOR_NAME, DEF_S2S_NAME, DEF_SM_NAME, DEF_STATS_NAME, DEF_VHOST_MAN_NAME, DEF_WS2S_NAME, DERBY_REPO_CLASS_PROP_VAL, DERBY_REPO_URL_PROP_VAL, DRUPAL_REPO_URL_PROP_VAL, DRUPALWP_REPO_CLASS_PROP_VAL, DUMMY_REPO_CLASS_PROP_VAL, EVENTBUS_CLASS_NAME, EXT_COMP_CLASS_NAME, GEN_ADMINS, GEN_AUTH_DB, GEN_AUTH_DB_URI, GEN_COMP_CLASS, GEN_COMP_NAME, GEN_CONF, GEN_CONFIG, GEN_CONFIG_ALL, GEN_CONFIG_COMP, GEN_CONFIG_CS, GEN_CONFIG_DEF, GEN_CONFIG_SM, GEN_DEBUG, GEN_DEBUG_PACKAGES, GEN_EXT_COMP, GEN_MAX_QUEUE_SIZE, GEN_SCRIPT_DIR, GEN_SM_PLUGINS, GEN_SREC_ADMINS, GEN_SREC_DB, GEN_SREC_DB_URI, GEN_TEST, GEN_TRUSTED, GEN_USER_DB, GEN_USER_DB_URI, GEN_USER_DB_URI_PROP_KEY, GEN_VIRT_HOSTS, HOSTNAMES_PROP_KEY, LIBRESOURCE_REPO_CLASS_PROP_VAL, LIBRESOURCE_REPO_URL_PROP_VAL, MONITOR_CLASS_NAME, MONITOR_CLUST_CLASS_NAME, MONITORING, MYSQL_REPO_CLASS_PROP_VAL, MYSQL_REPO_URL_PROP_VAL, PGSQL_REPO_CLASS_PROP_VAL, PGSQL_REPO_URL_PROP_VAL, ROUTER_COMP_CLASS_NAME, S2S_CLUST_COMP_CLASS_NAME, S2S_COMP_CLASS_NAME, SHARED_AUTH_REPO_PARAMS_PROP_KEY, SHARED_AUTH_REPO_PROP_KEY, SHARED_USER_REPO_PARAMS_PROP_KEY, SHARED_USER_REPO_PROP_KEY, SM_CLUST_COMP_CLASS_NAME, SM_COMP_CLASS_NAME, STANZA_WHITE_CHAR_ACK, STANZA_XMPP_ACK, STATS_CLASS_NAME, STRINGPREP_PROCESSOR, TIGASE_AUTH_REPO_CLASS_PROP_VAL, TIGASE_AUTH_REPO_URL_PROP_VAL, TIGASE_CUSTOM_AUTH_REPO_CLASS_PROP_VAL, TRUSTED_PROP_KEY, USER_DOMAIN_POOL_CLASS, USER_REPO_DOMAINS_PROP_KEY, USER_REPO_PARAMS_NODE, USER_REPO_POOL_CLASS, USER_REPO_POOL_SIZE, USER_REPO_POOL_SIZE_PROP_KEY, USER_REPO_URL_PROP_KEY, VHOST_MAN_CLASS_NAME, VHOST_MAN_CLUST_CLASS_NAME, WS2S_CLASS_NAME, WS2S_CLUST_CLASS_NAME, XML_REPO_CLASS_PROP_VAL, XML_REPO_URL_PROP_VAL, XMPP_STANZA_ACKFields inherited from interface tigase.disco.XMPPService
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcomponentAdded(StatisticsContainer component) Method provides a callback mechanism signaling that a new component implementing special interface has been added to the internalcomponentscollection.voidcomponentRemoved(StatisticsContainer component) Method provides a callback mechanism signaling that a component implementing special interface has been removed from the internalcomponentscollection.voidgetAllStats(StatisticsList list) voidgetComponentStats(String name, StatisticsList list) getDiscoFeatures(JID from) Method returns list of features provided by this component for provided JID.getDiscoInfo(String node, JID jid, JID from) Returns service discovery info for the component.getDiscoItems(String node, JID jid, JID from) Returns service discovery items for the component.getName()Method returns name of the component.voidMethod is called byMessageRouterwhen all the startup components of the server have been loaded and configured through setProperties(...) call.booleanisCorrectType(ServerComponent component) Method checks whether the component provides as method parameter is correct type that is implements special interface or extends special class.voidprocessPacket(Packet packet, Queue<Packet> results) processPacketis a blocking processing method implemented by all components.voidMethod called when bean is being registered allowing developer to programatically register other beans.voidrelease()Method called when component is being stopped and unloaded.voidsetArchivizers(StatisticsArchivizerIfc[] archivizers) voidMethod used to assign component name (localpart of the component)shutdown()protected voidvoidunregister(Kernel kernel) Method called while bean is being unregistered.Methods inherited from class tigase.server.AbstractComponentRegistrator
addComponent, deleteComponent, getComponent, newPacketIdMethods inherited from class tigase.server.BasicComponent
addComponentDomain, beanConfigurationChanged, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, createScriptEngineManager, everyHour, everyMinute, everySecond, getComponentId, getComponentInfo, getDefaults, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoCategoryType, getDiscoDescription, getDiscoExtensionsForm, getDiscoFeatures, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getServiceEntityCaps, getStatistics, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initBindings, initialize, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, reloadScripts, removeComponentDomain, removeServiceDiscoveryItem, setAdmins, setClusterController, setCommandsACL, setCompId, setProperties, setScriptsBaseDir, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntityMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface tigase.server.ServerComponent
getComponentId, getComponentInfo, isInitializationComplete
-
Field Details
-
ERRORS_STATISTICS_MBEAN_NAME
- See Also:
-
STATISTICS_MBEAN_NAME
- See Also:
-
STATS_HISTORY_SIZE_PROP_KEY
- See Also:
-
STATS_HISTORY_SIZE_PROP_VAL
public static final int STATS_HISTORY_SIZE_PROP_VAL- See Also:
-
STATS_UPDATE_INTERVAL_PROP_KEY
- See Also:
-
STATS_HIGH_MEMORY_LEVEL_KEY
- See Also:
-
-
Constructor Details
-
StatisticsCollector
public StatisticsCollector()
-
-
Method Details
-
componentAdded
Description copied from class:AbstractComponentRegistratorMethod provides a callback mechanism signaling that a new component implementing special interface has been added to the internalcomponentscollection.- Specified by:
componentAddedin classAbstractComponentRegistrator<StatisticsContainer>- Parameters:
component- is a reference to the component just added to the collection.
-
componentRemoved
Description copied from class:AbstractComponentRegistratorMethod provides a callback mechanism signaling that a component implementing special interface has been removed from the internalcomponentscollection.- Specified by:
componentRemovedin classAbstractComponentRegistrator<StatisticsContainer>- Parameters:
component- is a reference to the component removed from the collection.
-
initializationCompleted
public void initializationCompleted()Description copied from interface:ServerComponentMethod is called byMessageRouterwhen all the startup components of the server have been loaded and configured through setProperties(...) call. At this point the whole server should be loaded and functional, except initializations taking place in this routine.- Specified by:
initializationCompletedin interfaceServerComponent- Overrides:
initializationCompletedin classBasicComponent
-
processPacket
Description copied from interface:ServerComponentprocessPacketis a blocking processing method implemented by all components. This method processes packet and returns results instantly without waiting for any resources.- Specified by:
processPacketin interfaceServerComponent- Overrides:
processPacketin classBasicComponent- Parameters:
packet- aPacketvalue
-
release
public void release()Description copied from interface:ServerComponentMethod called when component is being stopped and unloaded.- Specified by:
releasein interfaceServerComponent- Overrides:
releasein classAbstractComponentRegistrator<StatisticsContainer>
-
shutdown
- Specified by:
shutdownin interfaceShutdownHook
-
getAllStats
-
getAllStats
-
getComponentsNames
-
getComponentStats
-
getDiscoFeatures
Description copied from class:BasicComponentMethod returns list of features provided by this component for provided JID.- Specified by:
getDiscoFeaturesin interfaceXMPPService- Overrides:
getDiscoFeaturesin classBasicComponent- Parameters:
from- a request sender address. Some service disco elements are meant to be available only to system administrarors. The component is responsible to check whether the sender is the component administrator and return results appropriate.- Returns:
- list of features
-
getDiscoInfo
Description copied from interface:XMPPServiceReturns service discovery info for the component. If the jid is null then this is info for the top level request. SM may return disco info on the top level. Other components should not.- Specified by:
getDiscoInfoin interfaceXMPPService- Overrides:
getDiscoInfoin classBasicComponent- Parameters:
node- is service discovery node for which the request is made. Is normally null for the component top level request.jid- is the jid to which the request has been made.from- is the request sender address. Some service discovery information is only meant for administrators.- Returns:
- returns an XML Element with service discovery data.
-
getDiscoItems
Description copied from interface:XMPPServiceReturns service discovery items for the component. If the JID is null then this is request for the top level request. SM may return disco items on the top level, other components should just return it's top level service discovery item for null node.- Specified by:
getDiscoItemsin interfaceXMPPService- Overrides:
getDiscoItemsin classBasicComponent- Parameters:
node- is a service discovery node for which the request has been made.jid- is the jid to which the request has been made.from- is the request sender address. Some service discovery information is only meant for administrators.- Returns:
- a list of service discovery items for this component or the component itself disco item for the top level request.
-
getName
Description copied from interface:ServerComponentMethod returns name of the component.- Specified by:
getNamein interfaceServerComponent- Specified by:
getNamein interfaceShutdownHook- Overrides:
getNamein classBasicComponent- Returns:
- name of the component
-
setName
Description copied from interface:ServerComponentMethod used to assign component name (localpart of the component)- Specified by:
setNamein interfaceServerComponent- Overrides:
setNamein classBasicComponent- Parameters:
name- to be assigned
-
isCorrectType
Description copied from class:AbstractComponentRegistratorMethod checks whether the component provides as method parameter is correct type that is implements special interface or extends special class. Result of the method determines whether the component can be added to the internalcomponentscollection.- Specified by:
isCorrectTypein classAbstractComponentRegistrator<StatisticsContainer>- Parameters:
component- is a reference to the component being checked.- Returns:
- a
booleanvalue oftrueif the component is of a correct type andfalseotherwise.
-
register
Description copied from interface:RegistrarBeanMethod called when bean is being registered allowing developer to programatically register other beans.- Specified by:
registerin interfaceRegistrarBean- Parameters:
kernel- - instance from local scope
-
unregister
Description copied from interface:RegistrarBeanMethod called while bean is being unregistered.- Specified by:
unregisterin interfaceRegistrarBean- Parameters:
kernel- - instance from local scope
-
setArchivizers
-
statsUpdated
protected void statsUpdated()
-