云数据库 GAUSSDB-统计信息函数:gs_perf_start(duration integer[, freq integer])
gs_perf_start(duration integer[, freq integer])
描述:采集当前节点上各个线程的on-cpu火焰图的堆栈调用数据,函数返回火焰图的存储路径。查询该函数需要有SYSADMIN权限或者MONADMIN权限。
参数说明如下:
|
参数名称 |
描述 |
类型 |
范围 |
|---|---|---|---|
|
duration |
采集堆栈时长(单位为秒,如果输入浮点型,会对浮点型小数点后第一位进行四舍五入后取整处理)。 |
integer |
1~60 |
|
freq |
采集堆栈频率(可选参数,单位为HZ,默认为100,如果输入浮点型,会对浮点型小数点后第一位进行四舍五入后取整处理)。 |
integer |
10~1000 |
返回值类型:text
示例:
1 2 3 4 5 6 7 8 |
gaussdb=# SELECT gs_perf_start(10,100); gs_perf_start ------------------------------------------------------------------------------------ Successfully collected perf flamegraph data, the result filepaths are : + $GAUSS LOG /gs_flamegraph/dn_6001/flamegraph-manual-oncpu-2025-02-28_175628.html.gz;+ Record 29427 cpu clock samples. + (1 row) |
执行该函数时(包括后述gs_perf_start_offcpu()、gs_perf_start_all()、gs_perf_start_detail())需要gs_perf_service正常运行。同时gs_perf_service在采集过程中,需要申请环形buffer,该buffer的大小受操作系统中/proc/sys/kernel/perf_event_mlock_kb控制。如果采集过程中出现“perf mmap failed”错误,可以在调整/proc/sys/kernel/perf_event_mlock_kb的大小后,再重新执行采集。
下载云数据库 GAUSSDB用户手册完整版