public UserService(RoleManager <RoleModel> roleManager, ApplicationUserManager userManager, ILogger <UserService> logger, SignInManager <UserModel> signInManager, IMonitoringService telemetryClient)
        {
            _userManager     = userManager;
            _logger          = logger;
            _signInManager   = signInManager;
            _telemetryClient = telemetryClient;

            var emailTokenProvider = new EmailTokenProvider <UserModel>();

            _userManager.RegisterTokenProvider("Default", emailTokenProvider);

            if (!roleManager.RoleExistsAsync("Player").Result)
            {
                roleManager.CreateAsync(new RoleModel {
                    Name = "Player"
                }).Wait();
            }

            if (!roleManager.RoleExistsAsync("Administrator").Result)
            {
                roleManager.CreateAsync(new RoleModel {
                    Name = "Administrator"
                }).Wait();
            }
        }
Example #2
0
 public MonitoringController(IMonitoringService monitoringService,
                             INbrSurveillanceService nbrSurveillanceService, IPatientService patientService)
 {
     _monitoringService      = monitoringService;
     _nbrSurveillanceService = nbrSurveillanceService;
     _patientService         = patientService;
 }
Example #3
0
 public HangfireService(IMonitoringService monitoringService, IMonitoringRequestService monitoringRequestService, INotificationService notificationService, ILogger <HangfireService> logger)
 {
     MonitoringService        = monitoringService;
     MonitoringRequestService = monitoringRequestService;
     NotificationService      = notificationService;
     Logger = logger;
 }
        public async Task InvokeAsync(HttpContext context, IMonitoringService service)
        {
            var registry = Metrics.DefaultRegistry;

            if (service.Monitor(context.Request.Method, context.Request.Path))
            {
                var sw = Stopwatch.StartNew();
                await _next(context);

                sw.Stop();

                var histogram =
                    Metrics
                    .WithCustomRegistry(registry)
                    .CreateHistogram("api_response_time_seconds",
                                     "API Response Time in seconds", new HistogramConfiguration()
                {
                    Buckets = new[] { 0.02, 0.05, 0.1, 0.15, 0.2, 0.5, 0.8, 1 },
                    SuppressInitialValue = true,
                    LabelNames           = new string[] { "method", "path" }
                });

                histogram
                .WithLabels(context.Request.Method, context.Request.Path)
                .Observe(sw.Elapsed.TotalSeconds);
            }
            else
            {
                await _next(context);
            }
        }
        public EthereumRunner(
            IRpcModuleProvider rpcModuleProvider,
            IConfigProvider configurationProvider,
            ILogManager logManager,
            IGrpcServer?grpcServer,
            INdmConsumerChannelManager?ndmConsumerChannelManager,
            INdmDataPublisher?ndmDataPublisher,
            INdmInitializer?ndmInitializer,
            IWebSocketsManager webSocketsManager,
            IJsonSerializer ethereumJsonSerializer,
            IMonitoringService monitoringService)
        {
            _logger             = logManager.GetClassLogger();
            _context            = new EthereumRunnerContextFactory(configurationProvider, ethereumJsonSerializer, logManager).Context;
            _context.LogManager = logManager;
            _context.GrpcServer = grpcServer;
            _context.NdmConsumerChannelManager = ndmConsumerChannelManager;
            _context.NdmDataPublisher          = ndmDataPublisher;
            _context.NdmInitializer            = ndmInitializer;
            _context.WebSocketsManager         = webSocketsManager;
            _context.EthereumJsonSerializer    = ethereumJsonSerializer;
            _context.MonitoringService         = monitoringService;

            _context.ConfigProvider    = configurationProvider ?? throw new ArgumentNullException(nameof(configurationProvider));
            _context.RpcModuleProvider = rpcModuleProvider ?? throw new ArgumentNullException(nameof(rpcModuleProvider));

            INetworkConfig networkConfig = _context.Config <INetworkConfig>();

            _context.IpResolver      = new IPResolver(networkConfig, _context.LogManager);
            networkConfig.ExternalIp = _context.IpResolver.ExternalIp.ToString();
            networkConfig.LocalIp    = _context.IpResolver.LocalIp.ToString();
        }
