---
title: "快速入门：obdiag 全链路功能诊断 - OceanBase 数据库 V4.3.0 | OceanBase 文档中心"
description: 快速入门：obdiag 全链路功能诊断 obdiag 是专为 OceanBase 设计的一款黑盒诊断工具。它的功能覆盖了对 OceanBase 日志、SQL 审计以及 OceanBase 进程堆栈等信息的扫描、收集和分析。无论您是在 OCP、obd 部署，还是按照文档手动部署，obdiag 都能以一键执行的方式迅速完…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.0

# 快速入门：obdiag 全链路功能诊断

更新时间：2026-04-10 11:58:35

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.0/zh-CN/600.manage/900.daily-inspection/900.full-link-detection/500.full-link-tracking-quick-start.md)  

obdiag 是专为 OceanBase 设计的一款黑盒诊断工具。它的功能覆盖了对 OceanBase 日志、SQL 审计以及 OceanBase 进程堆栈等信息的扫描、收集和分析。无论您是在 OCP、obd 部署，还是按照文档手动部署，obdiag 都能以一键执行的方式迅速完成诊断信息的收集和分析。

本文档将引导您如何使用 obdiag 快速对 OceanBase 数据库进行全链路追踪。

## 安装和部署 obdiag

1. 下载 [obdiag](https://www.oceanbase.com/softwarecenter)，确保您下载的版本为 v.1.5.0 及以上。
 2. 请参考官方文档 [敏捷诊断工具 obdiag](https://www.oceanbase.com/docs/common-obdiag-cn-1000000000493923) 完成 obdiag 的安装、部署和配置。

## 操作步骤

### 步骤 1（可选）：重设租户 Trace

如果您希望在进行全面诊断时打印全部结果，可以执行**重设租户 Trace**操作。

在连接到 OBServer 后，执行以下 SQL 命令：

```sql
-- 关闭 Trace
call dbms_monitor.ob_tenant_trace_disable();
-- 记录当前租户中的耗时信息，全部记录并全部打印。
call dbms_monitor.ob_tenant_trace_enable(1, 1, 'ALL');

```

### 步骤 2：查询 SQL 语句进行测试

这里以一个 SQL 查询语句为例，演示如何进行全链路功能诊断。

```sql
select * from tx where c1=1 and c1=2;

-- 在 SQL Audit 中，通过 `query_sql` 查找疑似慢 SQL 的 `flt_trace_id`
SELECT query_sql, flt_trace_id FROM oceanbase.gv$ob_sql_audit WHERE query_sql LIKE 'select * from tx where c1=1 and c1=%';
+--------------------------------------+--------------------------------------+
| query_sql                            | flt_trace_id                         |
+--------------------------------------+--------------------------------------+
| select * from tx where c1=1 and c1=2 | 00060e1a-dead-7cbd-5d74-6d64084eccfa |
+--------------------------------------+--------------------------------------+
1 row in set (0.206 sec)

```

### 步骤 3：执行全链路追踪命令

退出 OBServer，并执行以下命令进行全链路追踪：

```shell
-- 使用步骤 2 中得到的 `flt_trace_id` 和配置好的环境执行全链路追踪命令：
$ obdiag analyze flt_trace --flt_trace_id 00060e1a-dead-7cbd-5d74-6d64084eccfa

```

返回结果如下：

```shell
2024-01-04 16:54:21,217 [INFO] Use analyze_flt_result_20240104165421 as pack dir.
2024-01-04 16:54:21,218 [INFO] Sending Collect Shell Command to node 172.xx.xxx.xxx ...
2024-01-04 16:54:21,227 [INFO] Connected (version 2.0, client OpenSSH_7.4)
2024-01-04 16:54:21,300 [INFO] Authentication (publickey) failed.
2024-01-04 16:54:21,317 [INFO] Authentication (password) successful!
2024-01-04 16:54:21,317 [INFO] [remote host 172.xx.xxx.xxx] execute cmd = [mkdir -p /tmp/trace_merged_cache]
2024-01-04 16:54:21,365 [INFO] [remote host 172.xx.xxx.xxx] execute cmd = [grep '00060e1a-dead-7cbd-5d74-6d64084eccfa' /home/admin/oceanbase/log/*trace.log* > /tmp/trace_merged_cache/00060e1a-dead-7cbd-5d74-6d64084eccfa ]
2024-01-04 16:54:21,412 [INFO] Please wait a moment, download file [/tmp/trace_merged_cache/00060e1a-dead-7cbd-5d74-6d64084eccfa] from server 172.xx.xxx.xxx to [analyze_flt_result_20240104165421/172.xx.xxx.xxx/OBSERVER-00060e1a-dead-7cbd-5d74-6d64084eccfa]
2024-01-04 16:54:21,459 [INFO] [chan 2] Opened sftp connection (server version 3)
Download 172.xx.xxx.xxx:/tmp/trace_merged_cache/00060e1a-dead-7cbd-5d74-6d64084eccfa
Downloading [====================] 100.0% [9.18 KB ]
2024-01-04 16:54:21,463 [INFO] [chan 2] sftp session closed.
2024-01-04 16:54:21,463 [INFO] [remote host 172.xx.xxx.xxx] execute cmd = [rm -rf /tmp/trace_merged_cache/OBSERVER-00060e1a-dead-7cbd-5d74-6d64084eccfa]
2024-01-04 16:54:21,469 [INFO] [chan 2] sftp session closed.
2024-01-04 16:54:21,475 [INFO] parse file: analyze_flt_result_20240104165421/172.xx.xxx.xxx/OBSERVER-00060e1a-dead-7cbd-5d74-6d64084eccfa
2024-01-04 16:54:21,476 [INFO] file:analyze_flt_result_20240104165421/172.xx.xxx.xxx/OBSERVER-00060e1a-dead-7cbd-5d74-6d64084eccfa trace:00060e1a-dead-7cbd-5d74-6d64084eccfa total:21
root node id: 00060e1a-dead-7cbd-0d98-21b2933fca47

Top time-consuming leaf span:

+----+----------------+--------------+---------------------------+
| ID | Leaf Span Name | Elapsed Time | HOSTS                     |
+----+----------------+--------------+---------------------------+
| 10 | optimize       | 531 μs       | OBSERVER (

172.xx.xxx.xxx) |
| 8  | resolve        | 289 μs       | OBSERVER (172.xx.xxx.xxx) |
| 9  | rewrite        | 460 μs       | OBSERVER (172.xx.xxx.xxx) |
| 11 | code_generate  | 126 μs

       | OBSERVER (172.xx.xxx.xxx) |
| 12 | pc_add_plan    | 59 μs        | OBSERVER (172.xx.xxx.xxx) |
+----+----------------+--------------+---------------------------+
Tags & Logs:
-------------------------------------
10 - optimize  Elapsed: 531 μs
     OBSERVER (172.xx.xxx.xxx)
8 - resolve  Elapsed: 289 μs
    OBSERVER (172.xx.xxx.xxx)
9 - rewrite  Elapsed: 460 μs
    OBSERVER (172.xx.xxx.xxx)
11 - code_generate  Elapsed: 126 μs
     OBSERVER (172.xx.xxx.xxx)
12 - pc_add_plan  Elapsed: 59 μs
     OBSERVER (172.xx.xxx.xxx)

Details:

+---+------------------------------+-------------+--------------------------+
| ID| Span Name                    | Elapsed Time| HOSTS                    |
+---+------------------------------+-------------+--------------------------+
| 1 | TRACE                        | -           |                          |
| 2 | └─com_query_process          | 2.040 ms    | OBSERVER (172.xx.xxx.xxx)|
| 3 |   └─mpquery_single_stmt      | 2.026 ms    |                          |
| 4 |     ├─sql_compile            | 1.787 ms    |                          |
| 5 |     │ ├─pc_get_plan          | 5 μs        | OBSERVER (172.xx.xxx.xxx)|
| 6 |     │ └─hard_parse           | 1.738 ms    |                          |
| 7 |     │   ├─parse              | 57 μs       | OBSERVER (172.xx.xxx.xxx)|
| 8 |     │   ├─resolve            | 289 μs      | OBSERVER (172.xx.xxx.xxx)|
| 9 |     │   ├─rewrite            | 460 μs      | OBSERVER (172.xx.xxx.xxx)|
| 10|     │   ├─optimize           | 531 μs      | OBSERVER (172.xx.xxx.xxx)|
| 11|     │   ├─code_generate      | 126 μs      | OBSERVER (172.xx.xxx.xxx)|
| 12|     │   └─pc_add_plan        | 59 μs       | OBSERVER (172.xx.xxx.xxx)|
| 13|     └─sql_execute            | 179 μs      |                          |
| 14|       ├─open                 | 21 μs       | OBSERVER (172.xx.xxx.xxx)|
| 15|       ├─response_result      | 80 μs       |                          |
| 16|       │ └─do_local_das_task  | 40 μs       | OBSERVER (172.xx.xxx.xxx)|
| 17|       └─close                | 42 μs       |                          |
| 18|         ├─close_das_task     | 5 μs        | OBSERVER (172.xx.xxx.xxx)|
| 19|         └─end_transaction    | 2 μs        | OBSERVER (172.xx.xxx.xxx)|
+---+------------------------------+-------------+--------------------------+
Tags & Logs:
-------------------------------------
1 -
2 - com_query_process  Elapsed: 2.040 ms
    OBSERVER (172.xx.xxx.xxx)
    tags: [{'sess_id': 32 ...
3 - mpquery_single_stmt  Elapsed: 2.026 ms
4 - sql_compile  Elapsed: 1.787 ms
    tags: [{'sql_text': 'select * from tx where c1=1 and c1=2 ...
5 - pc_get_plan  Elapsed: 5 μs
    OBSERVER (172.xx.xxx.xxx)
6 - hard_parse  Elapsed: 1.738 ms
7 - parse  Elapsed: 57 μs
    OBSERVER (172.xx.xxx.xxx)
Result too large, wait a moment ...

For more details, please run cmd ' cat analyze_flt_result_20240104165421/00060e1a-dead-7cbd-5d74-6d64084eccfa.txt '

If you want to view detailed obdiag logs, please run:' obdiag display-trace --trace_id 4335f2a3-6d17-3904-8ff9-d5b25aeffd21 '

```

### 步骤 4：查看全链路追踪详情

```bash
$ cat analyze_pack_20231008171201/result_details.txt

```

全链路追踪结果将包括 TOP 5 耗时的 Leaf Span，以及各个 Span 的详细信息和标签。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
