/// <summary> /// PerformanceCounterの作成をバックグラウンドで処理しておく。 /// </summary> /// <param name="delay">遅延時間 ms</param> /// <remarks> PerformanceCounterの作成は初回のみ数秒かかる。</remarks> public static void PreLoad(int delay = 0) { System.Threading.Tasks.Task.Factory.StartNew(() => { System.Threading.Thread.Sleep(delay); CounterFactory.Create(CounterList.Processor); }); }
/// <summary> /// constructor /// </summary> public NetworkCounter(string insName) { InsName = insName; receiveCounter = CounterFactory.Create(CounterList.Network_Recive, insName); sentCounter = CounterFactory.Create(CounterList.Network_Sent, insName); transferCounter = CounterFactory.Create(CounterList.Network_Transfer, insName); Receive(); //1回目のNextValueは0が返されるのでここで実行する。 Sent(); Transfer(); }
/// <summary> /// constructor /// </summary> public HDDCounter(string insName) { InsName = insName; readCounter = CounterFactory.Create(CounterList.HDD_Read, insName); writeCounter = CounterFactory.Create(CounterList.HDD_Write, insName); transferCounter = CounterFactory.Create(CounterList.HDD_Transfer, insName); Read(); //1回目のNextValueは0が返されるのでここで実行する。 Write(); Transfer(); }
/// <summary> /// インスタンス名からカウンター作成 /// </summary> public bool Create(int pid, string insname) { PID = pid; InsName = insname; IsAlive = true; PrcCpuCounter = CounterFactory.Create(CounterList.ProcessCPU, InsName); Usage(); //1回目のNextValueは0が返されるのでここで実行する。 return(IsAlive); }
/// <summary> /// constructor /// </summary> public ProcessorCounter() { Processor = CounterFactory.Create(CounterList.Processor); Usage(); //1回目のNextValueは0が返されるのでここで実行する。 }