Example #6
0
 public MonitoringController(IMonitoringService service, ISensorService sensorService, IUserService userService, IProductService productService)
 {
     monitoringService   = service;
     this.sensorService  = sensorService;
     this.userService    = userService;
     this.productService = productService;
 }
Example #7
0
        internal static IHistoryStore CreateStore(Type type, string location, IMonitoringService service)
        {
            var parameters = new object[] { location, service };
            var store      = (IHistoryStore)Activator.CreateInstance(type, parameters);

            return(store);
        }
Example #8
0
 public StubIdeScope(ITestOutputHelper testOutputHelper)
 {
     MonitoringService = new Mock <IMonitoringService>().Object;
     CompositeLogger.Add(new DeveroomXUnitLogger(testOutputHelper));
     CompositeLogger.Add(StubLogger);
     Actions = new StubIdeActions(this);
     VsxStubObjects.Initialize();
 }
Example #9
0
 public VsIdeScopeLoader([Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider)
 {
     _serviceProvider = serviceProvider;
     // ReSharper disable once RedundantArgumentDefaultValue
     _safeLogger             = GetSafeLogger();
     _safeMonitoringService  = GetSafeMonitoringService(serviceProvider);
     _projectSystemReference = new Lazy <IVsIdeScope>(LoadProjectSystem, LazyThreadSafetyMode.ExecutionAndPublication);
 }
Example #10
0
 public OrderController(IOrderService service, IUserService userService, IProductService productService, ISensorService sensorService, IMonitoringService monitoringService)
 {
     orderService           = service;
     this.userService       = userService;
     this.productService    = productService;
     this.sensorService     = sensorService;
     this.monitoringService = monitoringService;
 }
Example #11
0
 public VMListController(
     IHostService hostService,
     IMonitoringService monitoringService,
     IRememberService rememberService)
 {
     this.hostService       = hostService;
     this.monitoringService = monitoringService;
     this.rememberService   = rememberService;
 }
Example #12
0
 public VMListController(
     IHostService hostService, 
     IMonitoringService monitoringService, 
     IRememberService rememberService)
 {
     this.hostService = hostService;
     this.monitoringService = monitoringService;
     this.rememberService = rememberService;
 }
Example #13
0
        public void SetUp()
        {
            //Initialize database context
            _dataContext = new DataContext();
            _dataContext.Database.Initialize(true);

            //Initialize service
            _monitoringService = new MonitoringService(_dataContext);
        }
Example #14
0
 public MonitoringController(
     IMonitoringService venueTypeService,
     ILogger <MonitoringController> logger,
     IHostEnvironment hostEnvironment
     )
 {
     this._service         = venueTypeService;
     this._logger          = logger;
     this._hostEnvironment = hostEnvironment;
 }
Example #15
0
 public MonitorsController(UserManager <ApplicationUser> userManager,
                           IMonitorsRepository monitorsRepository,
                           IMonitoringService monitoringService,
                           IMonitorLogsRepository monitorLogsRepository,
                           ILogger <MonitorsController> logger)
     : base(userManager, logger)
 {
     _monitorsRepository    = monitorsRepository;
     _monitoringService     = monitoringService;
     _monitorLogsRepository = monitorLogsRepository;
 }
 public IndexerService(IIndexSettings <T> indexSettings,
                       IGenericIndexerHelper <T> indexerHelper,
                       IMonitoringService monitoringService,
                       ILog log)
 {
     _indexSettings     = indexSettings;
     _indexerHelper     = indexerHelper;
     _monitoringService = monitoringService;
     _log  = log;
     _name = IndexTypeName;
 }
 private SafeDispatcherTimer(int intervalSeconds, IDeveroomLogger logger, IMonitoringService monitoringService, [NotNull] Func <bool> action)
 {
     _action            = action ?? throw new ArgumentNullException(nameof(action));
     _logger            = logger;
     _monitoringService = monitoringService;
     _dispatcherTimer   = new DispatcherTimer(
         TimeSpan.FromSeconds(intervalSeconds),
         DispatcherPriority.ContextIdle,
         DispatcherTick,
         Dispatcher.CurrentDispatcher);
 }
Example #18
0
 public GenericControlQueueConsumer(
     IAppServiceSettings appServiceSettings,
     IIndexerServiceFactory indexerServiceFactory,
     ILog log,
     IMonitoringService monitor)
 {
     _appServiceSettings    = appServiceSettings;
     _indexerServiceFactory = indexerServiceFactory;
     _log     = log;
     _monitor = monitor;
 }
        public static async Task Run(IMonitorsRepository monitorsRepository,
                                     IMonitorLogsRepository monitorLogsRepository,
                                     IMonitoringService monitoringService,
                                     IPushNotificationService pushNotificationService,
                                     IPushNotificationTokensRepository pushNotificationTokensRepository)
        {
            await monitoringService.Monitor(null, monitorsRepository, monitorLogsRepository);

            var applicationUserMonitors = monitoringService.GetFailedMonitors();

            await pushNotificationService.SendPushNotifications(applicationUserMonitors, pushNotificationTokensRepository);
        }
Example #20
0
 public NullVsIdeScope(IDeveroomLogger logger, IServiceProvider serviceProvider,
                       IMonitoringService monitoringService)
 {
     Logger            = logger;
     MonitoringService = monitoringService;
     ServiceProvider   = serviceProvider;
     WindowManager     = new DeveroomWindowManager(serviceProvider);
     FileSystem        = new FileSystem();
     Actions           = new NullIdeActions(this);
     Dte = null;
     DeveroomOutputPaneServices = null;
 }
 public MonitoringJob(
     IMonitoringService monitoringService,
     IBaseSettings settings,
     IApiHealthCheckErrorRepository apiHealthCheckErrorRepository,
     IIsAliveService isAliveService,
     ILog log)
 {
     _log = log;
     _monitoringService             = monitoringService;
     _settings                      = settings;
     _isAliveService                = isAliveService;
     _apiHealthCheckErrorRepository = apiHealthCheckErrorRepository;
 }
        public TokenType[] GetExpectedTokens(int line, IMonitoringService monitoringService)
        {
            if (_statesForLines.Count <= line)
            {
                return(new TokenType[0]);
            }

            var state = _statesForLines[line];

            if (state < 0)
            {
                return(new TokenType[0]);
            }
            return(DeveroomGherkinParser.GetExpectedTokens(state, monitoringService));
        }
Example #23
0
        public void SetUp()
        {
            //Initialize database context
            _dataContext = new DataContext();
            _dataContext.Database.Initialize(true);

            //Initialize support services
            _cnsExplorationService  = new CnsExplorationService(_dataContext);
            _analysisService        = new AnalysisService(_dataContext);
            _nbrSurveillanceService = new NbrSurveillanceService(_dataContext, _cnsExplorationService, _analysisService);
            _hypothermiaService     = new HypothermiaService(_dataContext, _cnsExplorationService, _analysisService);
            _monitoringService      = new MonitoringService(_dataContext);

            //Initialize service
            _patientService = new PatientService(_dataContext, _nbrSurveillanceService, _hypothermiaService);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="TradeViewModel"/> class.
        /// </summary>
        public TradeViewModel(IMonitoringService monitoringService, Dispatcher dispatcher)
        {
            if (monitoringService == null)
                throw new ArgumentNullException("monitoringService");

            if (dispatcher == null)
                throw new ArgumentNullException("dispatcher");

            this.MonitoringService = monitoringService;
            this.Dispatcher = dispatcher;
            this.Loaders = new ObservableCollection<TradeLoaderBase>(this.MonitoringService.LoaderManager.Loaders);
            this.Files = new ObservableCollection<FileMetaInfo>();
            this.Results = new ObservableCollection<Trade>();
            this.MonitoringService.OnNewFile += this.MonitoringServiceOnNewFile;
            this.MonitoringService.OnNewTrades += this.MonitoringServiceOnNewTrades;
        }
        public static TokenType[] GetExpectedTokens(int state, IMonitoringService monitoringService)
        {
            var parser = new InternalParser(new NullAstBuilder(), null, monitoringService)
            {
                StopAtFirstError = true
            };

            try
            {
                parser.NullMatchToken(state, new Token(null, new Location()));
            }
            catch (UnexpectedEOFException ex)
            {
                return(ex.ExpectedTokenTypes.Select(type => (TokenType)Enum.Parse(typeof(TokenType), type.TrimStart('#'))).ToArray());
            }

            return(new TokenType[0]);
        }
Example #26
0
 public NdmRequiredServices(IConfigProvider configProvider, IConfigManager configManager, INdmConfig ndmConfig,
                            string baseDbPath, IDbProvider rocksProvider, IMongoProvider mongoProvider, ILogManager logManager,
                            IBlockTree blockTree, ITxPool transactionPool, ISpecProvider specProvider, IReceiptStorage receiptStorage,
                            IFilterStore filterStore, IFilterManager filterManager, IWallet wallet, ITimestamper timestamper,
                            IEthereumEcdsa ecdsa, IKeyStore keyStore, IRpcModuleProvider rpcModuleProvider,
                            IJsonSerializer jsonSerializer, ICryptoRandom cryptoRandom, IEnode enode,
                            INdmConsumerChannelManager ndmConsumerChannelManager, INdmDataPublisher ndmDataPublisher,
                            IGrpcServer grpcServer, IEthRequestService ethRequestService, INdmNotifier notifier,
                            bool enableUnsecuredDevWallet, IBlockProcessor blockProcessor, IJsonRpcClientProxy jsonRpcClientProxy,
                            IEthJsonRpcClientProxy ethJsonRpcClientProxy, IHttpClient httpClient, IMonitoringService monitoringService)
 {
     ConfigProvider            = configProvider;
     ConfigManager             = configManager;
     NdmConfig                 = ndmConfig;
     BaseDbPath                = baseDbPath;
     RocksProvider             = rocksProvider;
     MongoProvider             = mongoProvider;
     LogManager                = logManager;
     BlockTree                 = blockTree;
     TransactionPool           = transactionPool;
     SpecProvider              = specProvider;
     ReceiptStorage            = receiptStorage;
     FilterStore               = filterStore;
     FilterManager             = filterManager;
     Wallet                    = wallet;
     Timestamper               = timestamper;
     Ecdsa                     = ecdsa;
     KeyStore                  = keyStore;
     RpcModuleProvider         = rpcModuleProvider;
     JsonSerializer            = jsonSerializer;
     CryptoRandom              = cryptoRandom;
     Enode                     = enode;
     NdmConsumerChannelManager = ndmConsumerChannelManager;
     NdmDataPublisher          = ndmDataPublisher;
     GrpcServer                = grpcServer;
     EthRequestService         = ethRequestService;
     Notifier                  = notifier;
     EnableUnsecuredDevWallet  = enableUnsecuredDevWallet;
     BlockProcessor            = blockProcessor;
     JsonRpcClientProxy        = jsonRpcClientProxy;
     EthJsonRpcClientProxy     = ethJsonRpcClientProxy;
     HttpClient                = httpClient;
     MonitoringService         = monitoringService;
 }
 public void Setup()
 {
     _ndmModule          = Substitute.For <INdmModule>();
     _ndmConsumersModule = Substitute.For <INdmConsumersModule>();
     _configProvider     = Substitute.For <IConfigProvider>();
     _dbProvider         = Substitute.For <IDbProvider>();
     _blockTree          = Substitute.For <IBlockTree>();
     _txPool             = Substitute.For <ITxPool>();
     _txSender           = Substitute.For <ITxSender>();
     _specProvider       = Substitute.For <ISpecProvider>();
     _receiptFinder      = Substitute.For <IReceiptFinder>();
     _wallet             = Substitute.For <IWallet>();
     _filterStore        = Substitute.For <IFilterStore>();
     _filterManager      = Substitute.For <IFilterManager>();
     _timestamper        = Substitute.For <ITimestamper>();
     _ecdsa                       = Substitute.For <IEthereumEcdsa>();
     _rpcModuleProvider           = Substitute.For <IRpcModuleProvider>();
     _keyStore                    = Substitute.For <IKeyStore>();
     _jsonSerializer              = Substitute.For <IJsonSerializer>();
     _cryptoRandom                = Substitute.For <ICryptoRandom>();
     _enode                       = Substitute.For <IEnode>();
     _consumerChannelManager      = Substitute.For <INdmConsumerChannelManager>();
     _dataPublisher               = Substitute.For <INdmDataPublisher>();
     _grpcServer                  = Substitute.For <IGrpcServer>();
     _nodeStatsManager            = Substitute.For <INodeStatsManager>();
     _protocolsManager            = Substitute.For <IProtocolsManager>();
     _protocolValidator           = Substitute.For <IProtocolValidator>();
     _messageSerializationService = Substitute.For <IMessageSerializationService>();
     _webSocketsManager           = Substitute.For <IWebSocketsManager>();
     _logManager                  = LimboLogs.Instance;
     _blockProcessor              = Substitute.For <IBlockProcessor>();
     _jsonRpcClientProxy          = Substitute.For <IJsonRpcClientProxy>();
     _ethJsonRpcClientProxy       = Substitute.For <IEthJsonRpcClientProxy>();
     _httpClient                  = Substitute.For <IHttpClient>();
     _monitoringService           = Substitute.For <IMonitoringService>();
     _enableUnsecuredDevWallet    = false;
     _ndmConfig                   = new NdmConfig {
         Enabled = true, StoreConfigInDatabase = false
     };
     _configProvider.GetConfig <INdmConfig>().Returns(_ndmConfig);
     _ndmInitializer = new NdmInitializer(_ndmModule, _ndmConsumersModule, _logManager);
     _bloomStorage   = Substitute.For <IBloomStorage>();
 }
Example #28
0
    public async Task InvokeAsync(HttpContext context, IMonitoringService service)
    {
        var sw = Stopwatch.StartNew();

        await _next(context);

        sw.Stop();

        var histogram =
            Metrics
            .CreateHistogram(
                "api_response_time_seconds",
                "API Response Time in seconds",
                //new[] { "0.02", "0.05", "0.1", "0.15", "0.2", "0.5", "0.8", "1" },
                "method",
                "path");

        histogram
        .WithLabels(context.Request.Method, context.Request.Path)
        .Observe(sw.Elapsed.TotalSeconds);
    }
Example #29
0
 public void Setup()
 {
     _configProvider            = Substitute.For <IConfigProvider>();
     _configManager             = Substitute.For <IConfigManager>();
     _ndmConfig                 = new NdmConfig();
     _baseDbPath                = "db";
     _rocksProvider             = Substitute.For <IDbProvider>();
     _mongoProvider             = Substitute.For <IMongoProvider>();
     _logManager                = LimboLogs.Instance;
     _blockTree                 = Substitute.For <IBlockTree>();
     _specProvider              = Substitute.For <ISpecProvider>();
     _transactionPool           = Substitute.For <ITxPool>();
     _txSender                  = Substitute.For <ITxSender>();
     _receiptStorage            = Substitute.For <IReceiptStorage>();
     _filterStore               = Substitute.For <IFilterStore>();
     _filterManager             = Substitute.For <IFilterManager>();
     _wallet                    = Substitute.For <IWallet>();
     _timestamper               = Substitute.For <ITimestamper>();
     _ecdsa                     = Substitute.For <IEthereumEcdsa>();
     _keyStore                  = Substitute.For <IKeyStore>();
     _rpcModuleProvider         = Substitute.For <IRpcModuleProvider>();
     _jsonSerializer            = Substitute.For <IJsonSerializer>();
     _cryptoRandom              = Substitute.For <ICryptoRandom>();
     _enode                     = Substitute.For <IEnode>();
     _ndmConsumerChannelManager = Substitute.For <INdmConsumerChannelManager>();
     _ndmDataPublisher          = Substitute.For <INdmDataPublisher>();
     _grpcServer                = Substitute.For <IGrpcServer>();
     _ethRequestService         = Substitute.For <IEthRequestService>();
     _notifier                  = Substitute.For <INdmNotifier>();
     _enableUnsecuredDevWallet  = false;
     _blockProcessor            = Substitute.For <IBlockProcessor>();
     _jsonRpcClientProxy        = Substitute.For <IJsonRpcClientProxy>();
     _ethJsonRpcClientProxy     = Substitute.For <IEthJsonRpcClientProxy>();
     _httpClient                = Substitute.For <IHttpClient>();
     _monitoringService         = Substitute.For <IMonitoringService>();
     _ndmModule                 = new NdmModule();
     _bloomStorage              = Substitute.For <IBloomStorage>();
 }
Example #30
0
        PreInitAsync(
            IConfigProvider configProvider,
            IDbProvider dbProvider,
            string baseDbPath,
            IBlockTree blockTree,
            ITxPool txPool,
            ITxSender txSender,
            ISpecProvider specProvider,
            IReceiptFinder receiptFinder,
            IWallet wallet,
            IFilterStore filterStore,
            IFilterManager filterManager,
            ITimestamper timestamper,
            IEthereumEcdsa ecdsa,
            IRpcModuleProvider rpcModuleProvider,
            IKeyStore keyStore,
            IJsonSerializer jsonSerializer,
            ICryptoRandom cryptoRandom,
            IEnode enode,
            INdmConsumerChannelManager consumerChannelManager,
            INdmDataPublisher dataPublisher,
            IGrpcServer grpcServer,
            bool enableUnsecuredDevWallet,
            IWebSocketsManager webSocketsManager,
            ILogManager logManager,
            IBlockProcessor blockProcessor,
            IJsonRpcClientProxy?jsonRpcClientProxy,
            IEthJsonRpcClientProxy?ethJsonRpcClientProxy,
            IHttpClient httpClient,
            IMonitoringService monitoringService,
            IBloomStorage bloomStorage)
        {
            // what is block processor doing here?

            if (!(configProvider.GetConfig <INdmConfig>() is NdmConfig defaultConfig))
            {
                return(default);
Example #31
0
 public Worker(ILogger <Worker> logger, IMonitoringService monitoringService)
 {
     _logger            = logger;
     _monitoringService = monitoringService;
 }
Example #32
0
 public ChartHub(IMonitoringService monitoringService)
 {
     this.progress = new Progress<Tuple<PerformanceCounterType, PerfCounterModel>>();
     this.monitoringService = monitoringService;
 }
Example #33
0
		internal static IHistoryStore CreateStore(Type type, string location, IMonitoringService service)
		{
			var parameters = new object[] { location, service };
            var store = (IHistoryStore)Activator.CreateInstance(type, parameters);
            return store;
		}
Example #34
0
        protected async Task StartRunners(IConfigProvider configProvider)
        {
            IInitConfig        initConfig        = configProvider.GetConfig <IInitConfig>();
            IJsonRpcConfig     jsonRpcConfig     = configProvider.GetConfig <IJsonRpcConfig>();
            var                metricsParams     = configProvider.GetConfig <IMetricsConfig>();
            var                logManager        = new NLogManager(initConfig.LogFileName, initConfig.LogDirectory);
            IRpcModuleProvider rpcModuleProvider = jsonRpcConfig.Enabled
                ? new RpcModuleProvider(configProvider.GetConfig <IJsonRpcConfig>(), logManager)
                : (IRpcModuleProvider)NullModuleProvider.Instance;
            var jsonSerializer    = new EthereumJsonSerializer();
            var webSocketsManager = new WebSocketsManager();

            INdmDataPublisher          ndmDataPublisher          = null;
            INdmConsumerChannelManager ndmConsumerChannelManager = null;
            INdmInitializer            ndmInitializer            = null;
            var ndmConfig  = configProvider.GetConfig <INdmConfig>();
            var ndmEnabled = ndmConfig.Enabled;

            if (ndmEnabled)
            {
                ndmDataPublisher          = new NdmDataPublisher();
                ndmConsumerChannelManager = new NdmConsumerChannelManager();
                var initializerName = ndmConfig.InitializerName;
                if (Logger.IsInfo)
                {
                    Logger.Info($"NDM initializer: {initializerName}");
                }
                var ndmInitializerType = AppDomain.CurrentDomain.GetAssemblies()
                                         .SelectMany(a => a.GetTypes())
                                         .FirstOrDefault(t =>
                                                         t.GetCustomAttribute <NdmInitializerAttribute>()?.Name == initializerName);
                var ndmModule          = new NdmModule();
                var ndmConsumersModule = new NdmConsumersModule();
                ndmInitializer = new NdmInitializerFactory(ndmInitializerType, ndmModule, ndmConsumersModule,
                                                           logManager).CreateOrFail();
            }

            var        grpcConfig = configProvider.GetConfig <IGrpcConfig>();
            GrpcServer grpcServer = null;

            if (grpcConfig.Enabled)
            {
                grpcServer = new GrpcServer(jsonSerializer, logManager);
                if (ndmEnabled)
                {
                    ndmConsumerChannelManager.Add(new GrpcNdmConsumerChannel(grpcServer));
                }

                _grpcRunner = new GrpcRunner(grpcServer, grpcConfig, logManager);
                await _grpcRunner.Start().ContinueWith(x =>
                {
                    if (x.IsFaulted && Logger.IsError)
                    {
                        Logger.Error("Error during GRPC runner start", x.Exception);
                    }
                });
            }

            if (initConfig.WebSocketsEnabled)
            {
                if (ndmEnabled)
                {
                    webSocketsManager.AddModule(new NdmWebSocketsModule(ndmConsumerChannelManager, ndmDataPublisher,
                                                                        jsonSerializer));
                }
            }

            _ethereumRunner = new EthereumRunner(rpcModuleProvider, configProvider, logManager, grpcServer,
                                                 ndmConsumerChannelManager, ndmDataPublisher, ndmInitializer, webSocketsManager, jsonSerializer);
            await _ethereumRunner.Start().ContinueWith(x =>
            {
                if (x.IsFaulted && Logger.IsError)
                {
                    Logger.Error("Error during ethereum runner start", x.Exception);
                }
            });

            if (jsonRpcConfig.Enabled)
            {
                rpcModuleProvider.Register(new SingletonModulePool <IWeb3Module>(new Web3Module(logManager)));
                var jsonRpcService   = new JsonRpcService(rpcModuleProvider, logManager);
                var jsonRpcProcessor = new JsonRpcProcessor(jsonRpcService, jsonSerializer, logManager);
                if (initConfig.WebSocketsEnabled)
                {
                    webSocketsManager.AddModule(new JsonRpcWebSocketsModule(jsonRpcProcessor, jsonSerializer));
                }

                Bootstrap.Instance.JsonRpcService = jsonRpcService;
                Bootstrap.Instance.LogManager     = logManager;
                Bootstrap.Instance.JsonSerializer = jsonSerializer;
                _jsonRpcRunner = new JsonRpcRunner(configProvider, rpcModuleProvider, logManager, jsonRpcProcessor,
                                                   webSocketsManager);
                await _jsonRpcRunner.Start().ContinueWith(x =>
                {
                    if (x.IsFaulted && Logger.IsError)
                    {
                        Logger.Error("Error during jsonRpc runner start", x.Exception);
                    }
                });
            }
            else
            {
                if (Logger.IsInfo)
                {
                    Logger.Info("Json RPC is disabled");
                }
            }

            if (metricsParams.Enabled)
            {
                var intervalSeconds = metricsParams.IntervalSeconds;
                _monitoringService = new MonitoringService(new MetricsUpdater(intervalSeconds),
                                                           metricsParams.PushGatewayUrl, ClientVersion.Description,
                                                           metricsParams.NodeName, intervalSeconds, logManager);
                await _monitoringService.StartAsync().ContinueWith(x =>
                {
                    if (x.IsFaulted && Logger.IsError)
                    {
                        Logger.Error("Error during starting a monitoring.", x.Exception);
                    }
                });
            }
            else
            {
                if (Logger.IsInfo)
                {
                    Logger.Info("Monitoring is disabled");
                }
            }
        }
 public MonitoringController()
 {
     this.monitoringService = new MonitoringService();
 }