ceph存储 ceph源码调试中admin_socket接口
来源:互联网 发布:上市公司高管薪酬数据 编辑:程序博客网 时间:2024/05/21 10:25
admin_socket:
每一个进程一个,即每一个asok文件一个,在进程初始化时进行初始化,在进程关闭时关闭,osd进程admin_socket已经初始化,如果想获取或者设置,直接通过
admin_socket->register_command进行命令注册,OSD::asok_command进行响应,以及在osd::shutdown时调用unregister_command注销注册的命令,释放OSDSocketHook。
1、osd中是通过(ObjectStore *)store指针进行访问的其他子模块,例如journal
现有机制示例:
"flush_journal": "flush the journal to permanent store" // 例子
{
1、register_command
void OSD::final_init()
r = admin_socket->register_command("flush_journal", "flush_journal",
asok_hook,
"flush the journal to permanent store");
2、asok_command(真正数据收集)
bool OSD::asok_command(string command, cmdmap_t& cmdmap, string format,
ostream& ss)
if (command == "flush_journal") {
store->sync_and_flush();
}
3、unregister_command
OSD::shutdown
cct->get_admin_socket()->unregister_command("flush_journal");
}
每一个进程一个,即每一个asok文件一个,在进程初始化时进行初始化,在进程关闭时关闭,osd进程admin_socket已经初始化,如果想获取或者设置,直接通过
admin_socket->register_command进行命令注册,OSD::asok_command进行响应,以及在osd::shutdown时调用unregister_command注销注册的命令,释放OSDSocketHook。
1、osd中是通过(ObjectStore *)store指针进行访问的其他子模块,例如journal
现有机制示例:
"flush_journal": "flush the journal to permanent store" // 例子
{
1、register_command
void OSD::final_init()
r = admin_socket->register_command("flush_journal", "flush_journal",
asok_hook,
"flush the journal to permanent store");
2、asok_command(真正数据收集)
bool OSD::asok_command(string command, cmdmap_t& cmdmap, string format,
ostream& ss)
if (command == "flush_journal") {
store->sync_and_flush();
}
3、unregister_command
OSD::shutdown
cct->get_admin_socket()->unregister_command("flush_journal");
}
其中JSONFormatter与XMLFormatter均继承与Formatter这个格式基类,Formatter在源码调试或者性能调优中起到很重要的作用,值得细细研究。
0 0
- ceph存储 ceph源码调试中admin_socket接口
- ceph存储 ceph源码中自定义PerfCounters添加步骤
- ceph存储 ceph-fuse源码分析一
- ceph存储 ceph中PG的意义
- ceph存储 ceph中librados相关
- ceph存储 ceph中restful设计原理
- ceph存储 ceph中pglog处理流程
- ceph存储-ceph文件系统
- ceph存储
- ceph存储 ceph的CRUSH算法的源码分析
- ceph存储 centos7+0.87源码安装ceph集群问题汇总
- ceph存储 ceph中对crush算法的认知
- ceph存储 ceph集群集成到OpenStack云中
- ceph存储 ceph集群配置
- ceph存储 浅谈Ceph纠删码
- ceph存储 Ceph架构剖析
- ceph存储 Linux NTPD设置、调试
- ceph
- 一步一步解析java集合框架HashMap源码(1)
- html5 sqlite(Web SQL)
- HDU 4651 数学 五边形数定理
- hdu5790 Prefix(Trie树+主席树)
- How to give custom labels to x axis of chart control?
- ceph存储 ceph源码调试中admin_socket接口
- 华为 删数
- UNIX环境高级编程——学习路线图
- 通过cmd后去keystore的SHA1指纹
- Dex文件格式详解
- Intent实现页面的跳转
- Android6.0权限管理被忽略问题
- c# Chart设置样式
- 用JS获取地址栏参数的方法