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);
         }
     }
 }
예제 #2
0
 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();
     }));
 }
예제 #3
0
        //
        // 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();
            }));
        }