tigase.stats

## Class StatisticsCollector

- java.lang.Object
- - tigase.server.BasicComponent
  - - tigase.server.AbstractComponentRegistrator<StatisticsContainer>
    - - tigase.stats.StatisticsCollector

- All Implemented Interfaces:
    ClusteredComponentIfc, Configurable, XMPPService, ComponentRegistrator, ServerComponent, ShutdownHook, VHostListener

      public class StatisticsCollector
      extends AbstractComponentRegistrator<StatisticsContainer>
      implements ShutdownHook

  Class StatisticsCollector Created: Tue Nov 22 07:07:11 2005
  Version:
    $Rev$
  Author:
    Artur Hefczyc

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `ERRORS_STATISTICS_MBEAN_NAME`
    `static String` | `STATISTICS_MBEAN_NAME`
    `static String` | `STATS_ARCHIVIZERS`
    `static String` | `STATS_ARCHIVIZERS_PROP_KEY`
    `static String` | `STATS_HISTORY`
    `static String` | `STATS_HISTORY_SIZE_PROP_KEY`
    `static int` | `STATS_HISTORY_SIZE_PROP_VAL`
    `static String` | `STATS_UPDATE_INTERVAL_PROP_KEY`
    `static long` | `STATS_UPDATE_INTERVAL_PROP_VAL`

    - ### Fields inherited from class tigase.server.AbstractComponentRegistrator

      `components`

    - ### Fields inherited from class tigase.server.BasicComponent

      `admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManager`

    - ### Fields 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_SRECV_NAME, DEF_SSEND_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, SRECV_COMP_CLASS_NAME, SSEND_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_ACK`

    - ### Fields inherited from interface tigase.disco.XMPPService

      `CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StatisticsCollector()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `componentAdded(StatisticsContainer component)` Method provides a callback mechanism signaling that a new component implementing special interface has been added to the internal `components` collection.
    `void` | `componentRemoved(StatisticsContainer component)` Method provides a callback mechanism signaling that a component implementing special interface has been removed from the internal `components` collection.
    `StatisticsList` | `getAllStats()`
    `void` | `getAllStats(StatisticsList list)`
    `List<String>` | `getComponentsNames()`
    `void` | `getComponentStats(String name, StatisticsList list)`
    `Map<String,Object>` | `getDefaults(Map<String,Object> params)` Returns default configuration settings for the component as a `Map` with keys as configuration property IDs and values as the configuration property values.
    `List<Element>` | `getDiscoFeatures(JID from)` Returns features for top level disco info
    `Element` | `getDiscoInfo(String node, JID jid, JID from)` Returns service discovery info for the component.
    `List<Element>` | `getDiscoItems(String node, JID jid, JID from)` Returns service discovery items for the component.
    `String` | `getName()` Method description
    `void` | `initializationCompleted()` Method is called by `MessageRouter` when all the startup components of the server have been loaded and configured through setProperties(...) call.
    `boolean` | `isCorrectType(ServerComponent component)` Method checks whether the component provides as method parameter is correct type that is implements special interface or extends special class.
    `void` | `processPacket(Packet packet, Queue<Packet> results)` `processPacket` is a blocking processing method implemented by all components.
    `void` | `release()` Method description
    `void` | `setName(String name)` Method description
    `void` | `setProperties(Map<String,Object> props)` Sets all configuration properties for the object.
    `String` | `shutdown()`
    `protected void` | `statsUpdated()`

    - ### Methods inherited from class tigase.server.AbstractComponentRegistrator

      `addComponent, deleteComponent, getComponent, newPacketId`

    - ### Methods inherited from class tigase.server.BasicComponent

      `addComponentDomain, canCallCommand, checkCommandAcl, everyHour, everyMinute, everySecond, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoCategoryType, getDiscoDescription, getDiscoFeatures, getDiscoInfo, getDiscoItems, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getStatistics, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initBindings, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setClusterController, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface tigase.server.ServerComponent

      `getComponentId, getComponentInfo, isInitializationComplete`

