protected override bool Run(object parameters) { if (StaticServerDetails == null) { StaticServerDetails = new StaticServerDetails(true); } try { if (!_initialised) { InitialiseAllCounters(); _initialised = true; } DynamicServerDetails dynamicServerDetails = new DynamicServerDetails(true, _cpuPerformanceCounter, _memoryPerformanceCounter, MonitorDisks ? _diskPerformanceCounter : null, MonitorNetwork ? _netorkPerformanceCounter : null, MonitorNetworkAdapters ? _networkAdapterCounter : null); using (Shared.Classes.TimedLock.Lock(_lockObject)) { if (DynamicServerDetails.Count == 100) { DynamicServerDetails.Dequeue(); } DynamicServerDetails.Enqueue(dynamicServerDetails); } if (OnNewServerDetails != null) { OnNewServerDetails(this, new DynamicServerDetailsEventArgs(dynamicServerDetails)); } System.Threading.Thread.Sleep(0); } catch (Exception error) { Shared.EventLog.Add(error); } return(!HasCancelled()); }
public DynamicServerDetailsEventArgs(DynamicServerDetails dynamicDetails) { Details = dynamicDetails; }