Skip to content

RunTimeSeriesBucketing

Namespace AgentPrism · Assembly AgentPrism.Abstractions.dll

The shared pure logic for time-series bucket computation. Both InMemoryRunStore and PostgresRunStore use this type, so the bucket limit and rounding rules never diverge between the two stores.

public static class RunTimeSeriesBucketing

objectRunTimeSeriesBucketing

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

The maximum number of buckets a query may produce.

public const int MaxBuckets = 500

int

Returns a bucket’s width.

public static TimeSpan StepFor(TimeSeriesBucket bucket)

bucket TimeSeriesBucket

TimeSpan

Truncate(DateTimeOffset, TimeSeriesBucket)

Section titled “ Truncate(DateTimeOffset, TimeSeriesBucket)”

Rounds a timestamp down to the bucket boundary (UTC).

public static DateTimeOffset Truncate(DateTimeOffset value, TimeSeriesBucket bucket)

value DateTimeOffset

bucket TimeSeriesBucket

DateTimeOffset

Validate(DateTimeOffset, DateTimeOffset, TimeSeriesBucket)

Section titled “ Validate(DateTimeOffset, DateTimeOffset, TimeSeriesBucket)”

Validates that the requested range and bucket width does not exceed RunTimeSeriesBucketing.MaxBuckets.

public static void Validate(DateTimeOffset from, DateTimeOffset to, TimeSeriesBucket bucket)

from DateTimeOffset

to DateTimeOffset

bucket TimeSeriesBucket

AgentPrismException

The range exceeds the maximum number of buckets.