public TimerValue Scale(TimeUnit rate, TimeUnit duration) { var durationFactor = _durationUnit.ScalingFactorFor(duration); var total = _durationUnit.Convert(duration, TotalTime); return(new TimerValue(Rate.Scale(rate), Histogram.Scale(durationFactor), ActiveSessions, total, duration)); }
public static long Convert(this TimeUnit sourceUnit, TimeUnit targetUnit, long value) { if (sourceUnit == targetUnit) { return(value); } return(System.Convert.ToInt64(value * sourceUnit.ScalingFactorFor(targetUnit))); }
public MeterValue Scale(TimeUnit unit) { if (unit == RateUnit) { return(this); } var factor = unit.ScalingFactorFor(TimeUnit.Seconds); return(new MeterValue(Count, MeanRate * factor, OneMinuteRate * factor, FiveMinuteRate * factor, FifteenMinuteRate * factor, unit, Items.Select(i => new SetItem(i.Item, i.Percent, i.Value.Scale(unit))).ToArray())); }