背景
在之前的文章中提到过,我们在测试过程中需要对机器的资源进行评测。在实际工作中,我们还会经常遇到的场景就是对于agent-server类型的业务,当部署完成后,需要对部署在机器上的agent进行资源占用的观测,不能舍本逐末,由于agent的异常资源占用,导致原有业务受机器资源影响,不能正常提供服务。
监控指定的进程(比如agent)所占用的机器资源是否达到预期目标,尤其是在稳定性测试时,检验是否有内存泄漏、CPU占用过高等问题。
思路
- 将待监控的信息,以及全局的配置定义到配置文件
- 准备工作:解析配置文件,初始化日志文件
- 封装好各种shell命令,通过调用subprocess模块,执行命令拿到结果
- 将结果写入到csv文件
- 每种监控都是通过启动新的子进程执行,互不干扰,达到指定的时间之后结束所有的进程
代码
-
文件组织结构
-
配置文件config.ini内容:
[base]
;超时时间