
# 操作指导
#### 前提条件
需要在线程池模式(enable_thread_pool = on)下执行。
#### 语法
不涉及。
#### 注意事项
- PL_TRACE_FUNC_CLEAN不可清理正在执行TRACE的session上的数据。
- TRACE功能不支持DBE_PERF模式下的存储过程。
 
#### 示例
```
-- 需要设置参数 enable_thread_pool = on开启线程池模式
--正常创建并执行存储过程
gaussdb=# DROP TABLE IF EXISTS t1;
NOTICE:  table "t1" does not exist, skipping
DROP TABLE
gaussdb=# CREATE TABLE t1(a INT);
NOTICE:  The 'DISTRIBUTE BY' clause is not specified. Using 'a' as the distribution column by default.
HINT:  Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column.
CREATE TABLE
gaussdb=# CREATE OR REPLACE PROCEDURE p1()
AS
BEGIN
FOR i IN 1..10 LOOP
INSERT INTO t1 VALUES (1);
END LOOP;
END;
/
CREATE PROCEDURE
--在当前session开启trace功能
gaussdb=# CALL DBE_PERF.PL_TRACE_FUNC_START(pg_current_sessid());
 pl_trace_func_start
---------------------
(1 row)
--执行存储过程
gaussdb=# CALL p1();
 p1
----
(1 row)
--查看获取的trace信息
gaussdb=# SELECT * FROM dbe_perf.pl_get_trace_info();
 session_id |  level  | database | func  |               source               | plan | time | threshold
------------+---------+----------+-------+------------------------------------+------+------+-----------
          2 | SESSION | postgres | 17542 | line 3, for i in 1..10 loop        |      |      |
          2 | SESSION | postgres | 17542 | line 4, insert into t1 values (1); |      |      |
          2 | SESSION | postgres | 17542 | line 4, insert into t1 values (1); |      |      |
          2 | SESSION | postgres | 17542 | line 4, insert into t1 values (1); |      |      |
          2 | SESSION | postgres | 17542 | line 4, insert into t1 values (1); |      |      |
          2 | SESSION | postgres | 17542 | line 4, insert into t1 values (1); |      |      |
          2 | SESSION | postgres | 17542 | line 4, insert into t1 values (1); |      |      |
          2 | SESSION | postgres | 17542 | line 4, insert into t1 values (1); |      |      |
          2 | SESSION | postgres | 17542 | line 4, insert into t1 values (1); |      |      |
          2 | SESSION | postgres | 17542 | line 4, insert into t1 values (1); |      |      |
          2 | SESSION | postgres | 17542 | line 4, insert into t1 values (1); |      |      |
(11 rows)
--关闭trace功能
gaussdb=# CALL dbe_perf.pl_trace_func_end(pg_current_sessid());
 pl_trace_func_end
-------------------
(1 row)
--清理记录的数据
gaussdb=# CALL dbe_perf.pl_trace_info_clean(pg_current_sessid());
 pl_trace_info_clean
---------------------
(1 row)
```
