Jellyfish.Commands.Metrics.RollingPercentileNumber.RollingPercentileNumber C# (CSharp) Method

RollingPercentileNumber() private method

private RollingPercentileNumber ( IClock clock, int timeInMs, int numberOfBuckets, int dataLength, IDynamicProperty enabled ) : Jellyfish.Commands.Utils
clock IClock
timeInMs int
numberOfBuckets int
dataLength int
enabled IDynamicProperty
return Jellyfish.Commands.Utils
        internal RollingPercentileNumber(IClock clock, int timeInMs, int numberOfBuckets, int dataLength, IDynamicProperty<bool> enabled)
        {
            this.enabled = enabled;
            this.TimeInMs = timeInMs;
            this.clock = clock;
            this.bucketSizeInMs = timeInMs / numberOfBuckets;
            var cx = numberOfBuckets + 1; // + one spare
            buckets = new Bucket[cx];
            this.numberOfBuckets = numberOfBuckets;

            for (int i = 0; i < cx; i++)
            {
                buckets[i] = new Bucket(dataLength);
            }

            buckets[0].bucketStartInMs = clock.EllapsedTimeInMs;
            _percentileSnapshot = new PercentileSnapshot(GetBuckets().Select(b=>new SnapshotItem { Length = b.Length, Data = b.data }).ToArray());
        }

Same methods

RollingPercentileNumber::RollingPercentileNumber ( int timeInMs, int numberOfBuckets, int dataLength, IDynamicProperty enabled ) : Jellyfish.Commands.Utils