Search Results for

    Show / Hide Table of Contents

    Namespace Akka.Cluster.Metrics

    Classes

    AdaptiveLoadBalancingGroup

    A router group that performs load balancing of messages to cluster nodes based on cluster metric data.

    It uses random selection of routees based on probabilities derived from the remaining capacity of corresponding node.

    The configuration parameter trumps the constructor arguments. This means that if you provide paths during instantiation they will be ignored if the router is defined in the configuration file for the actor being used.

    AdaptiveLoadBalancingGroup.AdaptiveLoadBalancingGroupSurrogate

    This class represents a surrogate of a AdaptiveLoadBalancingGroup router. Its main use is to help during the serialization process.

    AdaptiveLoadBalancingPool

    A router pool that performs load balancing of messages to cluster nodes based on cluster metric data.

    It uses random selection of routees based on probabilities derived from the remaining capacity of corresponding node.

    The configuration parameter trumps the constructor arguments. This means that if you provide nrOfInstances during instantiation they will be ignored if the router is defined in the configuration file for the actor being used.

    Supervision Setup

    Any routees that are created by a router will be created as the router's children. The router is therefore also the children's supervisor.

    The supervision strategy of the router actor can be configured with [[#withSupervisorStrategy]]. If no strategy is provided, routers default to a strategy of “always escalate”. This means that errors are passed up to the router's supervisor for handling.

    The router's supervisor will treat the error as an error with the router itself. Therefore a directive to stop or restart will cause the router itself to stop or restart. The router, in turn, will cause its children to stop and restart.

    AdaptiveLoadBalancingPool.AdaptiveLoadBalancingPoolSurrogate

    This class represents a surrogate of a AdaptiveLoadBalancingPool router. Its main use is to help during the serialization process.

    AdaptiveLoadBalancingRoutingLogic

    Load balancing of messages to cluster nodes based on cluster metric data.

    It uses random selection of routees based on probabilities derived from the remaining capacity of corresponding node.

    CapacityMetricsSelector

    A MetricsSelector producing weights from remaining capacity. The weights are typically proportional to the remaining capacity.

    ClusterMetrics

    Cluster metrics extension.

    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 NodeMetrics.Types.EWMA for exponential weighted moving average.

    ClusterMetricsExtensionProvider

    ClusterMetricsExtensionProvider

    ClusterMetricsStrategy

    Default Akka.Cluster.Metrics.ClusterMetricsSupervisor

    CpuMetricsSelector

    MetricsSelector that uses the CPU usage metrics. Low CPU capacity => small node weight.

    MemoryMetricsSelector

    MetricsSelector that uses the memory metrics. Less memory available => small weight.

    MetricsCollectorBuilder

    Factory to create configured IMetricsCollector

    Metrics collector instantiation priority order:

    1. Provided custom collector
    2. Internal DefaultCollector

    MetricsSelectorBuilder

    MetricsSelectorBuilder

    MixMetricsSelector

    MetricsSelector that combines other selectors and aggregates their capacity values. By default it uses MemoryMetricsSelector and CpuMetricsSelector

    MixMetricsSelectorBase

    Base class for IMetricsSelector that combines other selectors and aggregates their capacity.

    StandardMetrics

    Definitions of the built-in standard metrics.

    The following extractors and data structures makes it easy to consume the NodeMetrics in for example load balancers.

    StandardMetrics.Cpu

    CPU metrics

    StandardMetrics.Memory

    Allocated memory metric

    Interfaces

    IClusterMetricsRoutingLogic

    IMetricsCollector

    Metrics sampler.

    Implementations of cluster system metrics collectors extend this interface.

    IMetricsSelector

    A MetricsSelector is responsible for producing weights from the node metrics.

    In this article
    Back to top
    Contribute
    • Project Chat
    • Discussion Forum
    • Source Code
    Support
    • Akka.NET Support Plans
    • Akka.NET Observability Tools
    • Akka.NET Training & Consulting
    Maintained By
    • Petabridge - The Akka.NET Company
    • Learn Akka.NET