public ResourceMonitor(ILogger <ResourceMonitor> logger, IProcessResourceUsage processor, KongoOptions opts) { _logger = logger; _processor = processor; _opts = opts; _sb = new StringBuilder(); }
public Maintenance(ILogger <Maintenance> logger, KongoOptions opts, IRunDatabaseMaintenance databaseMaintenance) { _logger = logger; _sb = new StringBuilder(); _opts = opts; _databaseMaintenance = databaseMaintenance; }
private static object LoadKongoOptions(KongoOptions opts) { _opts = opts; _opts.ApplicationStartedOn = DateTimeOffset.UtcNow; // parse database path and create db connection string try { if (File.Exists(_opts.DatabasePath) && !Directory.Exists(_opts.DatabasePath)) { _dbConnectionString = $"Data Source={_opts.DatabasePath};"; } else { if (_opts.DatabasePath.EndsWith(".sqlite", StringComparison.InvariantCultureIgnoreCase)) { _dbConnectionString = $"Data Source={_opts.DatabasePath};"; } else { if (!Directory.Exists(_opts.DatabasePath)) { Directory.CreateDirectory(_opts.DatabasePath); } _dbConnectionString = $"Data Source={Path.Combine(_opts.DatabasePath, "Kongo.SQlite")};"; } } } catch (Exception ex) { var currentForeground = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Exception occured parsing DatabasePath"); Console.WriteLine($"Excaption: {ex}, {ex.Message}"); Console.ForegroundColor = currentForeground; _dbConnectionString = "Data Source=Kongo.SQlite;"; } // validate urls info if (!string.IsNullOrEmpty(_opts.ServerUrls)) { if (string.IsNullOrEmpty(_opts.CertificateSubject)) { if (string.IsNullOrEmpty(_opts.CertificatePath) || string.IsNullOrEmpty(_opts.CertificatePassword)) { var message = "Missing dependent property: (--server.url --cert-subject) or (--server.url --cert-path --cert-password) are required"; Console.WriteLine(message); throw new KongoOptionsException(message); } } } // initialize Kongo Status model _kongoStatus = new KongoStatusModel() { CurrentBlockHeight = 0, CurrentChartTimeframe = TimeRangeEnum.OneHour, LastBlockReceivedAt = default,
public NetworkStats(ILogger <NetworkStats> logger, IProcessNetworkStatistics processor, KongoOptions opts) { _logger = logger; _httpClient = new HttpClient(); _processor = processor; _sb = new StringBuilder(); _opts = opts; }
public Fragments(ILogger <Fragments> logger, IProcessFragments processor, KongoOptions opts) { _logger = logger; _httpClient = new HttpClient(); _processor = processor; _sb = new StringBuilder(); _opts = opts; }
public Leaders(ILogger <Leaders> logger, IProcessLeaders processor, KongoOptions opts) { _logger = logger; _httpClient = new HttpClient(); _processor = processor; _sb = new StringBuilder(); _opts = opts; }
public StakePools(ILogger <StakePools> logger, IProcessStakePools processor, KongoOptions opts) { _logger = logger; _httpClient = new HttpClient(); _processor = processor; _sb = new StringBuilder(); _opts = opts; }
public NodeStats(ILogger <NodeStats> logger, IProcessNodeStatistics processor, KongoOptions opts, KongoStatusModel kongoStatus) { _logger = logger; _httpClient = new HttpClient(); _processor = processor; _sb = new StringBuilder(); _opts = opts; _kongoStatus = kongoStatus; }
//private readonly NodeConfigurationModel _nodeConfiguration; public ProcessStdErr(ILogger <ProcessStdErr> logger, LogIngestionConfigModel logIngestionConfig, IProcessStdError processor, KongoOptions opts) { _logger = logger; _processor = processor; _opts = opts; _watcher = new FileSystemWatcher(); _logIngestionConfig = logIngestionConfig; _stopwatch = new Stopwatch(); _sb = new StringBuilder(); }
public void InvalidNodeStatisticStream_Throws_ArgumentException(string value) { var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}"); storage.Database.EnsureCreated(); var opts = new KongoOptions() { ApplicationStartedOn = DateTimeOffset.UtcNow }; _processor = new NodeStatisticsProcessor(storage, opts); storage.Database.EnsureDeleted(); Assert.ThrowsAsync <ArgumentException>(() => _processor.ProcessNodeStatistics(value)); }
public async Task ProcessLeaders(string value) { var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}"); storage.Database.EnsureCreated(); var opts = new KongoOptions() { ApplicationStartedOn = DateTimeOffset.UtcNow }; _processor = new LeadersProcessor(storage, opts); var processedLeaders = await _processor.ProcessLeaders(value); storage.Database.EnsureDeleted(); Assert.True(processedLeaders.Leaders.Count > 0); }
public async Task ProcessSettings(string value) { var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}"); storage.Database.EnsureCreated(); var opts = new KongoOptions() { ApplicationStartedOn = DateTimeOffset.UtcNow }; _processor = new SettingsProcessor(storage, opts); var settings = await _processor.ProcessSettings(value); storage.Database.EnsureDeleted(); Assert.True(settings.Coefficient == 50); }
public async Task ProcessValidNodeStatisticStream(string value) { var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}"); storage.Database.EnsureCreated(); var opts = new KongoOptions() { ApplicationStartedOn = DateTimeOffset.UtcNow }; _processor = new NodeStatisticsProcessor(storage, opts); var nodeStats = await _processor.ProcessNodeStatistics(value); storage.Database.EnsureDeleted(); Assert.True(nodeStats != null, "nodeStats == null"); Assert.True(nodeStats.BlockRecvCnt > 0, $"BlockRecvCnt = {nodeStats.BlockRecvCnt}"); Assert.True(nodeStats.LastBlockTime != default, $"LastBlockTime = {nodeStats.LastBlockTime}"); }
public async Task ProcessLeadersLogs(string value) { var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}"); storage.Database.EnsureCreated(); var opts = new KongoOptions() { ApplicationStartedOn = DateTimeOffset.UtcNow }; _processor = new LeadersProcessor(storage, opts); var processedLeaders = await _processor.ProcessLeadersLogs(value); storage.Database.EnsureDeleted(); var leadersLogs = JsonConvert.DeserializeObject <List <StoredLeadersLogsModel> >(processedLeaders.LeadersLogsJson); Assert.True(leadersLogs.Count > 0); Assert.False(leadersLogs[0].Scheduled_at_date.Equals(default));
public StakeProcessor(KongoDataStorage database, KongoOptions opts) { _database = database; _opts = opts; }
public DatabaseMaintenance(KongoDataStorage database, KongoOptions opts) { _database = database; _opts = opts; }
public NodeStatisticsProcessor(KongoDataStorage database, KongoOptions opts) { _database = database; _opts = opts; }