コード例 #1
0
ファイル: MonitorPublisher.cs プロジェクト: hito4t/PerfMonAWS
        private void monitor(PerfMonLib perfMon)
        {
            int interval = 5; // seconds

            while (!_stopping)
            {
                PerfData data = perfMon.GetValues();

                DateTime now       = DateTime.Now;
                string   timestamp = now.ToString("yyyy-MM-ddTHH:mm:ss") + now.ToString("zzz").Replace(":", "");
                string   message   = "{"
                                     + CreateJsonItem("device", Environment.MachineName)
                                     + ","
                                     + CreateJsonItem("timestamp", timestamp)
                                     + ","
                                     + CreateJsonItem("cpu", data.ProcessorUtilization)
                                     + ","
                                     + CreateJsonItem("memory", data.AvailableMemoryMB)
                                     + ","
                                     + CreateJsonItem("process", data.ActiveProcess)
                                     + ","
                                     + CreateJsonItem("interval", interval)
                                     + "}";

                Console.WriteLine(message);

                string path = Path.Combine(_dataDir, timestamp.Replace("-", "").Replace(":", "") + ".json");
                File.WriteAllText(path, message, _encoding);

                Thread.Sleep(interval * 1000);
            }
        }
コード例 #2
0
ファイル: MonitorPublisher.cs プロジェクト: hito4t/PerfMonAWS
 private void monitor()
 {
     try
     {
         using (PerfMonLib perfMon = new PerfMonLib())
         {
             monitor(perfMon);
         }
     }
     catch (Exception e)
     {
         log(e);
     }
     finally
     {
         _monitorStopped = true;
     }
 }