public ActionResult <Server_Resource_Info> GetCpu() { try { using (var context = new ServerResourcesContext()) { var lastCpuTemp = context.Server_Resource_Info .Include(SRI => SRI.Resource_Type) .Include(SRI => SRI.Sample_Time) .Include(SRI => SRI.Server_Resource_Unit) .Where(SRI => SRI.Process_FK == null && SRI.Resource_Type_FK == 3) .OrderBy(SRI => SRI.Id) .LastOrDefault(); if (lastCpuTemp.Sample_Time.Time >= (DateTime.Now - TimeSpan.FromSeconds(5))) { return(Ok(lastCpuTemp)); } } var sensorOutput = _sensorsHelper.GetCurrentSensorsProcessReadings(); double total_temps = 0; sensorOutput.Cpus_Temp.ToList().ForEach(c => total_temps += c.Cpu_Temp); var cpu_temp = (total_temps / sensorOutput.Cpus_Temp.Count()); var lastCalculatedCpuTemp = new Server_Resource_Info() { Id = 0, Value = cpu_temp, Sample_Time_FK = 0, Server_Resource_Unit_FK = 2, Sample_Time = new Sample_Time() { Id = 0, Time = DateTime.Now }, Resource_Type = new Resource_Type() { Id = 0, Short_Name = "CPU_TEMP" }, Server_Resource_Unit = new Server_Resource_Unit() { Id = 0, Unit = "°C", ShortName = "TEMP" } }; return(Ok(lastCalculatedCpuTemp)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public ActionResult <Server_Resource_Info> GetCpu() { var request = new HttpRequestMessage(); try { using (var context = new ServerResourcesContext()) { var lastCpuUsage = context.Server_Resource_Info .Include(SRI => SRI.Resource_Type) .Include(SRI => SRI.Sample_Time) .Include(SRI => SRI.Server_Resource_Unit) .Where(SRI => SRI.Process_FK == null && SRI.Resource_Type_FK == 2) .OrderBy(SRI => SRI.Id) .LastOrDefault(); if (lastCpuUsage.Sample_Time.Time >= (DateTime.Now - TimeSpan.FromSeconds(2))) { return(Ok(lastCpuUsage)); } } var topOutput = _topHelper.GetCurrentTopProcessReadings(); var lastCalculatedCpuUsage = new Server_Resource_Info() { Id = 0, Value = topOutput.TotalCpuUsage, Sample_Time_FK = 0, Server_Resource_Unit_FK = 2, Sample_Time = new Sample_Time() { Id = 0, Time = DateTime.Now }, Resource_Type = new Resource_Type() { Id = 0, Short_Name = "CPU_USE" }, Server_Resource_Unit = new Server_Resource_Unit() { Id = 0, Unit = "%", ShortName = "PRCENT" } }; return(Ok(lastCalculatedCpuUsage)); } catch (Exception e) { //return request.CreateResponse(HttpStatusCode.BadRequest, e.Message); return(BadRequest(e.Message)); } }