ProcessPerformanceInfo.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using SharpPcap;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace Test.NetFlowMonitor
  8. {
  9. //记录特定进程性能信息的类
  10. public class ProcessPerformanceInfo : IDisposable
  11. {
  12. public int ProcessID { get; set; }//进程ID
  13. public string ProcessName { get; set; }//进程名
  14. public float PrivateWorkingSet { get; set; }//私有工作集(KB)
  15. public float WorkingSet { get; set; }//工作集(KB)
  16. public float CpuTime { get; set; }//CPU占用率(%)
  17. public float IOOtherBytes { get; set; }//每秒IO操作(不包含控制操作)读写数据的字节数(KB)
  18. public int IOOtherOperations { get; set; }//每秒IO操作数(不包括读写)(个数)
  19. public long NetSendBytes { get; set; }//网络发送数据字节数
  20. public long NetRecvBytes { get; set; }//网络接收数据字节数
  21. public long NetTotalBytes { get; set; }//网络数据总字节数
  22. public List<ICaptureDevice> dev = new List<ICaptureDevice>();
  23. /// <summary>
  24. /// 实现IDisposable的方法
  25. /// </summary>
  26. public void Dispose()
  27. {
  28. foreach (ICaptureDevice d in dev)
  29. {
  30. d.StopCapture();
  31. d.Close();
  32. }
  33. }
  34. }
  35. }