コード例 #1
0
        public async Task ShouldReturnParsedFloatingNumberMetricsValue()
        {
            var connectionMultiplexer = GetConnectionMultiplexerMockForSortedSetEntries(new SortedSetEntry[] { new SortedSetEntry(new RedisValue("1000 2 10.33 50.55 60.6666"), 1000), });

            var metricsRetriever = new RedisMetricsRetriever(connectionMultiplexer);

            var metricValues = await metricsRetriever.QueryAsync(applicationId, metricName, metricNamespace, new Metricaly.Core.Common.TimePeriod {
                StartTimestamp = 0, EndTimestamp = 1000
            });

            metricValues.Should().HaveCount(1);
            metricValues[0].TimeStamp.Should().Be(1000);
            metricValues[0].Count.Should().Be(2);
            metricValues[0].Min.Should().Be(10.33);
            metricValues[0].Max.Should().Be(50.55);
            metricValues[0].Sum.Should().Be(60.6666);
        }
コード例 #2
0
        public async Task ShouldReturnMultipleParsedMetricsValue()
        {
            var connectionMultiplexer = GetConnectionMultiplexerMockForSortedSetEntries(new SortedSetEntry[]
            {
                new SortedSetEntry(new RedisValue("1000 2 10 50 60"), 1000),
                new SortedSetEntry(new RedisValue("1001 2 10 50 60"), 1001),
                new SortedSetEntry(new RedisValue("1002 2 10 50 60"), 1002),
                new SortedSetEntry(new RedisValue("1003 2 10 50 60"), 1003),
            });

            var metricsRetriever = new RedisMetricsRetriever(connectionMultiplexer);

            var metricValues = await metricsRetriever.QueryAsync(applicationId, metricName, metricNamespace, new Metricaly.Core.Common.TimePeriod {
                StartTimestamp = 0, EndTimestamp = 1000
            });

            metricValues.Should().HaveCount(4);

            metricValues[0].TimeStamp.Should().Be(1000);
            metricValues[1].TimeStamp.Should().Be(1001);
            metricValues[2].TimeStamp.Should().Be(1002);
            metricValues[3].TimeStamp.Should().Be(1003);
        }