Example #1
0
 internal long ComputeUpdatedProvisioned(
     AutoscaleDirection autoscaleDirection,
     long provisionedUnits,
     int increasePercent,
     int decreasePercent,
     int minProvisioned,
     int maxProvisioned)
 {
     var updatedUnits = ComputeUpdatedProvisioned(autoscaleDirection, provisionedUnits, increasePercent, decreasePercent);
     updatedUnits = autoscalingCalculator.EnsureProvisionInRange(updatedUnits, minProvisioned, maxProvisioned);
     return updatedUnits;
 }
Example #2
0
 private long ComputeUpdatedProvisioned(
     AutoscaleDirection autoscaleDirection,
     long provisionedUnits,
     int increasePercent,
     int decreasePercent)
 {
     switch (autoscaleDirection)
     {
         case AutoscaleDirection.UltraUp:
             return autoscalingCalculator.CalculateProvisionIncrease(provisionedUnits, increasePercent * 4);
         case AutoscaleDirection.ExtraUp:
             return autoscalingCalculator.CalculateProvisionIncrease(provisionedUnits, increasePercent * 2);
         case AutoscaleDirection.Up:
             return autoscalingCalculator.CalculateProvisionIncrease(provisionedUnits, increasePercent);
         case AutoscaleDirection.Down:
             return autoscalingCalculator.CalculateProvisionDecrease(provisionedUnits, decreasePercent);
         default:
             return provisionedUnits;
     }
 }
Example #3
0
        internal long ComputeUpdatedProvisioned(
            long provisioned,
            AutoscaleDirection autoscaleDirection,
            DynamoDbThroughputMetrics metrics,
            AutoscalingConfiguration configuration)
        {
            var increasePercent = configuration.IncreaseWithPercent.GetValueOrDefault();
            var decreasePercent = configuration.DecreaseWithPercent.GetValueOrDefault();
            var minProvisioned = configuration.MinProvisioned.GetValueOrDefault();
            var maxProvisioned = configuration.MaxProvisioned.GetValueOrDefault();

            return ComputeUpdatedProvisioned(
                autoscaleDirection, provisioned, increasePercent, decreasePercent, minProvisioned, maxProvisioned);
        }