src/Orleans.Streaming/LoadShedQueueFlowController.cs
/// <summary>
/// Creates a flow controller triggered when the CPU reaches a percentage of the cluster load shedding limit.
/// This is intended to reduce queue read rate prior to causing the silo to shed load.
/// Note:  Triggered only when load shedding is enabled.
/// </summary>
/// <param name="options">The silo statistics options.</param>
/// <param name="percentOfSiloSheddingLimit">Percentage of load shed limit which triggers a reduction of queue read rate.</param>
/// <returns>The flow controller.</returns>
Creates a flow controller triggered when the CPU reaches a percentage of the cluster load shedding limit.
This is intended to reduce queue read rate prior to causing the silo to shed load.
Note:  Triggered only when load shedding is enabled.
Creates a flow controller triggered when the CPU reaches a percentage of the cluster load shedding limit . This is intended to reduce queue read rate prior to causing the silo to shed load . Note : Triggered only when load shedding is enabled .
public static IQueueFlowController CreateAsPercentOfLoadSheddingLimit(LoadSheddingOptions options, int percentOfSiloSheddingLimit = LoadSheddingOptions.DefaultLoadSheddingLimit)
        {
            if (percentOfSiloSheddingLimit < 0.0 || percentOfSiloSheddingLimit > 100.0) throw new ArgumentOutOfRangeException(nameof(percentOfSiloSheddingLimit), "Percent value must be between 0-100");
            return new LoadShedQueueFlowController((int)(options.LoadSheddingLimit * (percentOfSiloSheddingLimit / 100.0)), options);
        }
public static IQueueFlowController CreateAsPercentOfLoadSheddingLimit ( LoadSheddingOptions options , int percentOfSiloSheddingLimit = LoadSheddingOptions . DefaultLoadSheddingLimit ) { if ( percentOfSiloSheddingLimit < 0.0 || percentOfSiloSheddingLimit > 100.0 ) throw new ArgumentOutOfRangeException ( nameof ( percentOfSiloSheddingLimit ) , " " ) ; return new LoadShedQueueFlowController ( ( int ) ( options . LoadSheddingLimit * ( percentOfSiloSheddingLimit / 100.0 ) ) , options ) ; }
Creates a flow controller triggered when the CPU reaches a percentage of the cluster load shedding limit.
Creates a flow controller triggered when the CPU reaches a percentage of the cluster load shedding limit .
// Start shedding before silo reaches shedding limit.
The flow controller.
The flow controller .
options
LoadSheddingOptions
The silo statistics options.
The silo statistics options .
percentOfSiloSheddingLimit
int
Percentage of load shed limit which triggers a reduction of queue read rate.
Percentage of load shed limit which triggers a reduction of queue read rate .