コード例 #1
0
        public void Start()
        {
            _configLoadTime = DateTime.Now;

            ILoggerFactory loggerFactory = _serviceProvider.GetService <ILoggerFactory>();

            _logger = loggerFactory.CreateLogger <LogManager>();

            _metrics = new KinesisTapMetricsSource(CreatePlugInContext(_config.GetSection("Metrics")));

            _sources[KINESISTAP_METRICS_SOURCE] = _metrics;

            LoadFactories();

            LoadCredentialProviders();

            LoadBuiltInSinks();

            LoadEventSinks();

            (int sourcesLoaded, int sourcesFailed) = LoadEventSources();

            LoadPipes();

            StartEventSources(sourcesLoaded, sourcesFailed);

            PublishBuilderNumber();

            LoadSelfUpdator();

            LoadConfigTimer();

            LoadGenericPlugins();
        }
コード例 #2
0
        public void Start()
        {
            try
            {
                _metrics = KinesisTapMetricsSource.GetInstance(CreatePlugInContext(_config.GetSection("Metrics")));

                _sources[KINESISTAP_METRICS_SOURCE] = _metrics;

                LoadFactories();

                LoadCredentialProviders();

                LoadBuiltInSinks();

                LoadEventSinks();

                (int sourcesLoaded, int sourcesFailed) = LoadEventSources();

                LoadPipes();

                StartEventSources(sourcesLoaded, sourcesFailed);

                PublishBuildNumber();

                LoadGenericPlugins();

                _restartSinksAndPipesTask = RestartSinksAndPipesTask();
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #3
0
        public void TestDirectorySourceMetricsStart()
        {
            IConfiguration config = GetConfig("directorySourceTest");

            config[ConfigConstants.ID] = "TestDirectorySourceMetricsStart";

            MemoryLogger            logger  = new MemoryLogger(null);
            KinesisTapMetricsSource metrics = new KinesisTapMetricsSource(new PluginContext(null, null, null, _bookmarkManager, null, null));

            DirectorySource <string, LogContext> source = new DirectorySource <string, LogContext>(
                TestUtility.GetTestHome(),
                "*.log",
                1000,
                new PluginContext(config, logger, metrics, _bookmarkManager),
                new SingleLineRecordParser());

            MockMetricsSink metricsSink = new MockMetricsSink(3600, new PluginContext(config, logger, metrics, _bookmarkManager));

            metrics.Subscribe(metricsSink);
            source.Start();
            source.Stop();
            metricsSink.Stop();
            Assert.Equal(2, metricsSink.AccumlatedValues.Count);
            Assert.Equal(0, TestUtility.GetMetricsCount(metricsSink.AccumlatedValues));
        }
コード例 #4
0
        public void TestOnSubscribe()
        {
            var id      = "TextDecoration";
            var logger  = new MemoryLogger(null);
            var metrics = new KinesisTapMetricsSource(nameof(TestOnSubscribe), NullLogger.Instance);
            var 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));
        }
コード例 #5
0
        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));
        }
コード例 #6
0
        public void Start()
        {
            // Clear some of the dictionaries in case there were lingering objects not cleaned up during stop.
            _sources.Clear();
            _sinks.Clear();
            _subscriptions.Clear();

            _configLoadTime = DateTime.Now;

            StackTraceMinimizerExceptionExtensions.DoCompressStackTrace = true;

            _metrics = new KinesisTapMetricsSource(CreatePlugInContext(_config.GetSection("Metrics")));

            PluginContext.ApplicationContext = new PluginContext(_config, _logger, _metrics);

            _sources[KINESISTAP_METRICS_SOURCE] = _metrics;

            LoadFactories();

            LoadCredentialProviders();

            LoadBuiltInSinks();

            LoadEventSinks();

            (int sourcesLoaded, int sourcesFailed) = LoadEventSources();

            LoadPipes();

            StartEventSources(sourcesLoaded, sourcesFailed);

            PublishBuilderNumber();

            LoadSelfUpdator();

            LoadConfigTimer();

            LoadGenericPlugins();
        }