public MonitoringService(IMetricsUpdater metricsUpdater, IMetricsConfig metricsConfig, ILogManager logManager)
        {
            _metricsUpdater = metricsUpdater ?? throw new ArgumentNullException(nameof(metricsUpdater));

            int?   exposePort      = metricsConfig.ExposePort;
            string nodeName        = metricsConfig.NodeName;
            string pushGatewayUrl  = metricsConfig.PushGatewayUrl;
            bool   pushEnabled     = metricsConfig.Enabled;
            int    intervalSeconds = metricsConfig.IntervalSeconds;

            _exposePort = exposePort;
            _nodeName   = string.IsNullOrWhiteSpace(nodeName)
                ? throw new ArgumentNullException(nameof(nodeName))
                : nodeName;
            _pushGatewayUrl = string.IsNullOrWhiteSpace(pushGatewayUrl)
                ? throw new ArgumentNullException(nameof(pushGatewayUrl))
                : pushGatewayUrl;
            _pushEnabled     = pushEnabled;
            _intervalSeconds = intervalSeconds <= 0
                ? throw new ArgumentException($"Invalid monitoring push interval: {intervalSeconds}s")
                : intervalSeconds;

            _logger = logManager == null
                ? throw new ArgumentNullException(nameof(logManager))
                : logManager.GetClassLogger();
            _options = GetOptions();
        }
Beispiel #2
0
 public MonitoringService(IMetricsUpdater metricsUpdater, string pushGatewayUrl,
                          string clientVersion, string enode, int intervalSeconds, ILogManager logManager)
 {
     _metricsUpdater = metricsUpdater ?? throw new ArgumentNullException(nameof(metricsUpdater));
     _pushGatewayUrl = string.IsNullOrWhiteSpace(pushGatewayUrl)
         ? throw new ArgumentNullException(nameof(pushGatewayUrl))
         : pushGatewayUrl;
     _clientVersion = string.IsNullOrWhiteSpace(clientVersion)
         ? throw new ArgumentNullException(nameof(clientVersion))
         : clientVersion;
     _enode = string.IsNullOrWhiteSpace(enode)
         ? throw new ArgumentNullException(nameof(enode))
         : enode;
     _intervalSeconds = intervalSeconds <= 0
         ? throw new ArgumentException($"Invalid monitoring interval: {intervalSeconds}s")
         : intervalSeconds;
     _logger = logManager == null
         ? throw new ArgumentNullException(nameof(logManager))
         : logManager.GetClassLogger();
     _options = GetOptions();
 }
 public MetricsHostedService(IMetricsUpdater metricsUpdater)
 {
     _metricsUpdater = metricsUpdater;
 }