Skip to Content
May 18 at 08:58 PM

The (new?) monSysExecutionTime mon table looks pretty useful


I stumbled across the monSysExecutionTime table the other day. It looks like it has some really useful table. Here's a example:

[114] MYSERVER.master> select * from monSysExecutionTime;
 InstanceID OperationID ExecutionTime        ExecutionCnt         OperationName                 
 ---------- ----------- -------------------- -------------------- ------------------------------
          0           0               914991                    0 Unknown                       
          0           1              1832984                23674 Execution                     
          0           2                22365                 2597 Sorting                       
          0           3               361908                 3902 Compilation                   
          0           4               305683               133138 NetworkIO                     
          0           5                95801               443051 DeviceIO  

The execution time is in microseconds (ie. million'ths of a second, aka usecs). The counts start from zero at boot time.

I can't find much info about this table. I assume that, in a kernel threaded environment where threads actually execute in parallel, the network and/or device I/O ExecutionTime is the amount of time the I/O operations are waiting, even if the user thread that requested the I/O is off doing something else. Ie., even if there is no actual thread in a wait state for the I/O. And is "Execution" a superset of other categories? Does it include I/O wait time, Sorting, and/or Compilation time? Or is it just CPU execution time?

Thanks in advance