public GpuMonitoringBackgroundService(ILogger <GpuMonitoringBackgroundService> logger, IOptions <Settings> settings, IMiner miner, INvidiaSmiExecutor smiExecutor, IGpuProcessMonitor <GpuProcessEvent> smiProcessor) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _smiExecutor = smiExecutor ?? throw new ArgumentNullException(nameof(smiExecutor)); _settings = settings.Value ?? throw new ArgumentNullException(nameof(settings.Value)); _miner = miner ?? throw new ArgumentNullException(nameof(miner)); _smiProcessor = smiProcessor ?? throw new ArgumentNullException(nameof(smiProcessor)); _logger.LogInformation("{methodName} {message} {pollInterval}", "Constructor", "settings.PollingIntervalInSeconds", _settings.PollingIntervalInSeconds); _logger.LogInformation("{methodName} {message}", "Constructor", "GpuMonitoringBackgroundService Created"); _smiProcessor.GpuActivityNoticed += CheckActivity; }
public GpuMonitor(ILogger <GpuMonitor> logger, IEnumerable <IGpuMonitorOutputParser> outputParsers, INvidiaSmiExecutor smiExecutor) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _outputParsers = outputParsers ?? throw new ArgumentNullException(nameof(outputParsers)); _smiExecutor = smiExecutor ?? throw new ArgumentNullException(nameof(smiExecutor)); }