系统数据监控

系统数据监控。

 

 

 

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading;
using Arch.CFramework.CLoggingAdapter;
using Ctrip.Mobile.AppDownload.Utility;namespace Ctrip.Mobile.AppDownload.Service
{public class MonitorService : RunningService{public MonitorService(){ElapsedMiliseconds = 3 * 60 * 60 * 1000;//每3小时记录一次。
            s_stopwatch.Start();}public override void LoopLogic(){string info = GetSystemInfo();//Dashboard is better.LoggingManager.Instance().Info("MoniterService", info, new Dictionary<string, string>() { { "SystemInfo", "SystemInfo" } });}Stopwatch s_stopwatch = new Stopwatch();private PerformanceCounter _pc;private static TimeSpan s_lastTotalProcessTime = TimeSpan.Zero;public string GetSystemInfo(){int timeout;int totalThreads;int memory;int workingSetExecludePrivate;int workerThreads;int completionPortThreads;int maxThreadPoolThreads;int maxIOCPThreads;string split = ", ";StringBuilder sbInfo = new StringBuilder();sbInfo.Append(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss fff") + split);s_stopwatch.Stop();Process process = Process.GetCurrentProcess();if (_pc == null){_pc = new PerformanceCounter("Process", "Working Set - Private", process.ProcessName);}process.Refresh();totalThreads = process.Threads.Count;memory = (int)((process.WorkingSet64) / (1024 * 1024));workingSetExecludePrivate = (int)(_pc.NextValue() / (1024 * 1024));double elapsedProcessTime = (process.TotalProcessorTime - s_lastTotalProcessTime).TotalMilliseconds;double elapsedSystemTime = s_stopwatch.ElapsedMilliseconds;int cpu = (int)(Math.Round(elapsedProcessTime * 100.0 / elapsedSystemTime / Environment.ProcessorCount));s_lastTotalProcessTime = process.TotalProcessorTime;s_stopwatch.Restart();ThreadPool.GetAvailableThreads(out workerThreads, out completionPortThreads);ThreadPool.GetMaxThreads(out maxThreadPoolThreads, out maxIOCPThreads);sbInfo.AppendFormat("CPU: {0}, ", cpu < 100 ? cpu : 100);sbInfo.AppendFormat("worker thread: {0}, ", maxThreadPoolThreads - workerThreads);sbInfo.AppendFormat("cpio : {0}, ", maxIOCPThreads - completionPortThreads);sbInfo.AppendFormat("total Threads: {0}, ", totalThreads);sbInfo.AppendFormat("memory(working): {0}MB, ", memory);sbInfo.AppendFormat("memory(private): {0}MB, ", workingSetExecludePrivate);return sbInfo.ToString();}}
}

 

转载于:https://www.cnblogs.com/netact/p/3889466.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bootstrap中单个按钮、按钮组、徽章、进度条

单按钮&#xff1a; 背景按钮&#xff1a;bootstrap提供了具有特殊意义背景的按钮样式&#xff0c;使用时只需给自己的按钮(button、input、a)加bootstrap提供的类名即可&#xff0c;其具体如下&#xff1a; 类名描述.btn基本按钮&#xff1a;灰色、有高度、宽度自适应、没有…

openerp child_of操作符深度解析

child_of 此操作符&#xff0c;从代码来看&#xff0c;等价于&#xff1a; [(x,child_of,id)] > x.prarent_left >id.parent_left && x.parent_left < id.parent_right , 求x&#xff08;的集合&#xff09;。 为了形象的说明&#xff0c;我们一步步来&…

bootstrap中分页、面包屑导航、列表组、卡片、下拉菜单、折叠

分页&#xff1a; 分页功能是当遇到数据很多时&#xff0c;如果都放到一个页面上&#xff0c;那么找起来很不方便&#xff0c;而且不利于性能。此时采用分页功能就能很好的优化用户体验&#xff0c;可是如果自己开发分页功能&#xff0c;那么就会影响开发效率&#xff0c;boot…

当ASP.NET Forms验证方式遭遇苹果IOS

一、问题出现 我在用ASP.NET MVC4做微信开发的时候&#xff0c;用Forms验证方式做为authentication。 一般都是在web.config加&#xff1a; <authentication mode"Forms" ><forms loginUrl"~/Account/Login" name"webcookies" sliding…

bootstrap中导航、导航栏、表单及自定义表单

导航&#xff1a; bootstrap中使用列表封装了水平导航&#xff0c;其类样式如&#xff1a; 类名描述.nav给ul或ol&#xff0c;用于清除列表默认样式&#xff0c;并将列表项水平排列.nav-item给li,用于布局.nav-link给li里面的a,用于a布局.justify-content-center用于居中ul或…

Haproxy安装及配置(转)

1.安装 # wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz # tar zcvf haproxy-1.3.20.tar.gz # cd haproxy-1.3.20 # make TARGETlinux26 PREFIX/usr/local/haproxy #将haproxy安装到/usr/local/haproxy # make install P…

bootstrap中轮播图、模态框、提示框/弹出框、滚动监听、弹性布局、响应式flex、多媒体对象

轮播图&#xff1a; bootstrap封装了轮播图的功能&#xff0c;其具体如下&#xff1a; 类名描述.carousel创建一个轮播图块的容器&#xff0c;实质是做布局用&#xff1b;且此容器应该有一个di属性&#xff0c;其属性值提供给下面左右按钮href锚点值&#xff0c;用于左右按钮…

hive 常用UDF

Hive UDF整理(可以直接在mysql上测试&#xff0c;hive中没有伪表&#xff0c;需要手动创建&#xff0c;反应慢)字符串函数字符串长度函数&#xff1a;length 语法: length(string A)返回值: int说明&#xff1a;返回字符串A的长度举例&#xff1a;hive> select length(‘abc…

摄影网站收集

图虫网 http://tuchong.com/tags/%E9%95%BF%E6%B2%99/?orderweekly&page2 转载于:https://www.cnblogs.com/PS-apple/p/3902533.html

node简介及安装、下载及运行hexo

node简介&#xff1a; 1.node.js的可以打开服务端的黑盒子及高级前端(Vue、React 、Angular)的学习&#xff0c;例如&#xff1a;文件的读写、网络服务的构建、网络通信等。 2.node.js是操作服务器的一种工具&#xff0c;构建于Chrome的v8引擎之上&#xff0c;可以操作服务器…

node中模块系统及核心模块、执行node文件

node中模块系统&#xff1a; 1.模块系统&#xff1a;核心模块、第三方模块、 自己写的模块。 2.网页中所有的路径都是URL&#xff0c;而不是文件路径。 3.node偏底层开发&#xff0c;开启的服务器完全是一个黑盒子&#xff0c;所有的资源默认都是不能被用户访问的&#xff0…

Repository 仓储,你的归宿究竟在哪?(一)-仓储的概念

写在前面 写这篇博文的灵感来自《如何开始DDD(完)》&#xff0c;很感谢young.han兄这几天的坚持&#xff0c;陆陆续续写了几篇有关于领域驱动设计的博文&#xff0c;让园中再次刮了一阵“DDD探讨风”&#xff0c;我现在不像前段时间那样“疯狂”了&#xff0c;写博文需要灵感&a…

node中模板引擎、模块导出、package.json简介

在node.js中使用引擎模板&#xff1a; art-template不仅在浏览器可以使用&#xff0c;也可以在node中使用&#xff0c;并且模板引擎起早诞生于服务器领域&#xff0c;在node中使用模板引擎&#xff1a; 1.安装&#xff1a;在一个文件目录下执行命令&#xff1a;npm install a…

富爸爸穷爸爸

推荐大家看看&#xff0c;虽然我只看了第一章&#xff0c;但是我觉得写的确实挺好的&#xff0c;也确实符合这个社会规律。 老实本分的工作已经是过去式了。为自己工作才是出路。转载于:https://www.cnblogs.com/joysky/p/3909127.html

Java和C++在细节上的差异(转)

Java的基本程序结构、关键字、操作符都和C/C非常相似&#xff0c;以下为主要的几点区别: 一、基本程序设计结构&#xff1a; Java的基本程序结构、关键字、操作符都和C/C非常相似&#xff0c;以下为主要的几点区别&#xff1a; 1. Java的原始数值型数据类型中不包含无符号类型&…

文件路径和模块路径、nodemon工具

文件路径和模块路径&#xff1a; //在文件操作相对路径中&#xff0c;前面的 ./ 可以省略&#xff0c;但是 在模块标识路径中 &#xff0c;前面的 ./ 不能省略。// ./-----表示相对于当前目录 /-------当前文件所属磁盘根目录 var fs require(fs);fs.readFile(t…

Express框架简介、express使用模块引擎、模式数据

Express简介&#xff1a; 原生的http不足以应对我们的开发需求&#xff0c;所以我们需要使用框架来加快我们的开发&#xff0c;这里推荐expressjs&#xff0c;其官网&#xff1a;expressjs.com&#xff0c;中文文档推荐&#xff1a;http://javascript.ruanyifeng.com/nodejs/e…

数据库字段关联更新

MS SQL Server 子查询更新&#xff1a; update log set uin b.uin from log a,logs b where a.accountuin b.accountuin mysql 更新&#xff1a; update t_stat_month_user a INNER JOIN t_dept b on a.op_deptb.op_id set a.dept_short_nameb.dept_short_name;转载于:https:/…

浏览器基础知识

Web浏览器的主要功能是展示网页资源&#xff0c;即请求服务器并将结果展示在窗口中。工作原理大概如下&#xff1a; 地址栏输入URL 浏览器根据输入的URL查找域名的IP地址&#xff0c;DNS查找过程如下&#xff1a; 浏览器缓存——浏览器会缓存DNS记录一段时间&#xff0c;不同浏…

MongoDB简介、在node中使用MongoDB

MongoDB数据库简介&#xff1a; 使用MongoDB的好处是不用SQL语句&#xff0c;它提供了对应的API&#xff0c;其功能和MYSQL基本相同&#xff0c;是最像关系型数据库的非关系型数据库&#xff1b;不需要设计表的结构&#xff0c;文档相当于json&#xff0c;如果想要了解更多&am…