- - ### Field Detail

    - #### ERRORS_STATISTICS_MBEAN_NAME

          public static final String ERRORS_STATISTICS_MBEAN_NAME

      See Also:
        Constant Field Values

    - #### STATISTICS_MBEAN_NAME

          public static final String STATISTICS_MBEAN_NAME

      See Also:
        Constant Field Values

    - #### STATS_ARCHIVIZERS

          public static final String STATS_ARCHIVIZERS

      See Also:
        Constant Field Values

    - #### STATS_ARCHIVIZERS_PROP_KEY

          public static final String STATS_ARCHIVIZERS_PROP_KEY

      See Also:
        Constant Field Values

    - #### STATS_HISTORY

          public static final String STATS_HISTORY

      See Also:
        Constant Field Values

    - #### STATS_HISTORY_SIZE_PROP_KEY

          public static final String STATS_HISTORY_SIZE_PROP_KEY

      See Also:
        Constant Field Values

    - #### STATS_HISTORY_SIZE_PROP_VAL

          public static final int STATS_HISTORY_SIZE_PROP_VAL

      See Also:
        Constant Field Values

    - #### STATS_UPDATE_INTERVAL_PROP_KEY

          public static final String STATS_UPDATE_INTERVAL_PROP_KEY

      See Also:
        Constant Field Values

    - #### STATS_UPDATE_INTERVAL_PROP_VAL

          public static final long STATS_UPDATE_INTERVAL_PROP_VAL

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### StatisticsCollector

          public StatisticsCollector()

  - ### Method Detail

    - #### componentAdded

          public void componentAdded(StatisticsContainer component)

      Description copied from class: `AbstractComponentRegistrator`
      Method provides a callback mechanism signaling that a new component implementing special interface has been added to the internal `components` collection.
      Specified by:
        `componentAdded` in class `AbstractComponentRegistrator<StatisticsContainer>`
      Parameters:
        `component` - is a reference to the component just added to the collection.

    - #### componentRemoved

          public void componentRemoved(StatisticsContainer component)

      Description copied from class: `AbstractComponentRegistrator`
      Method provides a callback mechanism signaling that a component implementing special interface has been removed from the internal `components` collection.
      Specified by:
        `componentRemoved` in class `AbstractComponentRegistrator<StatisticsContainer>`
      Parameters:
        `component` - is a reference to the component removed from the collection.

    - #### initializationCompleted

          public void initializationCompleted()

      Description copied from interface: `ServerComponent`
      Method is called by `MessageRouter` when 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:
        `initializationCompleted` in interface `ServerComponent`
      Overrides:
        `initializationCompleted` in class `BasicComponent`

    - #### processPacket

          public void processPacket(Packet packet,
                                    Queue<Packet> results)

      Description copied from interface: `ServerComponent`
      `processPacket` is a blocking processing method implemented by all components. This method processes packet and returns results instantly without waiting for any resources.
      Specified by:
        `processPacket` in interface `ServerComponent`
      Overrides:
        `processPacket` in class `BasicComponent`
      Parameters:
        `packet` - a `Packet` value

    - #### release

          public void release()

      Description copied from interface: `ServerComponent`
      Method description
      Specified by:
        `release` in interface `ServerComponent`
      Overrides:
        `release` in class `AbstractComponentRegistrator<StatisticsContainer>`

    - #### shutdown

          public String shutdown()

      Specified by:
        `shutdown` in interface `ShutdownHook`

    - #### getAllStats

          public StatisticsList getAllStats()

    - #### getAllStats

          public void getAllStats(StatisticsList list)

    - #### getComponentsNames

          public List<String> getComponentsNames()

    - #### getComponentStats

          public void getComponentStats(String name,
                                        StatisticsList list)

    - #### getDefaults

          public Map<String,Object> getDefaults(Map<String,Object> params)

      Description copied from interface: `Configurable`
      Returns default configuration settings for the component as a `Map` with keys as configuration property IDs and values as the configuration property values. All the default parameters returned from this method are later passed to the `setProperties(...)` method. Some of them may have changed value if they have been overwritten in the server configuration. The configuration property value can be of any of the basic types: `int`, `long`, `boolean`, `String`.
      Specified by:
        `getDefaults` in interface `Configurable`
      Overrides:
        `getDefaults` in class `BasicComponent`
      Parameters:
        `params` - is a `Map` with some initial properties set for the starting up server. These parameters can be used as a hints to generate component's default configuration.
      Returns:
        a `Map` with the component default configuration.

    - #### getDiscoFeatures

          public List<Element> getDiscoFeatures(JID from)

      Description copied from interface: `XMPPService`
      Returns features for top level disco info
      Specified by:
        `getDiscoFeatures` in interface `XMPPService`
      Overrides:
        `getDiscoFeatures` in class `BasicComponent`
      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:
        a list of elements with service discovery features.

    - #### getDiscoInfo

          public Element getDiscoInfo(String node,
                                      JID jid,
                                      JID from)

      Description copied from interface: `XMPPService`
      Returns 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:
        `getDiscoInfo` in interface `XMPPService`
      Overrides:
        `getDiscoInfo` in class `BasicComponent`
      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

          public List<Element> getDiscoItems(String node,
                                             JID jid,
                                             JID from)

      Description copied from interface: `XMPPService`
      Returns 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:
        `getDiscoItems` in interface `XMPPService`
      Overrides:
        `getDiscoItems` in class `BasicComponent`
      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

          public String getName()

      Description copied from interface: `ServerComponent`
      Method description
      Specified by:
        `getName` in interface `ServerComponent`
      Specified by:
        `getName` in interface `ShutdownHook`
      Overrides:
        `getName` in class `BasicComponent`

    - #### isCorrectType

          public boolean isCorrectType(ServerComponent component)

      Description copied from class: `AbstractComponentRegistrator`
      Method 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 internal `components` collection.
      Specified by:
        `isCorrectType` in class `AbstractComponentRegistrator<StatisticsContainer>`
      Parameters:
        `component` - is a reference to the component being checked.
      Returns:
        a `boolean` value of `true` if the component is of a correct type and `false` otherwise.

    - #### setName

          public void setName(String name)

      Description copied from interface: `ServerComponent`
      Method description
      Specified by:
        `setName` in interface `ServerComponent`
      Overrides:
        `setName` in class `BasicComponent`

    - #### setProperties

          public void setProperties(Map<String,Object> props)
                             throws ConfigurationException

      Description copied from interface: `Configurable`
      Sets all configuration properties for the object.
      Specified by:
        `setProperties` in interface `Configurable`
      Overrides:
        `setProperties` in class `BasicComponent`
      Parameters:
        `props` - `Map` with the configuration
      Throws:
        `ConfigurationException` - - if setting configuration will fail which will make it unable to work

    - #### statsUpdated

          protected void statsUpdated()

Copyright © 2022 "Tigase, Inc.". All rights reserved.