Class RangeArgs

java.lang.Object
io.quarkus.redis.datasource.timeseries.RangeArgs
All Implemented Interfaces:
RedisCommandExtraArguments

public class RangeArgs extends Object implements RedisCommandExtraArguments
Represent the TS.RANGE and TS.REVRANGE commands optional parameters.
  • Constructor Details

    • RangeArgs

      public RangeArgs()
  • Method Details

    • latest

      public RangeArgs latest()
      Used when a time series is a compaction. With LATEST, TS.MRANGE also reports the compacted value of the latest possibly partial bucket, given that this bucket's start time falls within [fromTimestamp, toTimestamp]. Without LATEST, TS.MRANGE does not report the latest possibly partial bucket. When a time series is not a compaction, LATEST is ignored.
      Returns:
      the current MRangeArgs
    • filterByTimestamp

      public RangeArgs filterByTimestamp(long... timestamps)
      Filters samples by a list of specific timestamps. A sample passes the filter if its exact timestamp is specified and falls within [fromTimestamp, toTimestamp].
      Parameters:
      timestamps - the timestamps
      Returns:
      the current MRangeArgs
    • filterByValue

      public RangeArgs filterByValue(double min, double max)
      Filters samples by minimum and maximum values.
      Parameters:
      min - the min value of the sample
      max - the max value of the sample
      Returns:
      the current MRangeArgs
    • count

      public RangeArgs count(int count)
      Limits the number of returned samples.
      Parameters:
      count - the max number of samples to return
      Returns:
      the current MRangeArgs
    • align

      public RangeArgs align(long timestamp)
      Set the time bucket alignment control for AGGREGATION. It controls the time bucket timestamps by changing the reference timestamp on which a bucket is defined.
      Parameters:
      timestamp - the timestamp
      Returns:
      the current MRangeArgs
    • alignUsingRangeStart

      public RangeArgs alignUsingRangeStart()
      Set the time bucket alignment control for AGGREGATION to the query start interval time (fromTimestamp). It controls the time bucket timestamps by changing the reference timestamp on which a bucket is defined.
      Returns:
      the current MRangeArgs
    • alignUsingRangeEnd

      public RangeArgs alignUsingRangeEnd()
      Set the time bucket alignment control for AGGREGATION to the query end interval time (toTimestamp). It controls the time bucket timestamps by changing the reference timestamp on which a bucket is defined.
      Returns:
      the current MRangeArgs
    • aggregation

      public RangeArgs aggregation(Aggregation aggregation, Duration bucketDuration)
      Aggregates results into time buckets.
      Parameters:
      aggregation - the aggregation function, must not be null
      bucketDuration - the duration of each bucket, must not be null
      Returns:
      the current MRangeArgs
    • bucketTimestamp

      public RangeArgs bucketTimestamp(BucketTimestamp ts)
      Controls how bucket timestamps are reported.
      Parameters:
      ts - the bucket timestamp configuration, must not be null
      Returns:
      the current MRangeArgs
    • empty

      public RangeArgs empty()
      When specified, reports aggregations also for empty buckets.
      Returns:
      the current MRangeArgs
    • toArgs

      public List<Object> toArgs()
      Specified by:
      toArgs in interface RedisCommandExtraArguments
      Returns:
      the list of arguments.