openGauss SQL参考—函数和操作符:统计信息函数(10)

  • 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 
    -----------+------+------+-----+-------
posted @ 2024-08-05 16:08  openGauss-bot  阅读(19)  评论(0)    收藏  举报