Interface AbsoluteStatLimiterMBean

  • All Superinterfaces:
    LimiterMBean, StatLimiterMBean

    public interface AbsoluteStatLimiterMBean
    extends StatLimiterMBean

    Defines the JMX interface for controlling a single absolute stat limiter.

    Limiter Information

    A CompositeData object containing detailed Limiter information for specified nodes is returned by the methods LimiterMBean.getInfoSummary(int[]) and LimiterMBean.getConfigSummary().

    Field Open Type Description

    limiter-name

    String

    The name of this limiter. Always null for per-node values returned by LimiterMBean.getConfigSummary().

    type

    String

    The type of this limiter. Always null for per-node values returned by LimiterMBean.getConfigSummary().

    node-id

    Integer

    The node ID that this row applies to. -1 for the cluster-wide values row returned by LimiterMBean.getConfigSummary().

    parent

    String

    The name of the parent of this limiter or null if it has no parent. Always null for per-node values returned by LimiterMBean.getConfigSummary().

    parameter-set

    String

    The parameter set for the statistic to monitor.

    statistic

    String

    The statistic to monitor.

    bypassed

    Boolean

    The bypassed setting for this limiter.

    tiers

    TabularData

    The rate limit percentage tiers, as a TabularData of Tier Information CompositeData objects (see below).

    Tier Information

    A CompositeData object containing Tier information as returned in the tiers field of the Limiter Information CompositeData object (see above).

    Field Open Type Description

    value

    Long

    The absolute threshold value of this limiter tier.

    limit-percentage

    Double

    The percentage of calls to limit when this tier is active. Between 0 and 100 inclusive.

    Since:
    Rhino 2.7.0
    • Method Detail

      • getTierValues

        long[] getTierValues()
                      throws ConfigurationException

        Get the values representing the limiting tiers.

        Returns:
        an array of the values or an empty array if values not configured
        Throws:
        ConfigurationException - if an error occurred reading the limiter configuration.
        Since:
        Rhino 2.7.0
      • getTierValuesForNodes

        long[][] getTierValuesForNodes​(int[] nodeIDs)
                                throws ConfigurationException,
                                       InvalidArgumentException

        Get the per-node values representing the limiting tiers.

        Parameters:
        nodeIDs - the IDs of the nodes
        Returns:
        a two-dimensional array of the values for each node or an empty array if not configured
        Throws:
        ConfigurationException - if an error occurred reading the limiter configuration.
        InvalidArgumentException - if nodeIDs is a zero-length array.
        Since:
        Rhino 2.7.0
      • setTier

        void setTier​(long value,
                     double limitPercentage)
              throws ConfigurationException,
                     com.opencloud.util.exception.ValidationException

        Create or update the given tier with the specified limit percentage.

        Parameters:
        value - the value of the monitored statistic at which this limiter tier will begin to be in effect
        limitPercentage - the percentage of requested units to reject while this tier is in effect (must be between 0 to 100 inclusive)
        Throws:
        ConfigurationException - if an error occurred updating the limiter configuration.
        com.opencloud.util.exception.ValidationException - if the new limiter configuration is invalid.
        Since:
        Rhino 2.7.0
      • setTierForNode

        void setTierForNode​(long[] values,
                            double[] limitPercentages,
                            int[] nodeIDs)
                     throws ConfigurationException,
                            InvalidArgumentException,
                            com.opencloud.util.exception.ValidationException

        Create or update the given per-node value tiers with the specified limit percentages.

        Parameters:
        values - the values of the monitored statistic at which each limiter tier will begin to be in effect
        limitPercentages - the corresponding percentages of requested units to reject while each tier is in effect (must be between 0 to 100 inclusive)
        nodeIDs - the IDs of the nodes
        Throws:
        ConfigurationException - if an error occurred updating the limiter configuration.
        InvalidArgumentException - if nodeIDs is a zero-length array, or if values, limitPercentages, and nodeIDs differ in length.
        com.opencloud.util.exception.ValidationException - if the new limiter configuration is invalid.
        Since:
        Rhino 2.7.0
      • clearTier

        void clearTier​(long value)
                throws ConfigurationException,
                       com.opencloud.util.exception.ValidationException

        Clear (remove) the given tier if it exists.

        Parameters:
        value - the value of the tier to remove
        Throws:
        ConfigurationException - if an error occurred updating the limiter configuration.
        com.opencloud.util.exception.ValidationException - if the new limiter configuration is invalid.
        Since:
        Rhino 2.7.0
      • clearTierForNode

        void clearTierForNode​(long[] values,
                              int[] nodeIDs)
                       throws ConfigurationException,
                              InvalidArgumentException,
                              com.opencloud.util.exception.ValidationException

        Clear (remove) the given per-node tiers if they exist.

        Parameters:
        values - the values of the max value tiers to remove
        nodeIDs - the IDs of the nodes
        Throws:
        ConfigurationException - if an error occurred updating the limiter configuration.
        InvalidArgumentException - if nodeIDs is a zero-length array, or if values and nodeIDs differ in length.
        com.opencloud.util.exception.ValidationException - if the new limiter configuration is invalid.
        Since:
        Rhino 2.7.0