打造一个完善的软件产品,准确完整实现业务是第一步,再有就是有优秀的性能,稳定的运行。为了能量化性能指标,需要利用工具,来收集这些数据,以便对产品作出代码级调整。

先说一下.net中带一个全局工具:dotnet-counters,它是一个性能监视工具,用于临时运行监视和初级性能调查它可以对运行中的dotnet程序监控,对于监控指标的收集,可以采用实时监控(montitor),也可以指定文件收集(collect)。

可以用下面的命令查看本地安装的所有dotnet tools

dotnet tool list --global

我本地的结果:

如果没有安装dotnet-counters可以用下面的命令安装

dotnet tool install --global dotnet-counters

查看运行的dotnet程序

dotnet-counters ps

我的显示结果,可以看到应用的进程ID,应用名称,所在路径

查看可以收集的计数器信息

dotnet-counters list

输出了可以监控的指标,关于这些指标,后面再细说

.net 5的可收集计数器信息

dotnet-counters list --runtime-version 5.0

收集监控指标

dotnet-counters collect -n webapi

counter.csv收集到的监控指标数据,之后都是间隔一定时间的重复项目

选项
描述
-p|--process-id <PID> 要从中收集计数器数据的进程的 ID
-n|--name <name> 要从中收集计数器数据的进程的名称。
--diagnostic-port 要创建的诊断端口的名称。
--refresh-interval <seconds> 更新显示的计数器之间延迟的秒数
--counters <COUNTERS> 计数器的逗号分隔列表。
--format <csv|json> 要导出的格式。当前可用的格式:csv 和 json。
-o|--output <output> 输出文件的名称。
-- <command> 可执行命令,直接运行就用并且监控:dotnet-counters monitor --refresh-interval 1 -- dotnet WebAPI.dll

实时监控指标

dotnet-counters monitor -n webapi --refresh-interval 3

每隔3s刷新一次指标

选项
描述
-p|--process-id <PID> 要从中收集计数器数据的进程的 ID
-n|--name <name> 要从中收集计数器数据的进程的名称。
--diagnostic-port 要创建的诊断端口的名称。
--refresh-interval <seconds> 更新显示的计数器之间延迟的秒数
--counters <COUNTERS> 计数器的逗号分隔列表。
-- <command> 可执行命令,直接运行就用并且监控:dotnet-counters monitor --refresh-interval 1 -- dotnet WebAPI.dll

注意:

windows下使用--diagnostic-port方法,拿dotnet应用webapi.dll举例

1、在一个命令行里输入

dotnet-counters monitor --diagnostic-port webapi.app

会提示如下信息:

Waiting for connection on webapi.app

Start an application with the following environment variable: DOTNET_DiagnosticPorts=webapi.app

2、在一个新的命令行里,用命令

set DOTNET_DiagnosticPorts=webapi.app

再启动webapi应用

dotnet webapi.dll

会看到第一个命令工具开始监控:

dotnet中的counter相关推荐

  1. python中的counter()、elements()、most_common()和subtract()函数的用法

    python中的counter().elements().most_common()和subtract()函数的用法 counter()方法: class collections.Counter([i ...

  2. python中采用字典建立统,Python中使用Counter进行字典创建以及key数量统计的方法...

    这里的Counter是指collections中的Counter,通过Counter可以实现字典的创建以及字典key出现频次的统计.然而,使用的时候还是有一点需要注意的小事项. 使用Counter创建 ...

  3. dotNet中,取得指定日期所在月份的最后一天

    问题: dotNet中,如何方便快速的取得指定日期所在月份的最后一天? 思路: 从指定日期所在月份下个月的1号的前一天,就是所求的内容. 实现: int GetLastDayOfMonth(DateT ...

  4. python如何统计字典里面健的数量_Python中使用Counter进行字典创建以及key数量统计的方法...

    Python中使用Counter进行字典创建以及key数量统计的方法 来源:中文源码网    浏览: 次    日期:2018年9月2日 Python中使用Counter进行字典创建以及key数量统计 ...

  5. python3 开发面试题(collections中的Counter)6.7

    ''' 编写Python脚本,分析xx.log文件,按域名统计访问次数xx.log文件内容如下: https://www.sogo.com/ale.html https://www.qq.com/3a ...

  6. Dotnet中Span, Memory和ReadOnlySequence之浅见

    过年啦,写个短点的.同时,提前给大家拜个年.   总有小伙伴们跑过来讨论关于Span和Memory的使用,眼瞅是最近关于Span的文章有点多,看飞了. 今天写这个,就是往回拉一拉. 写之前,先声明一下 ...

  7. dotNet中初始化器的使用

    dotNet中初始化器的使用 2013年12月7日 13:27 有两类初始化器: 对象初始化器和集合初始化器 比如现在有一个User类: Public   class User { public in ...

  8. Dotnet中Socket网络通信

    本文介绍Socket的基本知识. TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在"无差别"的网络之上. 建立起一个TCP连接需要经过"三次握手"  ...

  9. Python输入一个字符串,输出其中每个字符的出现次数。要求使用标准库collotections中的Counter类...

    一.题目: 1.输入一个字符串,输出其中每个字符的出现次数.要求使用标准库collotections中的Counter类. 2.输入一个字符串,输出其中只出现了一次的字符及其下标. 3.输入一个字符串 ...

最新文章

  1. spring中的事务配置
  2. Unity 游戏开发技巧集锦之创建自发光材质
  3. Python反射(自省)机制
  4. keil3 安装教程
  5. C语言实现随机快速排序random quick sort算法(附完整源码)
  6. (Python)时序预测的七种方法
  7. Java 在链表的开头和结尾添加元素
  8. salesforce 零基础学习(六十八)http callout test class写法
  9. JavaWeb药物管理系统
  10. SM6S系列TVS二级管 可通过ISO 7637-2 5a/5b测试
  11. iphone导出视频 无法连接到设备_爱思助手无法识别设备或者连接超时解决办法...
  12. LeetCode 739. 每日温度
  13. CVTE面试总结(全网面经,已收offer)
  14. 第六天 黑马十次方 用户注册、用户登陆掌握js-cookie、微信扫码登陆、nuxt嵌套路由
  15. ORACLE 正负数分开排序 SQL
  16. in作为介词的用法_in的用法是什么,用于什么中
  17. LVS的NAT、TUNNEL、Full-NAT模式
  18. 【Swoole系列3.5】进程池与进程管理器
  19. 签名格式_职场商务电子邮件礼仪
  20. http 重定向 302报文

热门文章

  1. mysql数据库商业版与社区版的区别
  2. thinkpaidE480office安装文件夹
  3. 在程序员的道路上,义无反顾的努力,有思想的人,很多,好的想法,需要学习。(以此共勉)...
  4. 在Firefox中结合Wolfram Alpha和Google搜索结果
  5. 目标跟踪 facebook_如何关闭Facebook Messenger的位置跟踪(如果已启用)
  6. java 多线程 优先级_java多线程之线程的优先级
  7. TCP/IP:IP多播选路
  8. 使用Network Recycle Bin启用映射网络驱动器上的回收站
  9. 介绍一个代码管理系统-Git
  10. 基于centos7系统mongodb3.,4.4安装