应用内moniter

通过dotnet-counter moniter可以在应用外部启动监控应用,当然也可以在进程内来来进行监控指标的收集或展示。

进程内监控的好处是不用启用多个服务来完成监控和服务的分离,只要应用启动,监控指标也就产生,是紧密关系。

  class Program{static void Main(){ Demo01.Run();           }  }public class Demo01{public static void Run(){Console.WriteLine("监控开始");var listener = new MyEventListener();listener.WriteEvent += Listener_WriteEvent;Console.ReadLine();}private static void Listener_WriteEvent(string key, string value){Console.WriteLine($"{key}:{value}");}}//输出代理public delegate void WriteContent(string key, string value);//事件监控public class MyEventListener : EventListener{protected readonly string[] _countersName = new string[]{"System.Runtime"};//回写事件public event WriteContent WriteEvent;protected override void OnEventSourceCreated(EventSource source){if (_countersName.Contains(source.Name)){EnableEvents(source, EventLevel.Verbose, EventKeywords.All, new Dictionary<string, string>(){//EventCounterIntervalSec,这是1秒中收集一次监控指标["EventCounterIntervalSec"] = "1"});}}protected override void OnEventWritten(EventWrittenEventArgs eventData){if (!eventData.EventName.Equals("EventCounters")){return;}for (int i = 0; i < eventData.Payload.Count; ++i){if (eventData.Payload[i] is IDictionary<string, object> eventPayload){var counterName = "";var counterValue = "";if (eventPayload.TryGetValue("DisplayName", out object displayValue)){counterName = displayValue.ToString();}if (eventPayload.TryGetValue("Mean", out object value) ||eventPayload.TryGetValue("Increment", out value)){counterValue = value.ToString();}WriteEvent(counterName, counterValue);}}}}

用事件监控的子类,实现把监控到的指标在应用内采集到,_countersName 可以放置要监控的provider,《dotnet中的counters说明一》,《dotnet中的counters说明二》,《dotnet中的counters说明三》里有说明。

代码20行处,只是把指标输出到控制台上了,这里可以让ES进行收集,进行展示;也可以把这里换成,写入到时序数据库中,用Grafana进行展示,并于展示是另一个话题,这里就行进行展开说明了。

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

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

相关文章

史上最具争议的博弈游戏,我用概率论、博弈论找到了答案

全世界只有3.14 % 的人关注了青少年数学之旅要说最近人气最火热的游戏&#xff0c;莫过于前段时间刚崛起的“多多自走棋”。而关于“多多自走棋 ”被讨论得最多的就是&#xff0c;“到底是靠运气还是技术?”都说吃鸡靠运气&#xff0c;但这些道具加成&#xff0c;在数学计算面…

并发编程(一): POSIX 使用互斥量和条件变量实现生产者/消费者问题

boost的mutex&#xff0c;condition_variable非常好用。但是在Linux上&#xff0c;boost实际上做的是对pthread_mutex_t和pthread_cond_t的一系列的封装。因此通过对原生态的POSIX 的mutex&#xff0c;cond的生成者&#xff0c;消费者的实现&#xff0c;我们可以再次体会boost带…

送给销售一族

投身销售英勇无畏工作行业看似高贵其实生活极其琐碎为了生计吃苦受累鞍前马后终日疲惫客人投诉照死赔罪点头哈腰就差下跪日不能息夜不能寐老板一叫立即到位一年到头加a班受罪劳动法规统统作废身心交瘁暗自流泪屁大点事反复开会逢年过节家人难会分分秒秒不敢离位迎接审核让人崩溃…

akka linux 端口,Actor模型开发库 Akka

Akka 是一个用 Scala 编写的库&#xff0c;用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。Actor模型并非什么新鲜事物&#xff0c;它由Carl Hewitt于上世纪70年代早期提出&#xff0c;目的是为了解决分布式编程中一系列的编程问题。其特点如下&#xff1…

简单粗暴的肢体语言解读攻略 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅&#xff08;图源网络&#xff0c;侵权删&#xff09;

基于事件驱动架构构建微服务第1部分:应用程序特定的业务规则

原文链接&#xff1a;https://logcorner.com/building-microservices-through-event-driven-architecture-part1-application-specific-business-rules/如今&#xff0c;洋葱或六边形等架构为代码的可测试性和维护、与外部框架的独立性提供了重要帮助。在本教程中&#xff0c;我…

WinhexV13.2汉化版

WinhexV13.2sr-11_H.rar转载于:https://blog.51cto.com/www520/16874

JavaWeb 项目启动时,后台开启一个线程的方法

原文链接&#xff1a;http://blog.csdn.net/it_wangxiangpan/article/details/7168286JavaWeb 服务启动时&#xff0c;在后台启动加载一个线程。目前&#xff0c;我所掌握的一共有两种方法&#xff0c;第一种是监听&#xff08;Listener&#xff09;&#xff0c;第二种是配置随…

linux脚本 逻辑运算,Linux-shell-逻辑运算和;

