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; }
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; } }
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); }