C# Class Akka.Cluster.ClusterMetricsCollector

INTERNAL API Cluster metrics is primarily for load-balancing of nodes. It controls metrics sampling at a regular frequency, prepares highly variable data for further analysis by other entities, and publishes the latest cluster metrics data around the node ring and local eventStream to assist in determining the need to redirect traffic to the least-loaded nodes. Metrics sampling is delegated to the IMetricsCollector. Smoothing of the data for each monitored process is delegated to the EWMA for exponential weighted moving average.
Inheritance: ReceiveActor
Datei anzeigen Open project: rogeralsing/akka.net

Public Methods

Method Description
ClusterMetricsCollector ( IActorRef publisher ) : System

Protected Methods

Method Description
PostStop ( ) : void
PreStart ( ) : void

Private Methods

Method Description
AddMember ( Member member ) : void

Adds a member to the node ring.

Collect ( ) : void

Samples the latest metrics for the node, updates metrics statistics in MetricsGossip, and publishes the changes to the event bus.

Gossip ( ) : void
GossipTo ( Akka.Actor.Address address ) : void
Publish ( ) : void

Publishes to the event stream.

ReceiveGossip ( MetricsGossipEnvelope envelope ) : void

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.

ReceiveState ( ClusterEvent state ) : void

Update the initial node ring for those nodes that are MemberStatus.Up

RemoveMember ( Member member ) : void

Removes a member from the node ring.

ReplyGossipTo ( Akka.Actor.Address address ) : void
SelectRandomNode ( ImmutableList
addresses ) : Akka.Actor.Address
SendGossip ( Akka.Actor.Address address, MetricsGossipEnvelope envelope ) : void

Method Details

ClusterMetricsCollector() public method

public ClusterMetricsCollector ( IActorRef publisher ) : System
publisher IActorRef
return System

PostStop() protected method

protected PostStop ( ) : void
return void

PreStart() protected method

protected PreStart ( ) : void
return void