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
生成事件的 Instrument 的名称。这是
setup_instruments
表中的NAME
值。Instrument 名称可能有多个部分并形成层次结构,如 第 29.6 节,“性能模式 Instrument 命名约定” 中所述。SOURCE
包含生成事件的检测代码的源文件名称,以及检测发生的源文件中的行号。这使您能够检查源代码以确定涉及的确切代码。
TIMER_START
、TIMER_END
、TIMER_WAIT
事件的计时信息。这些值的单位是皮秒(万亿分之一秒)。
TIMER_START
和TIMER_END
值指示事件计时何时开始和结束。TIMER_WAIT
是事件的経過时间(持续时间)。如果事件尚未完成,则
TIMER_END
是当前计时器值,TIMER_WAIT
是到目前为止的経過时间(TIMER_END
-TIMER_START
)。如果事件是由
TIMED = NO
的 Instrument 生成的,则不会收集计时信息,并且TIMER_START
、TIMER_END
和TIMER_WAIT
都为NULL
。有关皮秒作为事件时间单位的讨论以及影响时间值的因素,请参阅 第 29.4.1 节,“性能模式事件计时”。
WORK_COMPLETED
、WORK_ESTIMATED
这些列提供阶段进度信息,适用于已实现生成此类信息的工具。
WORK_COMPLETED
指示阶段已完成的工作单元数,WORK_ESTIMATED
指示阶段预计的工作单元数。有关更多信息,请参见阶段事件进度信息。NESTING_EVENT_ID
EVENT_ID
此事件嵌套在其中的事件的值。阶段事件的嵌套事件通常是语句事件。NESTING_EVENT_TYPE
嵌套事件类型。该值为
TRANSACTION
、STATEMENT
、STAGE
或WAIT
。
events_stages_current
表具有以下索引:
(
THREAD_ID
、EVENT_ID
)上的主键
TRUNCATE TABLE
允许用于 events_stages_current
表。它将删除行。