public void TestMetricsFilterMultipleErrorsAggregated() { string id = "MetricsFilterMultipleErrorsAggregated"; MemoryLogger logger = new MemoryLogger(null); MockMetricsSink sink = CreateMetricsSink(id, logger); SendSampleMetrics(sink); sink.Stop(); //Cause flush Assert.Equal(0, sink.FilteredLastValues.Count); Assert.Equal(0, sink.FilteredAccumulatedValues.Count); Assert.Equal(1, sink.FilteredAggregatedAccumulatedValues.Count); Assert.Equal(2L, sink.FilteredAggregatedAccumulatedValues.Values.First().Value); Assert.Equal(0, sink.FilteredAggregatedLastValues.Count); }
public void TestOnSubscribe() { string id = "TextDecoration"; MemoryLogger logger = new MemoryLogger(null); KinesisTapMetricsSource metrics = new KinesisTapMetricsSource(new PluginContext(null, null, null, _bookmarkManager, null, null)); MockMetricsSink sink = CreateMetricsSink(id, logger, metrics); metrics.InitializeCounters(id, "Sinks", CounterTypeEnum.Increment, new Dictionary <string, MetricValue> { { "SinksStarted", new MetricValue(2) }, { "SinksFailedToStart", new MetricValue(1) } }); metrics.Subscribe(sink); sink.Stop(); Assert.Equal(2, sink.AccumlatedValues.Count); Assert.Equal(3, TestUtility.GetMetricsCount(sink.AccumlatedValues)); }
public void TestDirectorySourceMetricsOnSubscribe() { IConfiguration config = GetConfig("directorySourceTest"); string id = config[ConfigConstants.ID]; MemoryLogger logger = new MemoryLogger(null); KinesisTapMetricsSource metrics = new KinesisTapMetricsSource(new PluginContext(null, null, null, null, null)); DirectorySource <string, LogContext> source = new DirectorySource <string, LogContext>( TestUtility.GetTestHome(), "*.*", 1000, new PluginContext(config, logger, metrics), new SingeLineRecordParser()); MockMetricsSink metricsSink = new MockMetricsSink(3600, new PluginContext(config, logger, metrics)); source.Start(); metrics.Subscribe(metricsSink); metricsSink.Stop(); source.Stop(); Assert.Equal(2, metricsSink.AccumlatedValues.Count); Assert.Equal(0, TestUtility.GetMetricsCount(metricsSink.AccumlatedValues)); }