コード例 #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);
            }
        }