private void Start() { if (_refreshTimer == null) { _refreshTimer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(1) }; _refreshTimer.Tick += RefreshTimerOnTick; } _refreshTimer.Start(); _cpuUsageMonitor = new CpuUsageMonitor(); _lastDataUpdate = DateTime.UtcNow; if (Packages == null) { Packages = new FastObservableCollection <PackageInformation>(); } else { Packages.Add(new PackageInformation { Description = "Activity logging started", Timestamp = DateTime.Now }); } _brakingCollectionManager = new BrakingCollectionManager <PackageInformation>(Packages); _connectionManager.PackageReceived += ConnectionManagerOnPackageReceived; _connectionManager.PackageSent += ConnectionManagerOnPackageSent; }
private void Stop() { _refreshTimer.Stop(); _cpuUsageMonitor.Dispose(); _cpuUsageMonitor = null; _connectionManager.PackageReceived -= ConnectionManagerOnPackageReceived; }
static async Task Main(string[] args) { IConfiguration config = new ConfigurationBuilder() .AddJsonFile("config.json", true, true) .Build(); var monitor = new CpuUsageMonitor(config["processName"]); monitor.UsageUpdate += Monitor_UsageUpdate; monitor.Start(); await Task.Delay(10 * 1000); }