C# Class Jellyfish.Commands.Metrics.RollingPercentileNumber

Mostra file Open project: Zenasoft/Jellyfish.Commands Class Usage Examples

Private Properties

Property Type Description
GetBuckets IEnumerable
GetCurrentBucket Bucket
RollingPercentileNumber Jellyfish.Commands.Utils

Public Methods

Method Description
AddValue ( int value ) : void
GetPercentile ( double percentile ) : int

Compute a percentile from the underlying rolling buckets of values.

For performance reasons it maintains a single snapshot of the sorted values from all buckets that is re-generated each time the bucket rotates.

This means that if a bucket is 5000ms, then this method will re-compute a percentile at most once every 5000ms. value such as 99 (99th percentile), 99.5 (99.5th percentile), 50 (median, 50th percentile) to compute and retrieve percentile from rolling buckets. percentile value

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

Private Methods

Method Description
GetBuckets ( long startWindowTime ) : IEnumerable

Returns all bucket in reverse order (most recent first)

GetCurrentBucket ( ) : Bucket
RollingPercentileNumber ( IClock clock, int timeInMs, int numberOfBuckets, int dataLength, IDynamicProperty enabled ) : Jellyfish.Commands.Utils

Method Details

AddValue() public method

public AddValue ( int value ) : void
value int
return void

GetPercentile() public method

Compute a percentile from the underlying rolling buckets of values.

For performance reasons it maintains a single snapshot of the sorted values from all buckets that is re-generated each time the bucket rotates.

This means that if a bucket is 5000ms, then this method will re-compute a percentile at most once every 5000ms. value such as 99 (99th percentile), 99.5 (99.5th percentile), 50 (median, 50th percentile) to compute and retrieve percentile from rolling buckets. percentile value
public GetPercentile ( double percentile ) : int
percentile double
return int

RollingPercentileNumber() public method

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