//typeperf "\Processor(_Total)\% Processor Time" public string Get(SystemUpTimeData request) { var info = string.Empty; TimeSpan upTime; switch (IsUnix()) { case true: info = LinuxBash.GetCommandOutput("uptime -s"); upTime = (DateTime.Now - DateTime.Parse(info)); return(JsonSerializer.SerializeToString(new SystemUpTimeData() { UpTimeDays = upTime.Days.ToString(), UpTimeHours = upTime.Hours.ToString() })); case false: info = WindowsCmd.GetCommandOutput("net statistics server"); var info1 = info.Split(new[] { "Statistics since" }, StringSplitOptions.RemoveEmptyEntries)[1]; var info2 = info1.Split(new[] { "Sessions accepted" }, StringSplitOptions.RemoveEmptyEntries)[0]; upTime = (DateTime.Now.Subtract(DateTime.Parse(info2))); return(JsonSerializer.SerializeToString(new SystemUpTimeData() { UpTimeDays = upTime.Days.ToString(), UpTimeHours = upTime.Hours.ToString() })); default: return(string.Empty); } }
//typeperf "\Processor(_Total)\% Processor Time" public string Get(SystemUpTimeData request) { var config = Plugin.Instance.Configuration; var info = string.Empty; TimeSpan upTime; switch (IsUnix()) { case true: info = LinuxBash.GetCommandOutput("uptime -s"); upTime = (DateTime.Now - DateTime.Parse(info)); return(JsonSerializer.SerializeToString(new SystemUpTimeData() { UpTimeDays = upTime.Days.ToString(), UpTimeHours = upTime.Hours.ToString(), UpTimeMinutes = upTime.Minutes.ToString(), UpTimeSeconds = upTime.Seconds.ToString() })); case false: info = WindowsCmd.GetCommandOutput("cmd", " /c wmic path Win32_OperatingSystem get LastBootUpTime"); var info1 = info.Split(new[] { "LastBootUpTime" }, StringSplitOptions.RemoveEmptyEntries)[0].Trim(); var info2 = info1.Split('-')[0].Split('.')[0]; var info3 = info2.Insert(4, "/").Insert(7, "/").Insert(10, " ").Insert(13, ":").Insert(16, ":"); upTime = (DateTime.Now.Subtract(DateTime.Parse(info3))); return(JsonSerializer.SerializeToString(new SystemUpTimeData() { UpTimeDays = upTime.Days.ToString(), UpTimeHours = upTime.Hours.ToString(), UpTimeMinutes = upTime.Minutes.ToString(), UpTimeSeconds = upTime.Seconds.ToString() })); default: return(string.Empty); } }