更新时间:2024-04-30 GMT+08:00

GS_WLM_SESSION_HISTORY

GS_WLM_SESSION_HISTORY视图显示当前用户在当前CN上执行作业结束后的负载管理记录。此视图用于从GaussDB(DWS)中查询数据,仅当GUC参数enable_resource_track为on时,视图会查询GS_WLM_SESSION_INFO表中3分钟内的数据进行返回。

表1 GS_WLM_SESSION_HISTORY的字段

名称

类型

描述

datid

oid

连接后端的数据库OID。

dbname

text

连接后端的数据库名称。

schemaname

text

模式名。

nodename

text

语句执行的CN名称。

username

text

连接到后端的用户名。

application_name

text

连接到后端的应用名。

client_addr

inet

连接到后端的客户端的IP地址。 如果此字段是null,它表明通过服务器机器上UNIX套接字连接客户端或者这是内部进程,如autovacuum。

client_hostname

text

客户端的主机名,这个字段是通过client_addr的反向DNS查找得到。这个字段只有在启动log_hostname且使用IP连接时才非空。

client_port

integer

客户端用于与后端通讯的TCP端口号,如果使用Unix套接字,则为-1。

query_band

text

用于标示作业类型,可通过GUC参数query_band进行设置,默认为空字符串。

block_time

bigint

语句执行前的阻塞时间,包含语句解析和优化时间,单位为毫秒。

start_time

timestamp with time zone

语句执行的开始时间。

finish_time

timestamp with time zone

语句执行的结束时间。

duration

bigint

语句实际执行的时间,单位为毫秒。

estimate_total_time

bigint

语句预估执行时间,单位为毫秒。

status

text

语句执行结束状态:正常为finished,异常为aborted。该处记录的语句状态应为数据库服务端执行状态,当服务器端执行成功,结果集返回时报错,该语句应为finished。

abort_info

text

语句执行结束状态为aborted时显示异常信息。

resource_pool

text

用户使用的资源池。

control_group

text

语句所使用的Cgroup。

estimate_memory

integer

语句在单个实例上预估使用的内存,单位为MB。该字段只有当GUC参数enable_dynamic_workload为on时才有效。

min_peak_memory

integer

语句在所有DN上的最小内存峰值,单位为MB。

max_peak_memory

integer

语句在所有DN上的最大内存峰值,单位为MB。

average_peak_memory

integer

语句执行过程中的内存使用平均值,单位为MB。

memory_skew_percent

integer

语句各DN间的内存使用倾斜率。

spill_info

text

语句在所有DN上的下盘信息:

None:所有DN均未下盘。

All:所有DN均下盘。

[a:b]:数量为b个DN中有a个DN下盘。

min_spill_size

integer

若发生下盘,所有下盘DN的最小下盘数据量,单位为MB。默认为0。

max_spill_size

integer

若发生下盘,所有下盘DN的最大下盘数据量,单位为MB。默认为0。

average_spill_size

integer

若发生下盘,所有下盘DN的平均下盘数据量,单位为MB。默认为0。

spill_skew_percent

integer

若发生下盘,DN间下盘倾斜率。

min_dn_time

bigint

语句在所有DN上的最小执行时间,单位为毫秒。

max_dn_time

bigint

语句在所有DN上的最大执行时间,单位为毫秒。

average_dn_time

bigint

语句在所有DN上的平均执行时间,单位为毫秒。

dntime_skew_percent

integer

语句在各DN间的执行时间倾斜率。

min_cpu_time

bigint

语句在所有DN上的最小CPU时间,单位为毫秒。

max_cpu_time

bigint

语句在所有DN上的最大CPU时间,单位为毫秒。

total_cpu_time

bigint

语句在所有DN上的CPU总时间,单位为毫秒。

cpu_skew_percent

integer

语句在DN间的CPU时间倾斜率。

min_peak_iops

integer

语句在所有DN上的每秒最小IO峰值(列存单位为次/s,行存单位为万次/s)。

max_peak_iops

integer

语句在所有DN上的每秒最大IO峰值(列存单位为次/s,行存单位为万次/s)。

average_peak_iops

integer

语句在所有DN上的每秒平均IO峰值(列存单位为次/s,行存单位为万次/s)。

iops_skew_percent

integer

语句在DN间的IO倾斜率。

warning

text

主要显示如下几类告警信息以及SQL自诊断调优相关告警:

  1. Spill file size large than 256MB
  2. Broadcast size large than 100MB
  3. Early spill
  4. Spill times is greater than 3
  5. Spill on memory adaptive
  6. Hash table conflict

queryid

bigint

语句执行使用的内部query id。

query

text

执行的语句,最多可保留64KB长度的字符串。

query_plan

text

语句的执行计划。

规格限制:

  1. DML语句都会显示执行计划,DDL语句不显示执行计划。
  2. 当用户下发PBE(Parse Bind Execute)批处理语句时,为了便于分析语句情况,自8.2.1.100集群版本开始,为批处理的PBE语句的执行计划添加数据绑定次数,显示为“PBE bind times:次数”格式。

node_group

text

语句所属用户对应的逻辑集群。

pid

bigint

语句的后端线程的pid。

lane

text

语句执行时所在的快慢车道。

unique_sql_id

bigint

归一化的Unique SQL ID。

session_id

text

在数据库系统中唯一标记一个session,格式:session_start_time.tid.node_name。

min_read_bytes

bigint

语句在所有DN上的最小IO读字节数,单位为Bytes。

max_read_bytes

bigint

语句在所有DN上的最大IO读字节数,单位为Bytes。

average_read_bytes

bigint

语句在所有DN上的平均IO读字节数,单位为Bytes。

min_write_bytes

bigint

语句在所有DN上的最小IO写字节数,单位为Bytes。

max_write_bytes

bigint

语句在所有DN上的最大IO写字节数,单位为Bytes。

average_write_bytes

bigint

语句在所有DN上的平均IO写字节数,单位为Bytes。

recv_pkg

bigint

语句在所有DN上的通信包接收总量,单位为packages。

send_pkg

bigint

语句在所有DN上的通信包发送总量,单位为packages。

recv_bytes

bigint

语句在所有DN上的通信流接收数据总量,单位为Byte。

send_bytes

bigint

语句在所有DN上的通信流发送数据总量,单位为Byte。

stmt_type

text

语句对应的查询类型。

except_info

text

语句触发的异常规则信息。

parse_time

bigint

语句排队前的解析总时间(包含词法语法解析,优化重写和计划生成时间),单位为毫秒。该字段仅8.3.0.100及以上版本支持。