Class TcpDiscoveryMetricsUpdateMessage

  • All Implemented Interfaces:
    Serializable

    @TcpDiscoveryRedirectToClient
    public class TcpDiscoveryMetricsUpdateMessage
    extends TcpDiscoveryAbstractMessage
    Metrics update message.

    It is sent by coordinator node across the ring once a configured period. Message makes two passes:

    1. During first pass, all nodes add their metrics to the message and update local metrics with metrics currently present in the message.
    2. During second pass, all nodes update all metrics present in the message and remove their own metrics from the message.
    When message reaches coordinator second time it is discarded (it finishes the second pass).
    See Also:
    Serialized Form
    • Constructor Detail

      • TcpDiscoveryMetricsUpdateMessage

        public TcpDiscoveryMetricsUpdateMessage​(UUID creatorNodeId)
        Constructor.
        Parameters:
        creatorNodeId - Creator node.
    • Method Detail

      • setMetrics

        public void setMetrics​(UUID nodeId,
                               ClusterMetrics metrics)
        Sets metrics for particular node.
        Parameters:
        nodeId - Node ID.
        metrics - Node metrics.
      • setCacheMetrics

        public void setCacheMetrics​(UUID nodeId,
                                    Map<Integer,​CacheMetrics> metrics)
        Sets cache metrics for particular node.
        Parameters:
        nodeId - Node ID.
        metrics - Node cache metrics.
      • setClientMetrics

        public void setClientMetrics​(UUID nodeId,
                                     UUID clientNodeId,
                                     ClusterMetrics metrics)
        Sets metrics for a client node.
        Parameters:
        nodeId - Server node ID.
        clientNodeId - Client node ID.
        metrics - Node metrics.
      • removeMetrics

        public void removeMetrics​(UUID nodeId)
        Removes metrics for particular node from the message.
        Parameters:
        nodeId - Node ID.
      • removeCacheMetrics

        public void removeCacheMetrics​(UUID nodeId)
        Removes cache metrics for particular node from the message.
        Parameters:
        nodeId - Node ID.
      • hasMetrics

        public boolean hasMetrics()
        Returns:
        True if this message contains metrics.
      • hasCacheMetrics

        public boolean hasCacheMetrics()
        Returns:
        True this message contains cache metrics.
      • hasMetrics

        public boolean hasMetrics​(UUID nodeId)
        Parameters:
        nodeId - Node ID.
        Returns:
        True if this message contains metrics.
      • hasCacheMetrics

        public boolean hasCacheMetrics​(UUID nodeId)
        Parameters:
        nodeId - Node ID.
        Returns:
        True if this message contains cache metrics for particular node.
      • clientNodeIds

        public Collection<UUID> clientNodeIds()
        Gets client node IDs for particular node.
        Returns:
        Client node IDs.
      • addClientNodeId

        public void addClientNodeId​(UUID clientNodeId)
        Adds client node ID.
        Parameters:
        clientNodeId - Client node ID.
      • traceLogLevel

        public boolean traceLogLevel()
        Overrides:
        traceLogLevel in class TcpDiscoveryAbstractMessage
        Returns:
        True if need use trace logging for this message (to reduce amount of logging with debug level).