usage

RGW Usage类解析

杀马特。学长 韩版系。学妹 提交于 2019-12-05 00:11:05
一、概述。 RGW Usage类实现了RGW的流量统计功能,其中包括发送/接收的字节数、执行操作的个数以及成功之行操作的个数。Usage类统计的这些内容对于一般的流量统计来说已经够用了。 二、核心数据结构解析。 RGW Usage核心数据结构如下: struct rgw_usage_log_entry { rgw_user owner; rgw_user payer; string bucket; uint64_t epoch; rgw_usage_data total_usage; map<string, rgw_usage_data> usage_map; }; 三、核心类关系图。 四、核心处理函数解析。 1、获取RGWUsage信息。 RGWUsage::show() |__RGWRados::read_usage() |__RGWRados::cls_obj_usage_log_read() |__cls_rgw_usage_log_read() |__rgw_user_usage_log_read() |__usage_iterate_range() |__cls_cxx_map_get_vals() CEPH_OSD_OP_OMAPGETVALS |__usage_record_decode() 从bufferlist中解析出rgw_usage_log_entry对象