7.Shell7.5.2命令执行的判断依据&#xff1a; ; , &&, ||1.cmd ; cmd (不考虑指令相关性的连续指令下达)一般用于多条命令之间没有直接需求联系&#xff0c;最多只是有一个执行先后的关系。[rootlocalhost tmp]# sync; shutdown -h now2.与&&或 ||指令下达情况…

我居然从一只猫身上学到了斐波那契数列

猫的数学这么好是有原因的斐波那契数列&#xff08;Fibonacci sequence&#xff09;是由数学家列昂纳多斐波那契定义的把它写成数列的形式是这样的&#xff1a;1,1,2,3,5,8,13,21,34,55,89,...比如&#xff1a;人的耳朵比如&#xff1a;台风比如&#xff1a;松果的底部螺纹从两…

听说过Netflix的Chaos Monkey吗?不用羡慕,我们.NET也有

Chaos Monkey&#xff0c;是Netflix工程师创建的一种故障注入系统&#xff0c;它会随机在生产实例中引发各种各样的故障或异常&#xff0c;以确保它们的系统能够在这样的情况下存活&#xff0c;而不会对客户造成任何影响。可见&#xff0c;Chaos Monkey可以提高系统的安全和可用…

(ZT)VC++的链接错误LNK2001

学习VC&#xff0b;&#xff0b;时经常会遇到链接错误LNK2001&#xff0c;该错误非常讨厌&#xff0c;因为对于编程者来说&#xff0c;最好改的错误莫过于编译错误&#xff0c;而一般说来发生连接错误时&#xff0c;编译都已通过。产生连接错误的原因非常多&#xff0c;尤其LNK…

PHP中session与cookie的简单使用

2019独角兽企业重金招聘Python工程师标准>>> cookie简单实例&#xff1a; <?php if($_GET[out]){ //注销cookie setcookie(id,); setcookie(password,); echo "<script>location.hrefcookie.php</script>"; …

linux下安装服务,linux下的软件服务安装管理

在centos7下&#xff0c;为系统装一个服务有两种方式&#xff0c;一种是通过系统提供的rpm/yum自动安装&#xff0c;一种是通过服务的官网提供的安装包进行安装。rpm/yum 服务的安装及管理yum -y install 包名: 可以通过yum方式默认安装当前yum源中提供的软件服务&#xff0c;y…

NetBeans Weekly News 刊号 # 27 - Sep 24, 2008

刊号 # 27 - Sep 24, 2008 日程表 注册 NetBeans Day--圣保罗&#xff0c;巴西&#xff08;十月一日&#xff09; 欢迎来到巴西圣保罗的 Sun Tech Days 。赶快在十月一日加入我们的 NetBeans Deep Dive 吧&#xff01;注册 NetBeans Day 是免费的&#xff0c;即使您不参加 Sun …

做项目开发你必须得掌握的知识:设计模式

先分享一个小故事 两个年轻人是大学同班同学&#xff0c;毕业后被同一家公司录取&#xff0c;可以说是站在相同的起跑线上。两人对未来也都是信心满满&#xff0c;踌躇满志。其中一人怀抱满腔激情&#xff0c;到处学习热门框架&#xff0c;但受限于公司体量和业务逻辑&#xff…

985硕博士:你为什么比我差?

全世界只有3.14 % 的人关注了青少年数学之旅身边总有些人看上去很轻松&#xff0c;不仅在工作中游刃有余&#xff0c;还知识渊博&#xff0c;对各种事情有自己的思考。这次&#xff0c;我们非常认真地筛选了这些公众号&#xff0c;他们专注于内容&#xff0c;关心当下发生的事情…

熊猫烧香是天才作品吗?

今天在新闻中看到有关武男的消息&#xff0c;很不幸&#xff0c;再次发现媒体称武男——李俊为天才。这年头&#xff0c;程序员队伍已经非常壮大了&#xff0c;称得上天才作品的有哪些呢&#xff1f;从我自己的角度列举一下&#xff0c;当然不止这些。字处理&#xff1a;WPS DO…

ESXI转HYPER-V,问题接二连三啊(VMDK转VHD)

首先说软件&#xff1a; 要不是用SCVMM来转的话&#xff0c;我用得最爽的还是WINIMAGE&#xff0c;自然流畅。其它的都有各种问题。 其次说说配置更改&#xff1a; 如果原ESXI里只有一个硬盘&#xff0c;一切好说&#xff0c;如果里面挂载了两个&#xff0c;甚至三个硬盘&#…

在linux中查找运行程序句柄,如何查找我的进程在Linux中打开的文件句柄?

首先&#xff0c;您并不需要关心很多关于您不知道的打开的文件描述符。如果你知道你不会再写信给他们&#xff0c;关闭它们是一个好主意&#xff0c;并且不会伤害 - 毕竟你只是做了一个fork()&#xff0c;这个fds打开了两次。但是同样&#xff0c;如果你让他们开放&#xff0c;…