RunTimeSeriesBucketing
AgentPrism.Abstractions.dllThe 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 RunTimeSeriesBucketingInheritance
Section titled “Inheritance”object ← RunTimeSeriesBucketing
Inherited Members
Section titled “Inherited Members”object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Fields
Section titled “Fields”MaxBuckets
Section titled “ MaxBuckets”The maximum number of buckets a query may produce.
public const int MaxBuckets = 500Field Value
Section titled “Field Value”Methods
Section titled “Methods”StepFor(TimeSeriesBucket)
Section titled “ StepFor(TimeSeriesBucket)”Returns a bucket’s width.
public static TimeSpan StepFor(TimeSeriesBucket bucket)Parameters
Section titled “Parameters”bucket TimeSeriesBucket
Returns
Section titled “Returns”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)Parameters
Section titled “Parameters”value DateTimeOffset
bucket TimeSeriesBucket
Returns
Section titled “Returns”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)Parameters
Section titled “Parameters”from DateTimeOffset
bucket TimeSeriesBucket
Exceptions
Section titled “Exceptions”The range exceeds the maximum number of buckets.