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>())); }
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>())); }
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>())); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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()); }
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()); }