ceilometerclient入口
工程ceilometerclient shell.py中的main方法
ceilometerclient目录
--ceilometerclient --common/公共方法,args装饰器及获取数据后格式化打印等 --apiclient/ --tests/ 接口测试用例 --v2/ --shell.py ceilometer调用v2目录下api各种接口的总控制文件 --client.py 封装request请求的ceilometer client,提供获取client的方法,包括keystone的client,提供获取endpoint和token的方法 --shell.py 入口方法
根目录下shell.py 完成如下逻辑,以ceilometer sample-list -m mem_util -l 2 为例:
v2目录下shell.py提供了do_**的函数完成从上层shell.py传进来的命令并返回结果。其它的py文件按照名称以Manager类的形式分别对应ceilometer各个资源的操作实现。client.py引用所有的Manager,shell.py只需要依赖client就可以完成对各个资源的操作。
在v2目录中shell.py中的do_sample_list方法如下:
其中do_sample_list(cc, args)调用v2目录下samples.py中list方法发送request请求到/v2/meters/mem_util?limit=1 获取数据
以上是个人理解,实现具体可参考我的github: https://github.com/CaesarLinsa/ceilometer_TestCase