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

相关推荐

  1. Python HTML内容

    2024-07-19 15:08:06       49 阅读
  2. HTTPS ECDHE握手内容

    2024-07-19 15:08:06       35 阅读
  3. JVM内存模型

    2024-07-19 15:08:06       36 阅读
  4. 练习:鼠标类设计之1_类内容

    2024-07-19 15:08:06       46 阅读
  5. Apache tika 实现各种文档内容

    2024-07-19 15:08:06       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 15:08:06       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 15:08:06       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 15:08:06       62 阅读
  4. Python语言-面向对象

    2024-07-19 15:08:06       72 阅读

热门阅读

  1. 简单分享下Python数据可视化

    2024-07-19 15:08:06       21 阅读
  2. 【LeetCode 0022】【DSF】生成括号

    2024-07-19 15:08:06       24 阅读
  3. 【Nginx】前端请求跨域问题

    2024-07-19 15:08:06       22 阅读
  4. Kotlin实现SHA-256哈希和RSA签名

    2024-07-19 15:08:06       25 阅读