Class ClusterMetricsCollector

  • All Implemented Interfaces:
    Actor, ActorLogging

    public class ClusterMetricsCollector
    extends java.lang.Object
    implements Actor, ActorLogging
    INTERNAL API.

    Actor responsible for periodic data sampling in the node and publication to the cluster.

    • Constructor Detail

      • ClusterMetricsCollector

        public ClusterMetricsCollector()
    • Method Detail

      • context

        public ActorContext context()
        Description copied from interface: Actor
        Scala API: Stores the context for this actor, including self, and sender. It is implicit to support operations such as forward.

        WARNING: Only valid within the Actor itself, so do not close over it and publish it to other threads!

        ActorContext is the Scala API. getContext returns a AbstractActor.ActorContext, which is the Java API of the actor context.

        Specified by:
        context in interface Actor
      • self

        public final ActorRef self()
        Description copied from interface: Actor
        The 'self' field holds the ActorRef for this actor.

        Can be used to send messages to itself:
         self ! message
         
        Specified by:
        self in interface Actor
      • akka$actor$Actor$_setter_$context_$eq

        protected void akka$actor$Actor$_setter_$context_$eq​(ActorContext x$1)
        Description copied from interface: Actor
        Scala API: Stores the context for this actor, including self, and sender. It is implicit to support operations such as forward.

        WARNING: Only valid within the Actor itself, so do not close over it and publish it to other threads!

        ActorContext is the Scala API. getContext returns a AbstractActor.ActorContext, which is the Java API of the actor context.

        Specified by:
        akka$actor$Actor$_setter_$context_$eq in interface Actor
      • akka$actor$Actor$_setter_$self_$eq

        protected final void akka$actor$Actor$_setter_$self_$eq​(ActorRef x$1)
        Description copied from interface: Actor
        The 'self' field holds the ActorRef for this actor.

        Can be used to send messages to itself:
         self ! message
         
        Specified by:
        akka$actor$Actor$_setter_$self_$eq in interface Actor
      • cluster

        public Cluster cluster()
      • nodes

        public scala.collection.immutable.SortedSet<Address> nodes()
        The node ring gossipped that contains only members that are Up.
      • nodes_$eq

        public void nodes_$eq​(scala.collection.immutable.SortedSet<Address> x$1)
      • latestGossip

        public MetricsGossip latestGossip()
        The latest metric values with their statistical data.
      • latestGossip_$eq

        public void latestGossip_$eq​(MetricsGossip x$1)
      • collector

        public MetricsCollector collector()
        The metrics collector that samples data on the node.
      • gossipTask

        public Cancellable gossipTask()
        Start periodic gossip to random nodes in cluster
      • sampleTask

        public Cancellable sampleTask()
        Start periodic metrics collection
      • preStart

        public void preStart()
        Description copied from interface: Actor
        User overridable callback.

        Is called when an Actor is started. Actors are automatically started asynchronously when created. Empty default implementation.
        Specified by:
        preStart in interface Actor
      • receive

        public scala.PartialFunction<java.lang.Object,​scala.runtime.BoxedUnit> receive()
        Description copied from interface: Actor
        Scala API: This defines the initial actor behavior, it must return a partial function with the actor logic.
        Specified by:
        receive in interface Actor
      • postStop

        public void postStop()
        Description copied from interface: Actor
        User overridable callback.

        Is called asynchronously after 'actor.stop()' is invoked. Empty default implementation.
        Specified by:
        postStop in interface Actor
      • addMember

        public void addMember​(Member member)
        Adds a member to the node ring.
      • removeMember

        public void removeMember​(Member member)
        Removes a member from the member node ring.
      • sample

        public void sample()
        Samples the latest metrics for the node, updates metrics statistics in MetricsGossip, and publishes the change to the event bus.

        See Also:
        MetricsCollector
      • receiveGossip

        public void receiveGossip​(MetricsGossipEnvelope envelope)
        Receives changes from peer nodes, merges remote with local gossip nodes, then publishes changes to the event stream for load balancing router consumption, and gossip back.
      • gossip

        public void gossip()
        Gossip to peer nodes.
      • gossipTo

        public void gossipTo​(Address address)
      • replyGossipTo

        public void replyGossipTo​(Address address)
      • selectRandomNode

        public scala.Option<Address> selectRandomNode​(scala.collection.immutable.IndexedSeq<Address> addresses)
      • publish

        public void publish()
        Publishes to the event stream.