diff --git a/NRedisTimeSeries/DataTypes/TimeSeriesInformation.cs b/NRedisTimeSeries/DataTypes/TimeSeriesInformation.cs index 7c434fa..c8c959f 100644 --- a/NRedisTimeSeries/DataTypes/TimeSeriesInformation.cs +++ b/NRedisTimeSeries/DataTypes/TimeSeriesInformation.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; namespace NRedisTimeSeries.DataTypes diff --git a/NRedisTimeSeries/TimeSeriesClientResponseParser.cs b/NRedisTimeSeries/TimeSeriesClientResponseParser.cs index 40b7303..9616517 100644 --- a/NRedisTimeSeries/TimeSeriesClientResponseParser.cs +++ b/NRedisTimeSeries/TimeSeriesClientResponseParser.cs @@ -110,24 +110,54 @@ private static IReadOnlyList ParseRuleArray(RedisResult result) private static TimeSeriesInformation ParseInfo(RedisResult result) { + long totalSamples = -1, memoryUsage = -1, retentionTime = -1, chunkSize=-1, chunkCount = -1; + TimeStamp firstTimestamp = null, lastTimestamp = null; + IReadOnlyList labels = null; + IReadOnlyList rules = null; + string sourceKey = null; RedisResult[] redisResults = (RedisResult[])result; - long totalSamples = (long)redisResults[1]; - long memoryUsage = (long)redisResults[3]; - TimeStamp firstTimeStamp = ParseTimeStamp(redisResults[5]); - TimeStamp lastTimeStamp = ParseTimeStamp(redisResults[7]); - long retentionTime = (long)redisResults[9]; - long chunkCount = (long)redisResults[11]; - string chunkSizeProperty = (string)redisResults[12]; - long chunkSize = (long)redisResults[13]; - // If the property name is maxSamplesPerChunk then this is an old version of RedisTimeSeries and we used the number of samples before ( now Bytes ) - if (string.Equals(chunkSizeProperty, "maxSamplesPerChunk")) - { - chunkSize = chunkSize * 16; + for(int i=0; i labels = ParseLabelArray(redisResults[15]); - string destKey = (string)redisResults[17]; - IReadOnlyList rules = ParseRuleArray(redisResults[19]); - return new TimeSeriesInformation(totalSamples, memoryUsage, firstTimeStamp, lastTimeStamp, retentionTime, chunkCount, chunkSize, labels, destKey, rules); + return new TimeSeriesInformation(totalSamples, memoryUsage, firstTimestamp, + lastTimestamp, retentionTime, chunkCount, chunkSize, labels, sourceKey, rules); } private static IReadOnlyList ParseStringArray(RedisResult result) @@ -139,4 +169,4 @@ private static IReadOnlyList ParseStringArray(RedisResult result) return list; } } -} \ No newline at end of file +}