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

check模块功能:

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

cpu_info check

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

定义的结构体:

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

结构体名 参数属性 含义
CPUInfo Path 代表了内存的拓扑类型,字符串形式的cpu信息。
setting ID ,Value 存在了xml文件中。
configuration setting数组 在一个xml单元中一个attr 代表一个属性。
node ID,Claimed(断言),Disabled,Version,Size,Configuration 一般来说一个物理cpu构成一个node 。
cpuProcessor XMLName,Nodes cpu节点和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工具。

A-Tune项目源码分析--checker模块_第1张图片

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

cpu_topo.go

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

结构体:

结构体名 参数 含义
CPUTopo Path 代表一种内存的拓扑类型
info NameValue xml类型的信息存储、传递方式。
machine [ ]Info info数组
cpuTopology XMLNameMachine 最终生成的子类

方法:

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

network_topo.go

概述:

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

mem_topo.go

概述:

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

结构体:

结构体名称 参数 含义
MemTopo Path,DisableChecker 代表一种内存的拓扑类型
Children ID Class Claimed Handle Description Product Vendor Physid Serial Slot Units Size Width Clock 内存信息的子信息
memorysInfo ID Physid Childrens 内存的信息
topology XMLName Memorys 拓扑类型

方法:

方法名 作用
init() 结构体MemTopo 的方法,将内存的信息传入到registry包下checkerServices切片中去,初始化检测操作。
Init() error MemTopo 的方法,初始化内存,将初始化失败的信息返回给monitor 服务。
IsCheckDisabled() bool MemTopo 的方法,当运行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模块待更新···

你可能感兴趣的:(A-Tune,华为,源码)