protected override void Run() { foreach (var taskruntimeinfo in TaskManager.Node.SystemRuntime.TaskPoolManager.CreateInstance().GetList()) { try { if (taskruntimeinfo == null) { continue; } string fileinstallpath = AppDomain.CurrentDomain.BaseDirectory.TrimEnd('\\') + "\\" + GlobalConfig.TaskDllDir + @"\" + taskruntimeinfo.TaskModel.id; double dirsizeM = -1; if (System.IO.Directory.Exists(fileinstallpath)) { long dirsize = TaskManager.Core.IOHelper.DirSize(new DirectoryInfo(fileinstallpath)); dirsizeM = (double)dirsize / 1024 / 1024; } try { if (taskruntimeinfo.Domain != null) { try { double cpu = taskruntimeinfo.Domain.MonitoringTotalProcessorTime.TotalSeconds; var memory = taskruntimeinfo.Domain.MonitoringSurvivedMemorySize; SqlHelper.ExcuteSql(GlobalConfig.TaskDataBaseConnectString, (c) => { tb_performance_dal nodedal = new tb_performance_dal(); nodedal.AddOrUpdate(c, new Domain.Model.tb_performance_model() { cpu = cpu, memory = (double)memory / 1024 / 1024, installdirsize = dirsizeM, taskid = taskruntimeinfo.TaskModel.id, lastupdatetime = DateTime.Now, nodeid = GlobalConfig.NodeID }); }); } catch (AppDomainUnloadedException) { } } } catch (Exception ex) { LogHelper.AddTaskError("任务性能监控时出错", taskruntimeinfo.TaskModel.id, ex); } } catch (Exception exp) { LogHelper.AddNodeError("任务性能监控者出错", exp); } } }
public ActionResult NodeIndex() { return(this.Visit(EnumUserRole.None, () => { tb_performance_dal dal = new tb_performance_dal(); using (DbConn PubConn = DbConn.CreateConn(Config.TaskConnectString)) { ViewBag.nodemodels = dal.GetAllWithNode(PubConn, "p.nodeid desc", DateTime.Now.AddMinutes(-10)); } return View(); })); }
// // GET: /Performance/ public ActionResult Index(string nodeid, string taskid, string orderby) { return(this.Visit(EnumUserRole.None, () => { ViewBag.nodeid = nodeid; ViewBag.taskid = taskid; ViewBag.orderby = orderby; tb_performance_dal dal = new tb_performance_dal(); using (DbConn PubConn = DbConn.CreateConn(Config.TaskConnectString)) { PubConn.Open(); ViewBag.taskmodels = dal.GetAllWithTask(PubConn, nodeid, taskid, orderby, DateTime.Now.AddMinutes(-10)); } return View(); })); }