ceph log内容解析

log内容构造

如osd的一条log


分别表示 时间戳 线程id 日志等级 子模块 内容实体

剖析源码实现

每条log都是由一个Entry构成
定义在src/log/entry.h中

Entry(short pr, short sub) :
    m_stamp(clock().now()), // 打印日志时的时间戳
    m_thread(pthread_self()), // 打印日志的线程ID
    m_prio(pr), // 日志的优先级值(值越大,优先级越低)
    m_subsys(sub) // 子模块ID,如osd
  {}


ldout是带前缀的dout_impl
定义在src/common/dout.h中

#define ldout(cct, v)  dout_impl(cct, dout_subsys, v) dout_prefix

dout和ldout类似,也是带前缀的dout_impl,只有个别模块有使用,如src/mds/MDBalancer.cc中

#undef dout
#define dout(lvl) \
  do {\
    auto subsys = ceph_subsys_mds;\
    if ((dout_context)->_conf->subsys.should_gather(ceph_subsys_mds_balancer, lvl)) {\
      subsys = ceph_subsys_mds_balancer;\
    }\
    dout_impl(dout_context, ceph::dout::need_dynamic(subsys), lvl) dout_prefix
#undef dendl
#define dendl dendl_impl; } while (0)

学习链接:https://daimajiaoliu.com/daima/485fd296c900408

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值