-
dbe_perf.gs_stat_activity_timeout(int)
描述:获取当前节点上执行时间超过超时阈值的查询作业信息。需要GUC参数track_activities设置为on才能正确返回结果。超时阈值的取值范围是0~2147483。
返回值类型:setof record
|
名称
|
类型
|
描述
|
|
database
|
name
|
用户会话连接的数据库名称。
|
|
pid
|
bigint
|
后台线程ID。
|
|
sessionid
|
bigint
|
会话ID。
|
|
usesysid
|
oid
|
登录该后台的用户OID。
|
|
application_name
|
text
|
连接到该后台的应用名。
|
|
query
|
text
|
该后台正在执行的查询。
|
|
xact_start
|
timestamptz
|
启动当前事务的时间。
|
|
query_start
|
timestamptz
|
开始当前查询的时间。
|
|
query_id
|
bigint
|
查询语句ID。
|
-
gs_wlm_user_resource_info(name text)
描述:查询具体某个用户的资源限额和资源使用情况。普通用户只能查询到自己相关的信息,管理员权限的用户可以查看全部用户的信息。
返回值类型:record
-
create_wlm_instance_statistics_info
描述:将当前实例的历史监控数据进行持久化保存。
参数:nan
返回值类型:integer
-
gs_session_memory
描述:统计Session级别的内存使用情况,包含执行作业在数据节点上Postgres线程和Stream线程分配的所有内存。
说明: 若GUC参数enable_memory_limit=off,该函数不能使用。
返回值类型:record
表 8 返回值说明
|
名称
|
类型
|
描述
|
|
sessid
|
text
|
线程启动时间+线程标识。
|
|
init_mem
|
integer
|
当前正在执行作业进入执行器前已分配的内存,单位MB。
|
|
used_mem
|
integer
|
当前正在执行作业已分配的内存,单位MB。
|
|
peak_mem
|
integer
|
当前正在执行作业已分配的内存峰值,单位MB。
|
-
gs_wlm_persistent_user_resource_info()
描述:将当前所有的用户资源使用统计信息归档到gs_wlm_user_resource_history系统表中,只有sysadmin有权限查询。
返回值类型:record
-
create_wlm_operator_info(int flag)
描述:将当前内存中记录的TopSQL算子级别相关统计信息清理,当传入的参数大于0时,会将这部分信息归档到gs_wlm_operator_info和gs_wlm_ec_operator_info中,否则不会归档。该函数只有sysadmin权限的用户可以执行。
返回值类型:int
-
GS_ALL_NODEGROUP_CONTROL_GROUP_INFO(text)
描述:提供了所有逻辑数据库实例的控制组信息。该函数在调用的时候需要指定要查询逻辑数据库实例的名称。例如要查询'InstallationGuide'逻辑数据库实例的控制组信息:
SELECT * FROM GS_ALL_NODEGROUP_CONTROL_GROUP_INFO('InstallationGuide')
返回值类型:record
函数返回字段如下:
|
名称
|
类型
|
描述
|
|
name
|
text
|
控制组的名称。
|
|
type
|
text
|
控制组的类型。
|
|
gid
|
bigint
|
控制组ID。
|
|
classgid
|
bigint
|
Workload所属Class的控制组ID。
|
|
class
|
text
|
Class控制组。
|
|
workload
|
text
|
Workload控制组。
|
|
shares
|
bigint
|
控制组分配的CPU资源配额。
|
|
limits
|
bigint
|
控制组分配的CPU资源限额。
|
|
wdlevel
|
bigint
|
Workload控制组层级。
|
|
cpucores
|
text
|
控制组使用的CPU核的信息。
|
-
gs_total_nodegroup_memory_detail
描述:返回当前数据库逻辑数据库使用内存的信息,单位为MB得到一个逻辑数据库。此函数依赖内存保护功能开启。 返回值类型:setof record
-
local_redo_time_count()
描述:返回本节点各个回放线程的各个流程的耗时统计(仅在备机上有有效数据)。
示例:
openGauss=# select * from local_redo_time_count();
thread_name | step1_total | step1_count | step2_total | step2_count | step3_total | step3_count | step4_total | step4_count | step5_total | step5_count | step6_total | step6_count | step7_total | step7_count | step8_total | step8_count | step9_total | step9_count
返回值如下:
local_redo_time_count返回参数说明。
|
字段名
|
描述
|
|
thread_name
|
线程名字
|
|
step1_total
|
step1的总时间,每个线程对应的流程如下:
极致RTO:
- batch redo:从队列中获取一条日志
- redo manager:从队列中获取一条日志
- redo worker:从队列中获取一条日志
- trxn manager:从队列中读取一条日志
- trxn worker:从队列中读取一条日志
- read worker:从文件中读取一次xlog page(整体)
- read page worker:从队列中获取一个日志
- startup:从队列中获取一个日志
并行回放:
- page redo:从队列中获取一条日志
- startup:读取一条日志
|
|
step1_count
|
step1的统计次数
|
|
step2_total
|
step2的总时间,每个线程对应的流程如下:
极致RTO:
- batch redo:处理日志(整体)
- redo manager:处理日志(整体)
- redo worker:处理日志(整体)
- trxn manager:处理日志(整体)
- trxn worker:处理日志(整体)
- redo worker:读取xlog page耗时
- read page worker:生成和发送lsn forwarder
- startup:check stop(是否回放到指定位置)
并行回放:
- page redo:处理日志(整体)
- startup:check stop(是否回放到指定位置)
|
|
step2_count
|
step2的统计次数
|
|
step3_total
|
step3的总时间,每个线程对应的流程如下:
极致RTO:
- batch redo:更新standbystate
- redo manager:数据日志处理
- redo worker:回放page也日志(整体)
- trxn manager:更新flush lsn
- trxn worker:回放日志处理
- redo worker:推进xlog segment
- read page worker:获取一个新的item
- startup:redo delay(延迟回放特性等待时间)
并行回放:
- page redo:更新standbystate
- startup:redo delay(延迟回放特性等待时间)
|
|
step3_count
|
step3的统计次数
|
|
step4_total
|
step4的总时间,每个线程对应的流程如下:
极致RTO:
- batch redo:解析xlog
- redo manager:DDL处理
- redo worker:读取数据page页
- trxn manager:同步等待时间
- trxn worker:更新本线程lsn
- read page worker:将日志放入分发线程
- startup:分发(整体)
并行回放:
- page redo:undo 日志回放
- startup:分发(整体)
|
|
step4_count
|
step4的统计次数
|
|
step5_total
|
step5的总时间,每个线程对应的流程如下:
极致RTO:
- batch redo:分发给redo manager
- redo manager:分发给redo worker
- redo worker:回放数据page页的日志
- trxn manager:分发给trxn worker
- trxn worker:强同步wait时间
- read page worker:更新本线程lsn
- startup:日志decode
并行回放:
- page redo:sharetrxn 日志回放
- startup:日志回放
|
|
step5_count
|
step5的统计次数
|
|
step6_total
|
step6的总时间,每个线程对应的流程如下:
极致RTO:
- redo worker:回放非数据页page日志
- trxn manager:全局lsn更新
- read page worker:日志crc校验
并行回放:
- page redo:synctrxn 日志回放
- startup:强同步等待
|
|
step6_count
|
step6的统计次数
|
|
step7_total
|
step7的总时间,每个线程对应的流程如下:
极致RTO:
redo worker:fsm更新
并行回放:
page redo:single 日志回放
|
|
step7_count
|
step7的统计次数
|
|
step8_total
|
step8的总时间,每个线程对应的流程如下:
极致RTO:
redo worker:强同步等待
并行回放:
page redo:all workers do 日志回放
|
|
step8_count
|
step8的统计次数
|
|
step9_total
|
step9的总时间,每个线程对应的流程如下:
极致RTO:
无
并行回放:
page redo:muliti workers do 日志回放
|
|
step9_count
|
step9的统计次数
|
-
local_xlog_redo_statics()
描述:返回本节点已经回放的各个类型类型的日志统计信息(仅在备机上有有效数据)。
示例:
openGauss=# select * from local_xlog_redo_statics();
xlog_type | rmid | info | num | extra