EXECUTION_ENGINE_PROFILES
Provides profiling information about runtime query execution. The hierarchy of IDs, from highest level to actual execution is:
PATH_ID
BASEPLAN_ID
LOCALPLAN_ID
OPERATOR_ID
Counters (output from the COUNTER_NAME
column) are collected for each actual Execution Engine (EE) operator instance.
The following columns combine to form a unique key:
TRANSACTION_ID
STATEMENT_ID
NODE_NAME
OPERATOR_ID
COUNTER_NAME
COUNTER_TAG
Column Name | Data Type | Description |
---|---|---|
NODE_NAME
|
|
Node name for which information is listed. |
USER_ID
|
|
Unique numeric ID assigned by the Vertica catalog, which identifies the user. |
USER_NAME
|
|
User name for which query profile information is listed. |
SESSION_ID
|
|
Identifier of the session for which profiling information is captured. This identifier is unique within the cluster at any point in time but can be reused when the session closes. |
TRANSACTION_ID
|
|
Identifier for the transaction within the session if any; otherwise |
STATEMENT_ID
|
|
Unique numeric ID for the currently-running statement. |
OPERATOR_NAME
|
|
Name of the Execution Engine (EE) component; for example, |
OPERATOR_ID
|
|
Identifier assigned by the EE operator instance that performs the work. |
BASEPLAN_ID
|
|
Assigned by the optimizer on the initiator to EE operators in the original base (EXPLAIN) plan. Each EE operator in the base plan gets a unique ID. |
PATH_ID
|
|
Identifier that Vertica assigns to a query operation or path; for example to a logical grouping operation that might be performed by multiple execution engine operators. For each path, the same PATH ID is shared between the query plan (using EXPLAIN output) and in error messages that refer to joins. |
LOCALPLAN_ID
|
|
Identifier assigned by each local executor while preparing for plan execution (local planning). Some operators in the base plan, such as the |
ACTIVITY_ID
|
|
Identifier of the plan activity. |
RESOURCE_ID
|
|
Identifier of the plan resource. |
COUNTER_NAME
|
|
Name of the counter. See the "COUNTER_NAME Values" section below this table. The counter counts events for one statement. |
COUNTER_TAG
|
|
String that uniquely identifies the counter for operators that might need to distinguish between different instances. For example, |
COUNTER_VALUE
|
|
Value of the counter. |
IS_EXECUTING
|
|
Indicates whether the profile is active or completed, where t is active and f is completed. |
Privileges
No explicit privileges are required. You only see the records for tables that you have privileges to view.
COUNTER_NAME Values
The value of COUNTER_NAME
can be any of the following:
COUNTER_NAME | Description |
---|---|
active threads
|
A counter of the LoadUnion operator, which indicates the number of input threads (Load operators) that are currently processing input. |
blocks analyzed by SIPs expression
|
The number of data blocks analyzed by SIPS expression from the Scan operator. |
blocks filtered by SIPs expression
|
The number of data blocks filtered by SIPS expression from the Scan operator. |
blocks filtered by SIPs value lists
|
The number of data blocks filtered by SIPS sorted value lists from the Scan operator. |
buffers spilled
|
[ |
bytes read from disk
|
[ |
bytes read from disk cache
|
|
bytes received
|
The number of bytes received over the network for query execution. |
bytes sent
|
|
bytes spilled
|
|
bytes total
|
|
cached storages cumulative size (bytes)
|
[StorageMerge] Total amount of temp space used by operator for caching. |
cached storages current size (bytes)
|
[StorageMerge] Current amount of temp space used for caching. |
cached storages peak size (bytes)
|
[StorageMerge] Peak amount of temp space an operator used for caching. |
clock time (µs)
|
Real-time clock time spent processing the query, in microseconds. |
completed merge phases
|
Number of merge phases already completed by an |
cumulative size of raw temp
data (bytes)
|
Total amount of temporary data the operator has written to files. Compare to |
cumulative size of temp
files (bytes)
|
For externalizing operators only, the total number of encoded and compressed temp data the operator has written to files. A sort operator might go through multiple merge phases, where at each pass sorted chunks of data are merged into fewer chunks. This counter remembers the cumulative size of all temp files past and present. Variants on this value include |
current allocated rid memory (bytes)
|
Per-rid memory tracking: current allocation amount under this rid. |
current file handles
|
Number of files open. |
current memory allocations (count)
|
Number of actual allocator calls made. |
current memory capacity (bytes)
|
Amount of system memory held, which includes chunks that are only partially consumed. |
current memory overhead (bytes)
|
Memory consumed, for example, by debug headers. (Normally no overhead.) |
current memory padding (bytes)
|
Memory padding for free list tiers (2^n bytes). |
current memory requested (bytes)
|
Memory actually requested by the caller. |
current size of temp files
(bytes)
|
For externalizing operators only, the current size of the encoded and compressed temp data that the operator has written to files. Variants on this value |
current threads
|
Unused. |
current unbalanced memory allocations (count)
|
Pooled version of "current memory XXX" counters. |
current unbalanced memory capacity (bytes)
|
|
current unbalanced memory overhead (bytes)
|
|
current unbalanced memory requested (bytes)
|
|
distinct value estimation time (µs)
|
[Analyze Statistics] Time (in microcseconds) spent to estimate number of distinct values from the sample after data is read off disk and into the statistical sample. |
encoded bytes received
|
[ |
encoded bytes sent
|
[ |
end time
|
Time (timestamp) when Vertica stopped processing the operation |
estimated rows produced
|
Number of rows that the optimizer estimated would be produced. See |
exceptions cumulative size of raw temp data (bytes)
|
Counters that store the total or current size of exception data. |
exceptions rows cumulative size of temp files (bytes)
|
|
exceptions rows current size of temp files (bytes)
|
|
execution time (µs)
|
CPU clock time spent processing the query, in microseconds. |
fast aggregated rows
|
The number of rows being processed by fast aggregations in the hash groupby operator (no group/aggregation). |
file handles
|
The number of file handles in use for an operator. Deprecated. See peak file handles or current file handles. |
files completed
|
Relevant only to |
files total
|
Relevant only to |
Hadoop FS bytes read through native libhdfs++ client
|
[Scan, Load ] The number of bytes read from an hdfs source (using libhdfs++). |
Hadoop FS bytes read through webhdfs
|
[Scan, Load ] The number of bytes read from a webhdfs source. |
Hadoop FS bytes written through webhdfs
|
[DataTarget ] The number of bytes written to webhdfs storage. |
Hadoop FS hdfs:// operations that used native libhdfs++ calls
|
[ |
Hadoop FS hdfs:// operations that used webhdfs calls
|
[ |
Hadoop FS read operations through native libhdfs++ client failure count
|
[ |
Hadoop FS read operations through native libhdfs++ client retry count
|
[ |
Hadoop FS read operations through webhdfs failure count
|
[ |
Hadoop FS read operations through webhdfs retry count
|
[ |
Hadoop FS write operations through webhdfs failure count
|
[ |
Hadoop FS write operations through webhdfs retry count
|
[ |
histogram creation time(µs)
|
[Analyze Statistics] Time spent estimating the number of distinct values from the sample after data is read off disk and into the statistical sample. |
initialization time (µs)
|
The time in microseconds spent initializing an operator during the CompilePlan step of query processing. For example, initialization time could include the time spent compiling expressions and gathering resources. |
input queue wait (µs)
|
Time in microseconds that an operator spends waiting for upstream operators. |
input rows
|
Actual number of rows that were read into the operator. |
input size (bytes)
|
Total number of bytes of the |
inputs processed
|
The number of sources processed by a Load operator. |
intermediate rows to process
|
The number of rows to be processed in a phase as determined by a sort or GROUP BY (HASH) . |
join inner clock time (µs)
|
The real clock time spent on processing the inner input of the join operator. |
join inner completed mergephases
|
See the |
join inner cumulative size
of raw temp data (bytes)
|
|
join inner cumulative size
of temp files (bytes)
|
|
join inner current size of
temp files (bytes)
|
|
join inner execution time (µs)
|
The CPU clock time spent on processing the inner input of the join operator. |
join inner hash table building time (µs)
|
The time spent for building the hash table for the inner input of the join operator. |
join inner hash table collisions
|
The number of hash table collisions that occurred when building the hash table for the inner input of the join operator. |
join inner hash table entries
|
The number of hash table entries for the inner input of the join operator. |
join inner total merge phases
|
See the completed merge phases counter. |
join outer clock time (µs)
|
The real clock time spent on processing the outer input of the join operator (including doing the join). |
join outer execution time (µs)
|
The CPU clock time spent on processing the outer input of the join operator (including doing the join). |
max sample size (rows)
|
[Analyze Statistics] Maximum number of rows that will be stored in the statistical sample. |
memory allocated (bytes)
|
Memory allocated by this operator. Deprecated. |
memory reserved (bytes)
|
Memory reserved by this operator. Deprecated. |
network wait (µs)
|
[ |
number of cancel requests received
|
The number of cancel requests received (per operator) when cancelling a call to the execution engine. |
number of invocations
|
The number of times a UDSF function was invoked. |
number of storage containers opened
|
[Scan] The number of containers opened by the operator, at least 1. If the scan operator switches containers, this counter increases accordingly. See Local Caching of Storage Containers for details. |
output queue wait (µs)
|
Time in microseconds that an operator spends waiting for the output buffer to be consumed by a downstream operator. |
peak allocated rid memory (bytes)
|
Per-rid memory tracking: peak allocation amount under this rid. |
peak cooperating threads
|
Peak number of threads which parsed (in parallel) a single load source, using "cooperative parse." counter_tag indicates the source when joining with dc_load_events . |
peak file handles
|
Peak value of the corresponding "current XXX" counters. |
peak memory allocations (count)
|
|
peak memory capacity (bytes)
|
|
peak memory overhead (bytes)
|
|
peak memory padding (bytes)
|
|
peak memory requested (bytes)
|
|
peak temp space
|
|
peak threads
|
|
peak unbalanced memory allocations (count)
|
|
peak unbalanced memory capacity (bytes)
|
|
peak unbalanced memory overhead (bytes)
|
|
peak unbalanced memory padding (bytes)
|
|
peak unbalanced memory requested (bytes)
|
|
portion offset
|
Offset value of a portion descriptor in an apportioned load. counter_tag indicates the source when joining with dc_load_events . |
portion size
|
Size value of a portion descriptor in an apportioned load. counter_tag indicates the source when joining with dc_load_events . |
producer stall (µs)
|
[ |
producer wait (µs)
|
[ |
read (bytes)
|
Number of bytes read from the input source by the |
receive time (µs)
|
Time in microseconds that a |
rejected data cumulative
size of raw temp data
(bytes)
|
Counters that store total or current size of rejected row numbers. Are variants of:
|
rejected data cumulative
size of temp files (bytes)
|
|
rejected data current size
of temp files (bytes)
|
|
rejected rows cumulative
size of raw temp data
(bytes)
|
|
rejected rows cumulative
size of temp files (bytes)
|
|
rejected rows current size
of temp files (bytes)
|
|
reserved rid memory (bytes)
|
Per-rid memory tracking: total memory reservation under this rid. |
rle rows produced
|
Number of physical tuples produced by an operator. Complements the |
ROS blocks bounded
|
[ |
ROS blocks encoded
|
[ |
ROS bytes written
|
[ |
rows filtered by SIPs expression
|
The number of rows filtered by the SIPS expression from the Scan operator. |
rows in sample
|
[Analyze Statistics] Actual number of rows that will be stored in the statistical sample. |
rows output by sort
|
[ |
rows processed
|
[ |
rows processed by SIPs expression
|
The number of rows processed by the SIPS expression in the Scan operator. |
rows produced
|
Number of logical rows produced by an operator. See also the |
rows pruned by valindex
|
[ |
rows read in sort
|
See the counter, total rows read in sort . |
rows received
|
[ |
rows rejected
|
The number of rows rejected by the |
rows sent
|
[ |
rows to process
|
The total number of rows to be processed in a phase, based upon the number of table accesses. Compare to the counter, rows processed . Divide the rows processed value by the rows to process value for percent completion. |
rows written in join sort
|
The total number of rows being read out of the sort facility in Join. |
rows written in sort
|
The number of rows read out of the sort by the SortManager. This counter and the counter total rows read from sort are typically equal. |
send time (µs)
|
Time in microseconds that a |
start time
|
Time (timestamp) when Vertica started to process the operation. |
total merge phases
|
Number of merge phases an |
total rows read in join sort
|
The total number of rows being put into the sort facility in Join. |
total rows read in sort
total
|
The total number of rows ingested into the sort by the SortManager. This counter and the counter rows written in sort are typically equal. |
total rows written in sort
|
See the counter, rows written in sort . |
total sources
|
Total number of distinct input sources processed in a load. |
unpacked (bytes)
|
The number of bytes produced by a compressed source in a load (for example, for a gzip file, the size of the file when decompressed). |
wait clock time (µs)
|
StorageUnion wait time in microseconds. |
WOS bytes acquired
|
Number of bytes acquired from the WOS by a Note: This is usually more but can be less than |
WOS bytes written
|
Number of bytes written to the WOS by a |
written rows
|
[ |
Examples
The two queries below show the contents of the EXECUTION_ENGINE_PROFILES
table:
=> SELECT operator_name, operator_id, counter_name, counter_value
FROM EXECUTION_ENGINE_PROFILES WHERE operator_name = 'Scan'
ORDER BY counter_value DESC;
operator_name | operator_id | counter_name | counter_value
---------------+-------------+--------------------------+-----------------
Scan | 12 | end time | 397916465478595
Scan | 9 | end time | 397916465478510
Scan | 12 | start time | 397916465462098
Scan | 9 | start time | 397916465447998
Scan | 14 | bytes read from disk | 28044535
Scan | 14 | bytes read from disk | 28030212
Scan | 12 | rows processed | 5000000
Scan | 12 | estimated rows produced | 4999999
Scan | 18 | rows produced | 1074828
Scan | 18 | rle rows produced | 1074828
Scan | 3 | memory allocated (bytes) | 1074568
Scan | 7 | rows produced | 799526
Scan | 7 | rle rows produced | 799526
Scan | 7 | memory allocated (bytes) | 682592
Scan | 12 | clock time (µs) | 673806
Scan | 7 | execution time (µs) | 545717
Scan | 3 | memory allocated (bytes) | 537400
Scan | 12 | clock time (µs) | 505315
Scan | 14 | execution time (µs) | 495176
Scan | 3 | bytes read from disk | 452403
Scan | 14 | execution time (µs) | 420189
Scan | 12 | execution time (µs) | 404184
Scan | 18 | clock time (µs) | 398751
Scan | 18 | execution time (µs) | 339321
(24 rows)
=> SELECT DISTINCT counter_name FROM execution_engine_profiles;
counter_name
-------------------------------------------------------
end time
clock time (µs)
rle rows produced
bytes read from disk
start time
rows processed
memory allocated (bytes)
estimated rows produced
rows produced
execution time (µs)
(10 rows)
The following query includes the path_id
column, which links the path that the query optimizer takes (via the EXPLAIN command's textual output) with join error messages.
=> SELECT operator_name, path_id, counter_name, counter_value FROM execution_engine_profiles;
operator_name | path_id | counter_name | counter_value
---------------+---------+---------------------------+---------------
Join | 1 | estimated rows produced | 10000
Join | 1 | file handles | 0
Join | 1 | memory allocated (bytes) | 2405824
Join | 1 | memory reserved (bytes) | 1769472
Join | 1 | rle rows produced | 3
Join | 1 | rows produced | 3
Join | 1 | clock time (µs) | 24105
Join | 1 | execution time (µs) | 235
See Also
- Profiling Database Performance in the Administrator's Guide.
QUERY_CONSUMPTION