Ejemplo n.º 1
0
        public void SendGaugeMetricsSuccessfully()
        {
            //Arrange
            var gauges = new ConcurrentDictionary <string, long>();
            var metricsApiClientMock = new Mock <IMetricsSdkApiClient>();
            var cache      = new InMemoryMetricsCache(null, null, gauges);
            var metricsLog = new InMemoryMetricsLog(metricsApiClientMock.Object, cache, 1);

            //Act
            metricsLog.Gauge("gauge_test", 1234);

            //Assert
            metricsApiClientMock.Verify(x => x.SendGaugeMetrics(It.IsAny <string>()));
        }
Ejemplo n.º 2
0
        public void SendCountMetricsSuccessfully()
        {
            //Arrange
            var counters             = new ConcurrentDictionary <string, Counter>();
            var metricsApiClientMock = new Mock <IMetricsSdkApiClient>();
            var cache      = new InMemoryMetricsCache(counters);
            var metricsLog = new InMemoryMetricsLog(metricsApiClientMock.Object, cache, 1);

            //Act
            metricsLog.Count("counter_test", 150);

            //Assert
            metricsApiClientMock.Verify(x => x.SendCountMetrics(It.IsAny <string>()));
        }
Ejemplo n.º 3
0
        public void SendTimeMetricsSuccessfully()
        {
            //Arrange
            var timers = new ConcurrentDictionary <string, ILatencyTracker>();
            var metricsApiClientMock = new Mock <IMetricsSdkApiClient>();
            var cache      = new InMemoryMetricsCache(null, timers);
            var metricsLog = new InMemoryMetricsLog(metricsApiClientMock.Object, cache, 1, -1);

            //Act
            metricsLog.Time("time_test", 1);

            //Assert
            metricsApiClientMock.Verify(x => x.SendTimeMetrics(It.IsAny <string>()));
        }
Ejemplo n.º 4
0
        public void CountShouldNotAddMetricIfNoNameSpecified()
        {
            //Arrange
            var counters   = new ConcurrentDictionary <string, Counter>();
            var cache      = new InMemoryMetricsCache(counters);
            var metricsLog = new InMemoryMetricsLog(null, cache);

            //Act
            metricsLog.Count("", 1);

            //Assert
            Counter counter = cache.GetCount("");

            Assert.IsNull(counter);
        }
Ejemplo n.º 5
0
        public void GaugeShouldNotAddMetricIfNoNameSpecified()
        {
            //Arrange
            var gauges     = new ConcurrentDictionary <string, long>();
            var cache      = new InMemoryMetricsCache(null, null, gauges);
            var metricsLog = new InMemoryMetricsLog(null, cache);

            //Act
            metricsLog.Gauge("", 1000);

            //Assert
            long gauge = cache.GetGauge("");

            Assert.AreEqual(0, gauge);
        }
Ejemplo n.º 6
0
        public void GaugeShouldNotUpdateMetricIfDeltaIsLessThanZero()
        {
            //Arrange
            var gauges     = new ConcurrentDictionary <string, long>();
            var cache      = new InMemoryMetricsCache(null, null, gauges);
            var metricsLog = new InMemoryMetricsLog(null, cache);

            //Act
            metricsLog.Gauge("gauge_test", -1);

            //Assert
            long gauge = cache.GetGauge("gauge_test");

            Assert.AreEqual(0, gauge);
        }
Ejemplo n.º 7
0
        public void TimeShouldNotAddMetricIfNoNameSpecified()
        {
            //Arrange
            var timers     = new ConcurrentDictionary <string, ILatencyTracker>();
            var cache      = new InMemoryMetricsCache(null, timers);
            var metricsLog = new InMemoryMetricsLog(null, cache);

            //Act
            metricsLog.Time("", 1000);

            //Assert
            ILatencyTracker timer = cache.GetLatencyTracker("");

            Assert.IsNull(timer);
        }
Ejemplo n.º 8
0
        public void TimeShouldNotUpdateMetricIfDeltaIsLessThanZero()
        {
            //Arrange
            var timers     = new ConcurrentDictionary <string, ILatencyTracker>();
            var cache      = new InMemoryMetricsCache(null, timers);
            var metricsLog = new InMemoryMetricsLog(null, cache);

            //Act
            metricsLog.Time("time_test", -1);

            //Assert
            ILatencyTracker timer = cache.GetLatencyTracker("time_test");

            Assert.IsNull(timer);
        }
Ejemplo n.º 9
0
        public void CountShouldNotUpdateMetricIfDeltaIsLessOrEqualThanZero()
        {
            //Arrange
            var counters   = new ConcurrentDictionary <string, Counter>();
            var cache      = new InMemoryMetricsCache(counters);
            var metricsLog = new InMemoryMetricsLog(null, cache);

            //Act
            metricsLog.Count("counter_test", 0);
            metricsLog.Count("counter_test", -1);

            //Assert
            Counter counter = cache.GetCount("counter_test");

            Assert.IsNull(counter);
        }
Ejemplo n.º 10
0
        public void GaugeShouldUpdateMetricWhenExisting()
        {
            //Arrange
            var gauges     = new ConcurrentDictionary <string, long>();
            var cache      = new InMemoryMetricsCache(null, null, gauges);
            var metricsLog = new InMemoryMetricsLog(null, cache);

            //Act
            metricsLog.Gauge("gauge_test", 1234);
            metricsLog.Gauge("gauge_test", 4567);

            //Assert
            long gauge = cache.GetGauge("gauge_test");

            Assert.AreEqual(4567, gauge);
        }
Ejemplo n.º 11
0
        public void CountShouldUpdateMetricWhenExisting()
        {
            //Arrange
            var counters   = new ConcurrentDictionary <string, Counter>();
            var cache      = new InMemoryMetricsCache(counters);
            var metricsLog = new InMemoryMetricsLog(null, cache);

            //Act
            metricsLog.Count("counter_test", 150);
            metricsLog.Count("counter_test", 10);

            //Assert
            Counter counter = cache.GetCount("counter_test");

            Assert.AreEqual(2, counter.GetCount());
            Assert.AreEqual(160, counter.GetDelta());
        }
Ejemplo n.º 12
0
        public void TimeShouldAddNewMetricWhenNotExisting()
        {
            //Arrange
            var timers     = new ConcurrentDictionary <string, ILatencyTracker>();
            var cache      = new InMemoryMetricsCache(null, timers);
            var metricsLog = new InMemoryMetricsLog(null, cache);

            //Act
            metricsLog.Time("time_test", 1);

            //Assert
            ILatencyTracker timer = cache.GetLatencyTracker("time_test");

            Assert.IsNotNull(timer);
            Assert.AreEqual(1, timer.GetLatency(0));
            long[] latencies = timer.GetLatencies();
            Assert.AreEqual(1, latencies.Sum());
        }