enable_record_trace_log 里的“追踪日志”是什么

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】OB
【 使用版本 】v4.2.5–v4.4.2
【问题描述】

      既然已经通过 `DBMS_MONITOR.OB_TENANT_TRACE_ENABLE` 开启了全链路追踪,那么 `enable_record_trace_log` 里的‘追踪日志’指的又是什么呢?针对同一件事通常不会设置两个重复的开关,因此我理解它应该不是指全链路追踪。

结合 trace_log_slow_query_watermark 的参数说明来看,慢查询似乎也被归类为追踪日志的一种。

请问:

  1. 官方对‘追踪日志’的标准定义究竟是什么?它是所有日志的泛称吗?

  2. 它与‘全链路追踪’到底是什么关系——是包含关系?还是完全不同的两类机制?

2 个赞

学习一下

@论坛小助手

追踪日志(trace log)指的是记录从客户端到 OBProxy 再到 OBServer 全链路各阶段的耗时及各组件诊断相关信息的日志。这些日志帮助运维人员理解数据库内部的处理逻辑以及定位问题所在。全链路追踪(Tracing)是OceanBase数据库提供的一个功能,能够追踪用户SQL请求在数据库全链路过程中,在不同组件、不同阶段执行的相关信息,并以可视化方式展现给用户,从而帮助用户快速定位问题所在位置。全链路追踪机制会记录每条SQL的执行过程,包括OBProxy、OBServer等组件的信息,这些信息就是追踪日志的一部分。因此,‘追踪日志’与‘全链路追踪’是包含关系,‘追踪日志’是‘全链路追踪’的一个组成部分。

具体信息可参考以下文档:

  1. trace log
  2. 全链路追踪概述
  3. 全链路追踪流程

github地址我暂时打不开。但是从名字上看,还是引用引用了全链路追踪日志的介绍
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005685065

我不认可:-----‘追踪日志’是‘全链路追踪’的一个组成部分
因为以下逻辑有问题

1那为什么要启2个名字?
2.为什么要用2个开关?
3. trace_log_slow_query_watermark里也说自己是“追踪日志”

所以这位AI助手对我的问题一个没有解答。

enable_record_trace_log 管的是内核 Trace Event 埋点与老式 trace 输出(集群级、默认常开、偏性能开关);OB_TENANT_TRACE_ENABLE 管的是 FLT 全链路 span 的采样与落盘策略(租户级、按需开启、偏诊断开关)。二者互补,不是重复配置。

客户端访问到 OBProxy 再到 OBServer 全链路日志追踪

看看看看