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
浙公网安备 33010602011771号