public DataMonitor(string element, DataItemConfiguration configuration, ISession session, ILog log = null)
        {
            MonitorStatus   = MonitorStatus.None;
            ContinueOnError = true;

            _genericLog = log ?? LogManager.GetLogger(_typeOfThis);

            _element = element;

            try
            {
                if (configuration.Time.Enabled)
                {
                    _stopwatch = new Stopwatch();
                }

                if ((configuration.Database?.Enabled == true) && ((configuration.Database?.Entities?.Enabled == true) || (configuration.Database?.Session?.Enabled == true)))
                {
                    _nhMonitor = new NHMonitor(configuration.Database, session);
                }
            }
            catch (Exception e)
            {
                _genericLog.Error($"{_nameOfThis} - Failed to initialize {_nameOfThis} regarding {_element}: {e.Message}");
                _genericLog.Debug($"{_nameOfThis} - Failed to initialize {_nameOfThis} regarding {_element}: {e.StackTrace}");
                if (!ContinueOnError)
                {
                    throw;
                }
            }
        }//end ctor()
示例#2
0
        public ActionMonitor(ActionConfiguration configuration, ISession session, ILog log = null)
        {
            MonitorStatus = MonitorStatus.None;

            _configuration = configuration;

            _genericLog = log ?? LogManager.GetLogger(_typeOfThis);

            _run = _configuration.Enabled;

            try
            {
                var measureUsage    = ((_run) && (_configuration.CPU.Enabled || _configuration.RAM.Enabled));
                var measureDatabase = ((_run) && (_configuration.Database.Enabled) && (_configuration.Database.Session.Enabled || _configuration.Database.Entities.Enabled));

                if (measureUsage)
                {
                    _usageMonitor = new UsageMonitor(configuration);
                }

                if (measureDatabase)
                {
                    _nhMonitor = new NHMonitor(_configuration.Database, session);
                }
            }
            catch (Exception e)
            {
                _genericLog.Error($"{_nameOfThis} - Failed to initialize {_nameOfThis}: {e.Message}");
                _genericLog.Debug($"{_nameOfThis} - Failed to initialize {_nameOfThis}: {e.StackTrace}");
                if (!ContinueOnError)
                {
                    throw;
                }
            }
        }//end ctor