示例#1
0
文件: Worker.cs 项目: beckerej/www-td
        private static MachineStats GetMachineStats(int index)
        {
            var freeOutput = UnixBinaryOutputParser.GetOutput("free -m").Split("\n");
            var diskOutput = UnixBinaryOutputParser.GetOutput("df").Split("\n");
            var cpuOutput  = UnixBinaryOutputParser.GetOutput("mpstat").Split("\n");

            return(CheckOutputs(freeOutput, diskOutput, cpuOutput) ? null :
                   CreateNewMachineStats(index, freeOutput, diskOutput, cpuOutput));
        }
示例#2
0
文件: Worker.cs 项目: beckerej/www-td
 private static MachineStats CreateNewMachineStats(int index,
                                                   IReadOnlyList <string> freeOutput,
                                                   IReadOnlyList <string> diskOutput,
                                                   IReadOnlyList <string> cpuOutput)
 {
     return(new MachineStats
     {
         Id = index,
         MachineName = Process.GetCurrentProcess().MachineName,
         TotalMemory = UnixBinaryOutputParser.GetTotalMemory(freeOutput),
         UsedMemory = UnixBinaryOutputParser.GetUsedMemory(freeOutput),
         FreeMemory = UnixBinaryOutputParser.GetFreeMemory(freeOutput),
         SharedMemory = UnixBinaryOutputParser.GetSharedMemory(freeOutput),
         CacheMemory = UnixBinaryOutputParser.GetCacheMemory(freeOutput),
         AvailableMemory = UnixBinaryOutputParser.GetAvailableMemory(freeOutput),
         DiskUsage = UnixBinaryOutputParser.GetDiskUsage(diskOutput),
         CpuUsage = UnixBinaryOutputParser.GetCpuUsage(cpuOutput),
         CpuIdle = UnixBinaryOutputParser.GetCpuIdle(cpuOutput),
         DateTime = DateTime.Now
     });
 }