コード例 #1
0
        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();
            }
        }
コード例 #2
0
 public MonitoringController(IMonitoringService monitoringService,
                             INbrSurveillanceService nbrSurveillanceService, IPatientService patientService)
 {
     _monitoringService      = monitoringService;
     _nbrSurveillanceService = nbrSurveillanceService;
     _patientService         = patientService;
 }
コード例 #3
0
 public HangfireService(IMonitoringService monitoringService, IMonitoringRequestService monitoringRequestService, INotificationService notificationService, ILogger <HangfireService> logger)
 {
     MonitoringService        = monitoringService;
     MonitoringRequestService = monitoringRequestService;
     NotificationService      = notificationService;
     Logger = logger;
 }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        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();
        }
コード例 #6
0
 public MonitoringController(IMonitoringService service, ISensorService sensorService, IUserService userService, IProductService productService)
 {
     monitoringService   = service;
     this.sensorService  = sensorService;
     this.userService    = userService;
     this.productService = productService;
 }
コード例 #7
0
ファイル: StorageProvider.cs プロジェクト: hombrevrc/FDK
        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);
        }
コード例 #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();
 }
コード例 #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);
 }
コード例 #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;
 }
コード例 #11
0
 public VMListController(
     IHostService hostService,
     IMonitoringService monitoringService,
     IRememberService rememberService)
 {
     this.hostService       = hostService;
     this.monitoringService = monitoringService;
     this.rememberService   = rememberService;
 }
コード例 #12
0
ファイル: VMListController.cs プロジェクト: nikitadev/SCVMM
 public VMListController(
     IHostService hostService, 
     IMonitoringService monitoringService, 
     IRememberService rememberService)
 {
     this.hostService = hostService;
     this.monitoringService = monitoringService;
     this.rememberService = rememberService;
 }
コード例 #13
0
        public void SetUp()
        {
            //Initialize database context
            _dataContext = new DataContext();
            _dataContext.Database.Initialize(true);

            //Initialize service
            _monitoringService = new MonitoringService(_dataContext);
        }
コード例 #14
0
 public MonitoringController(
     IMonitoringService venueTypeService,
     ILogger <MonitoringController> logger,
     IHostEnvironment hostEnvironment
     )
 {
     this._service         = venueTypeService;
     this._logger          = logger;
     this._hostEnvironment = hostEnvironment;
 }
コード例 #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;
 }
コード例 #16
0
 public IndexerService(IIndexSettings <T> indexSettings,
                       IGenericIndexerHelper <T> indexerHelper,
                       IMonitoringService monitoringService,
                       ILog log)
 {
     _indexSettings     = indexSettings;
     _indexerHelper     = indexerHelper;
     _monitoringService = monitoringService;
     _log  = log;
     _name = IndexTypeName;
 }
コード例 #17
0
 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);
 }
コード例 #18
0
 public GenericControlQueueConsumer(
     IAppServiceSettings appServiceSettings,
     IIndexerServiceFactory indexerServiceFactory,
     ILog log,
     IMonitoringService monitor)
 {
     _appServiceSettings    = appServiceSettings;
     _indexerServiceFactory = indexerServiceFactory;
     _log     = log;
     _monitor = monitor;
 }
コード例 #19
0
        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);
        }
コード例 #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;
 }
コード例 #21
0
 public MonitoringJob(
     IMonitoringService monitoringService,
     IBaseSettings settings,
     IApiHealthCheckErrorRepository apiHealthCheckErrorRepository,
     IIsAliveService isAliveService,
     ILog log)
 {
     _log = log;
     _monitoringService             = monitoringService;
     _settings                      = settings;
     _isAliveService                = isAliveService;
     _apiHealthCheckErrorRepository = apiHealthCheckErrorRepository;
 }
コード例 #22
0
        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));
        }
コード例 #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);
        }
コード例 #24
0
        /// <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;
        }
コード例 #25
0
        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]);
        }
コード例 #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;
 }
コード例 #27
0
 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>();
 }
コード例 #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);
    }
コード例 #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>();
 }
コード例 #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);
コード例 #31
0
 public Worker(ILogger <Worker> logger, IMonitoringService monitoringService)
 {
     _logger            = logger;
     _monitoringService = monitoringService;
 }
コード例 #32
0
ファイル: ChartHub.cs プロジェクト: nikitadev/SCVMM
 public ChartHub(IMonitoringService monitoringService)
 {
     this.progress = new Progress<Tuple<PerformanceCounterType, PerfCounterModel>>();
     this.monitoringService = monitoringService;
 }
コード例 #33
0
ファイル: StorageProvider.cs プロジェクト: ifzz/FDK
		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;
		}
コード例 #34
0
ファイル: RunnerAppBase.cs プロジェクト: vicnaum/nethermind
        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");
                }
            }
        }
コード例 #35
0
 public MonitoringController()
 {
     this.monitoringService = new MonitoringService();
 }