diff --git a/src/NRedisStack/PublicAPI/PublicAPI.Shipped.txt b/src/NRedisStack/PublicAPI/PublicAPI.Shipped.txt
index a53931b5..8652ade9 100644
--- a/src/NRedisStack/PublicAPI/PublicAPI.Shipped.txt
+++ b/src/NRedisStack/PublicAPI/PublicAPI.Shipped.txt
@@ -525,6 +525,8 @@ NRedisStack.Literals.Enums.TsAggregation.StdP = 8 -> NRedisStack.Literals.Enums.
NRedisStack.Literals.Enums.TsAggregation.StdS = 9 -> NRedisStack.Literals.Enums.TsAggregation
NRedisStack.Literals.Enums.TsAggregation.Sum = 1 -> NRedisStack.Literals.Enums.TsAggregation
NRedisStack.Literals.Enums.TsAggregation.Twa = 12 -> NRedisStack.Literals.Enums.TsAggregation
+NRedisStack.Literals.Enums.TsAggregation.CountNan = 13 -> NRedisStack.Literals.Enums.TsAggregation
+NRedisStack.Literals.Enums.TsAggregation.CountAll = 14 -> NRedisStack.Literals.Enums.TsAggregation
NRedisStack.Literals.Enums.TsAggregation.VarP = 10 -> NRedisStack.Literals.Enums.TsAggregation
NRedisStack.Literals.Enums.TsAggregation.VarS = 11 -> NRedisStack.Literals.Enums.TsAggregation
NRedisStack.Literals.Enums.TsBucketTimestamps
diff --git a/src/NRedisStack/TimeSeries/Extensions/AggregationExtensions.cs b/src/NRedisStack/TimeSeries/Extensions/AggregationExtensions.cs
index cd22dfaf..65ccd0d6 100644
--- a/src/NRedisStack/TimeSeries/Extensions/AggregationExtensions.cs
+++ b/src/NRedisStack/TimeSeries/Extensions/AggregationExtensions.cs
@@ -19,6 +19,8 @@ internal static class AggregationExtensions
TsAggregation.VarP => "var.p",
TsAggregation.VarS => "var.s",
TsAggregation.Twa => "twa",
+ TsAggregation.CountNan => "countnan",
+ TsAggregation.CountAll => "countall",
_ => throw new ArgumentOutOfRangeException(nameof(aggregation), "Invalid aggregation type"),
};
@@ -50,6 +52,8 @@ internal static class AggregationExtensions
"VAR.P" => TsAggregation.VarP,
"VAR.S" => TsAggregation.VarS,
"TWA" => TsAggregation.Twa,
+ "COUNTNAN" => TsAggregation.CountNan,
+ "COUNTALL" => TsAggregation.CountAll,
_ => throw new ArgumentOutOfRangeException(nameof(aggregation), $"Invalid aggregation type '{aggregation}'"),
};
}
\ No newline at end of file
diff --git a/src/NRedisStack/TimeSeries/Literals/Enums/Aggregation.cs b/src/NRedisStack/TimeSeries/Literals/Enums/Aggregation.cs
index 8e94ddf4..b14fd418 100644
--- a/src/NRedisStack/TimeSeries/Literals/Enums/Aggregation.cs
+++ b/src/NRedisStack/TimeSeries/Literals/Enums/Aggregation.cs
@@ -74,4 +74,16 @@ public enum TsAggregation
/// Time-weighted average of all values
///
Twa,
+
+ ///
+ /// Count of NaN values in the aggregation bucket
+ ///
+ /// Available since Redis 8.6.0
+ CountNan,
+
+ ///
+ /// Count of all values (including NaN) in the aggregation bucket
+ ///
+ /// Available since Redis 8.6.0
+ CountAll,
}
\ No newline at end of file
diff --git a/src/NRedisStack/TimeSeries/TimeSeriesAux.cs b/src/NRedisStack/TimeSeries/TimeSeriesAux.cs
index 232e54f5..7a944e4a 100644
--- a/src/NRedisStack/TimeSeries/TimeSeriesAux.cs
+++ b/src/NRedisStack/TimeSeries/TimeSeriesAux.cs
@@ -2,6 +2,7 @@
using NRedisStack.Literals.Enums;
using NRedisStack.DataTypes;
using NRedisStack.Extensions;
+using StackExchange.Redis;
namespace NRedisStack;
@@ -195,7 +196,7 @@ public static List