29.12.5.1 events_stages_当前 表
表 events_stages_current
包含当前阶段事件的当前状态。该表按线程存储一行,显示了每个线程最近监控到的最终阶段事件的当前状态,因此没有系统变量用于配置表大小。
包含阶段事件行的表中,events_stages_current
是最基础的一张。其他包含阶段事件行的表是基于当前事件逻辑派生的。例如,events_stages_history
和 events_stages_history_long
表是最近结束的阶段事件的集合,直到每个线程和所有线程全球范围内的最大行数限制。
有关三张阶段事件表之间关系的更多信息,请参阅 第 29.9 节,“当前和历史事件的性能架构表”。
有关是否收集阶段事件的配置信息,请参阅 第 29.12.5 节,“性能架构阶段事件表”。
表 events_stages_current
有这些列:
-
THREAD_ID
,EVENT_ID
与事件关联的线程及其当前事件开始时的线程事件编号。
THREAD_ID
和EVENT_ID
值结合起来唯一标识行。没有两行有相同的值对。 -
END_EVENT_ID
当事件开始时,该列设置为
NULL
,当事件结束时更新为线程当前事件编号。 -
EVENT_NAME
产生事件的仪器名称。这是
setup_instruments
表中的一个NAME
值。仪器名称可能有多个部分,形成层次结构,如第 29.6 节“性能架构仪器命名约定” 所讨论的那样。 -
SOURCE
包含产生事件的仪器化代码的源文件名称以及发生仪器化的文件中行号。这使您可以检查源代码以确定具体涉及的代码。
-
TIMER_START
,TIMER_END
,TIMER_WAIT
事件的计时信息。这些值的单位是皮秒(十亿分之一秒)。
TIMER_START
和TIMER_END
值表示事件计时开始和结束。TIMER_WAIT
是事件所用时间(持续时间)。如果事件尚未完成,
TIMER_END
为当前计时器值,TIMER_WAIT
为已过去的时间(TIMER_END
-TIMER_START
)。如果仪器没有
TIMED = NO
,则不会收集计时信息,TIMER_START
、TIMER_END
和TIMER_WAIT
都为NULL
。有关皮秒作为事件时间单位以及影响时间值的因素,请参阅 第 29.4.1 节,“性能架构事件计时”。
-
WORK_COMPLETED
,WORK_ESTIMATED
这些列提供了阶段进度信息,适用于已被实现以产生此类信息的仪器。
WORK_COMPLETED
表示完成的工作单元数为阶段,而WORK_ESTIMATED
表示预计为阶段的工作单元数。有关更多信息,请参阅 阶段事件进度信息。 -
NESTING_EVENT_ID
事件ID值,表示该事件所在的嵌套事件。对于一个阶段事件,嵌套事件通常是一个语句事件。
-
NESTING_EVENT_
嵌套事件类型。值为
TRANSACTION
、STATEMENT
、STAGE
或WAIT
。
表events_stages_current
具有以下索引:
-
基于(
THREAD_ID
,EVENT_ID
)的主键。
TRUNCATE TABLE
允许对表events_stages_current
进行。它删除了行。