Example #1
0
        public void TrackTotal(Process p, EntityViewModel viewModel)
        {
            PerformanceCounter cpuCounter = new PerformanceCounter
            {
                CategoryName = "Processor",
                CounterName  = "% Processor Time",
                InstanceName = "_Total"
            };
            Thread t = new Thread(() =>
            {
                while (!interrupted && !p.HasExited)
                {
                    try
                    {
                        viewModel.CPUValueUpdate(cpuCounter.NextValue());
                    } catch (Exception e) { break; }
                    Thread.Sleep(500);
                }
                viewModel.CPUValueUpdate(0.0);
                viewModel.CPUValueUpdate(0.0);
                viewModel.CPUValueUpdate(0.0);
            })
            {
                IsBackground = true
            };

            t.Start();
            threads.Add(t);
        }