A-Tune项目源码分析--checker模块

check模块功能:

通过该模块将系统的资源信息采集,发送给adm,使得用户可以根据当下系统资源使用情况来做出对上层应用参数的调优分析策略。

cpu_info check

概述: 检查当前系统的cpu信息。将cpu信息发送给adm性能调优工具。

定义的结构体:

大部分结构体信息都存在了xml文件中。

结构体名参数属性含义
CPUInfoPath代表了内存的拓扑类型,字符串形式的cpu信息。
settingID ,Value存在了xml文件中。
configurationsetting数组在一个xml单元中一个attr 代表一个属性。
nodeID,Claimed(断言),Disabled,Version,Size,Configuration一般来说一个物理cpu构成一个node 。
cpuProcessorXMLName,Nodescpu节点和xmlname构成

定义的函数:

函数名作用
init()寄存器检查服务的开启
init() 是CPUInfo的方法,返回值类型error定义init失败的函数。
Check()是CPUInfo的方法,返回值类型error该文件的核心功能函数:①开启操作系统,②将文件的关闭压入defer栈,③ioutil(io模块)读取所有文件,④定义cpu对象,将cpu对象传入xml散集函数参数中。⑤sendChanToAdm 给adm工具发送cpu信息,adm可以动态调优cpu性能模式。⑥遍历cpu节点,打印cpu的版本,频率(HZ),cores,打印node的ID,版本,大小,cores。并将上述信息封装成一个变量作为参数,再次用sendChanToAdm发送给adm工具。

环境安装见我的其他博文,或者gitee

check运行截图: (单核虚拟机中)

cpu_topo.go

概述:与mem_topo.go很相似,在结构体中少了一个布尔类型的属性,

结构体:

结构体名参数含义
CPUTopoPath代表一种内存的拓扑类型
infoNameValuexml类型的信息存储、传递方式。
machine[ ]Infoinfo数组
cpuTopologyXMLNameMachine最终生成的子类

方法:

方法名作用
init()将cpu的信息传入到registry包下checkerServices切片中去,初始化检测操作。
Init() errorCPUTopo的方法,初始化cpu,将初始化失败的信息返回给monitor 服务
Check(ch chan *PB.AckCheck) errorCPUTopo的方法,操作系统、BIOS开启后向adm发送开启成功的信息。

network_topo.go

概述:

与cpu_topo的代码很相似,代表一种网络的拓扑,功能是初始化网络,将network.Name,network.Product发送到adm。

mem_topo.go

概述:

定义内存拓扑类型。将内存的检测信息发送给adm命令行客户端。

结构体:

结构体名称参数含义
MemTopoPath,DisableChecker代表一种内存的拓扑类型
ChildrenID Class Claimed Handle Description Product Vendor Physid Serial Slot Units Size Width Clock内存信息的子信息
memorysInfoID Physid Childrens内存的信息
topologyXMLName Memorys拓扑类型

方法:

方法名作用
init()结构体MemTopo 的方法,将内存的信息传入到registry包下checkerServices切片中去,初始化检测操作。
Init() errorMemTopo 的方法,初始化内存,将初始化失败的信息返回给monitor 服务。
IsCheckDisabled() boolMemTopo 的方法,当运行check命令时, 使得check方法停止。
Check(ch chan *PB.AckCheck) error检查内存拓扑,判断内存增长是否平衡。
sendChanToAdm(ch chan *PB.AckCheck, item string, status string, description string)将检测信息发送给adm命令行客户端。

欢迎交流

numa_mem模块待更新···

escription string) | 将检测信息发送给adm命令行客户端。 |

欢迎交流

numa_mem模块待更新···

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值