利用Windows质量计数器(PerformanceCounter卡塔尔监控

图片 15
  • 1、windows自带系统财富监察和控制工具
  • 2、Windows监察和控制的多寡来源:Performance
    Counters

    • 2.1 Performance
      Counter架构
    • 2.2 Performance
      Counter数据布局
    • 2.3 消费Performance
      Counter数据
  • 3、使用基于PDH的python顾客端

一、概述

自个儿看最新的pyserial代码开掘看不懂~Σ( ° △
°|||卡塔尔(قطر‎︴,尝试用跑跑看生机勃勃看效果,debug跟生龙活虎跟流程的点子来纯熟领悟,发掘·····特么~转太多弯啦~根本就hold不东山再起啊!脑体量跟基本功都非常不足啊!于是想着怎么从左侧来据有那个壁垒…………

1.使用mysql提供的api函数库。
不菲显赫的mysql顾客端工具正是这般完毕的,招人注指标winmysql工具就是这么的。这在大多数的开采工具中都能够完结。举个例子vc,bcb,delphi,vb等,只要能调用第三方的api就能够促成。但对技士的供给极高,何况要熟谙意气风发套mysql的api函数集,那不是对每一个人都相当轻松的事。何况这种措施不可能用来asp等主次,因为它不辅助com对象。

 

性格监视,是Windows NT提供的后生可畏种系统机能。Windows
NT长久以来接连几日集成了质量监视工具,它提供关于操作系统当前运维情况的音信,针对各个对象提供了数百个特性流量计。品质对象,正是被监视的靶子,标准例证有Processor、Process、Memory、TCP/UDP/IP/ICMP、PhysicalDisk等。流速計平常提供操作系统、应用程序、服务、驱动程序等的习性相关音讯,以此来解析系统瓶颈和对系统及应用程序质量进行确诊和调优。品质计数器机制让应用程序和操作系统组件可以向品质监视应用程序,比方品质监视器(Performance
Monitor卡塔尔国,报告一些与特性有关的计算新闻。PerfMon.exe中得以查看质量对象、质量流量计和对象实例,可通过增多流速计来查看相关描述音信。

然后在网络找学习阅世,忽地想到这一个包当初中一年级定是有个起源的,源点是便于通晓且不复杂的,化解四个单纯难点的,就像自家本人写框架相像(即先急速做出效果、原型,然后再每每迭代校勘)。

2。第三种是使用myodbc驱动程序。
你可以到www.mysql.com下载myodbc驱动程序,然后照着上面包车型地铁做就足以了第生机勃勃种接受是下载完全安装包,这种包十分的大,但对此我们来讲有用的唯有myodbc.dll这么些文件,却要下载这么大的文书,不太合适。当然,假诺你很菜的话,我建议您选取这种情势,那样轻松些,但不合乎cfans的风格,是啊。
其次种是一贯下载myodbc.dll文件,独有几百k,但不太轻易选择,本身经过十分久探索才找到使用它的主意。首先你将包解开,将myodbc.dll
文件放到windowssystem 或
winntsystem32索引下,那取决你的系统是win9x依然winnt(win2k卡塔尔国,你应有明白呢。
接下来展开风姿罗曼蒂克纯文本编辑器,如editplus,notpad之类,(决议于你的敬性格很顽强在艰难险阻或巨大压力面前不屈卡塔尔(英语:State of Qatar)将上面大器晚成段话保存为一文件,增添名称叫.reg,知道了呢,那是注册表文件,不要搞错呀(不蕴涵上边包车型地铁一长串等号)
假设您用的是win2k请将率先行换来
Windows Registry Editor Version 5.00

 

实际上,能够通过编写程序来拜谒具备的Windows质量流速计。Windows中,注册表是访谈品质计数器的生龙活虎种体制。质量音讯并不实际存在于注册表中,在注册表编辑器RegEdit.exe中是敬敏不谢查看的,但足以透过注册表函数来访谈,利用注册表键来赢得从性质数据提供者这里提供的多少。张开名叫HKEY_PERFORMANCE_DATA的特殊键,利用RegQueryValueEx函数查询键上面包车型大巴值,就能够直接待上访谈注册表品质计数器新闻。当然,也足以动用质量数据支持器(PDH,
Performance Data Helper卡塔尔(英语:State of Qatar) API (Pdh.dll卡塔尔来走访品质流速计消息。

接下来就在github官方网址找到了它的相继版本:

==========================================================从下水起先

1、Windows自带系统财富监察和控制工具

大家都清楚,Windows自带有系统能源监视器。首要有3个地点:

1)
Windows的天职微电脑的性子页签,包含了CPU,内部存款和储蓄器,磁盘,网络等系统能源的监察和控制。它最首要监督系统资源的全部使用意况,使用它,大家得以窥见是或不是有财富达到瓶颈了等等。

 图片 1

 

2) Windows能源监视器

以此工具得以看来系统能源到底是由哪些进度消耗的。通过它,能够飞快查看到到底什么样进程占用了您的系统能源。

 图片 2

3) 品质监视器

前三种工具已经提供你要监督的大比非常多意义,在一些情形下,大概仍旧无法定位难题,这个时候就供给你更进一层的刺探系统的运营景况。那么这些工具便是三个不易的精选。

 图片 3

 

属性日志和警告是用作 Windows
操作系统的生龙活虎局地发行的风流洒脱种管理品质监察和控制工具。它依靠由各个 Windows
组件、子系统和应用程序发表的习性流速计,令你能够追踪能源使用情形以致针对性时间以图纸格局绘制它们。您能够利用
Performance Logs and Alerts
来监督标准的习性流量计(比如,内部存储器使用状态或微微电脑使用情形),可能你能够定义您本身的自定义计数器来监督应用程序特定的运动。

图片 4

Windows Registry Editor Version 4.00

2、Windows 监察和控制的多少来源于:Performance Counters

      
Windows的这一个监督工具之所以能够显得这一个能源的图景,它们的数据来自都以三个叫Performance
Counter的东东。

 

二、HKEY_PERFORMANCE_DATA数据社团

次第批发版本

[HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INImyodbc driver]
“UsageCount”=dword:00000002
“Driver”=”C:WINNTSystem32myodbc.dll”
“Setup”=”C:WINNTSystem32myodbc.dll”
“SQLLevel”=”1”
“FileUsage”=”0”
“DriverODBCVer”=”02.50”
“ConnectFunctions”=”YYY”
“APILevel”=”1”
“CpTimeout”=”120”
[HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INIODBC Drivers]
“myodbc driver”=”installed”

2.1 PerformanceCounter 架构

PerformanceCounter构造如下:

 图片 5

 

 

应用了Producer / Consumer 构造,援救多样顾客端从Registry花费数据。

上海体育场地中,A 使用Registry接口来开支数量,而B 和 Performance
Monitor多少个客商端则动用了pdh.dll来花费数据。

 

 

 

品质数据的头顶是七个PE福特ExplorerF_DATA_BLOCK布局(如图1所示卡塔尔(英语:State of Qatar),它汇报系统和总体性数据总体音讯,可从Global键值处查询获得该组织数据。PETucsonF_DATA_BLOCK之后,定义了系统中的全体品质对象类型(PEEscortF_OBJECT_TYPE卡塔尔,个中每个对象类型底部中描述了下四本性质对象类型的偏移量Offset。

里面最上面七个日常是稍稍难题的,举个例子release0_1和2是并口的公文,last-svn-state是无可奈何运转的,因而从release1_0下手,

相当多响当当的mysql客商端工具就是那样实现的,举世瞩目标winmysql工具正是这么的。这在大好些个的开荒工具中都可…

2.2 Performance Counter 数据构造

固然你想用程序来费用Counter的数目,无论采用哪一类API来费用数量,无论选取哪一种工具来开销数据,都亟待领会Performance
Counter的园地语言,相当于说要理解它里面包车型大巴多寡是怎样社团的。

 

它的基本概念如下:

Machine:机器,这个没什么好说的,支持消费本机的监控数据,也可以消费其他其他的监控数据。

perfObject:可以理解为监控哪种资源,譬如说处理器,磁盘

instance:监控的资源可能有多个实例,多个网卡,多个CPU,多块磁盘等

counter:计数器,每一个instance都会有多个计数器,例如cpu的idle,user,interrupt都是一个counter

 

越来越直观的知道那一个概念: 

 图片 6

 

 

图片 7
图1图片 8
图2

图片 9

2.3 消费Performance Counter数据

       从地点的构造图来看能够使用registry API大概 PDH.dll
,或然wmi等3种办法来花销数量。那三种API是C或然C++开拓的。

 

1)Registry API :

 

2)WMI:

 

3)PDH API:

脚下已知了多个本子:

C++:

 

Python :

Pywin32中有一个win32pdh的模块,就是python版本的pdh。

 

 

此外工具:

4)windows自带的typeperf命令

5)nsclient++

 

天性对象有二种:大器晚成种是单实例对象,另一种是多实例对象。图2和图3分别说述了那三种属性对象的数据协会方式。每种对象数据块富含了多个PETucsonF_OBJECT_TYPE构造,描述对象的品质数据。紧随其后是PEHighlanderF_COUNTER_DEFINITION构造列表,描述了品质对象的大器晚成体流速计定义。对于单实例对象,流速計定义列表后是一个PE奥迪Q3F_COUNTER_BLOCK布局,流量计数据紧随其后。各样PE冠道F_COUNTER_DEFINITION布局中定义了流速计数据相对于PEHighlanderF_COUNTER_BLOCK的偏移量,由此得以丰盛有援助地获得任何流量计的值。对帮助多实例质量对象的话,PE索罗德F_COUNTER_DEFINITION布局列表之后是黄金时代组实例音信数据块,各个代表代表一个对象实例。每一个实例消息数据块由八个PECRUISERF_INSTANCE_DEFINITION布局体、实例名和一个PE陆风X8F_COUNTER_BLOCK构造体组成。后边是流速计值数据,与单实例对象相符。

文件布局

3、使用基于PDH的python顾客端

 

Win32pdh API说明:

运用win32pdh API的几个简约教程:

 

据悉win32pdh 封装的意气风发套API:

 图片 10

 

 

 

最侧面是win32pdh模块,从python的堆栈里下载就可以。

Windows_collector是本身封装的着力代码,用于通过轻易的代码,就能够监察和控制到系统财富。

最左边包车型大巴则是来行使那套API的。使用那套API的补益是,不必去再花时间学习win32pdh那套API就能够轻便的拿走你要的监察和控制数据。

 

这套API的源码:

 图片 11

图片 12

图片 13

图片 14

 代码的命名标准不是 python的,想一定要看起来,也不会有太多的不便。

应用那套API,只要求简单的代码就可以对系统能源拓宽监督检查,比如:

ObjectCollector("Memory").collect()

 

图片 15

_init_.py负担兑现平台包容,其实便是在导入那些包的时候依照平台来筛选分化的拍卖类,作者的是windows系统因此跑到serialwin32.py文件下来追踪源码,第生龙活虎行代码就是

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图