Query Profile Structure and Metrics
Structure of Query Profileβ
The structure of a Query Profile is closely related to the design of StarRocks' execution engine and consists of the following five parts:
- Fragment: Execution tree. A query is composed of one or more fragments.
- FragmentInstance: Each fragment can have multiple instances, each instance is called a FragmentInstance, and is executed by different computing nodes.
- Pipeline: A FragmentInstance is split into multiple pipelines. A pipeline is an execution chain consisting of a group of connected Operator instances.
- PipelineDriver: A Pipeline can have multiple instances, each instance is called a PipelineDriver, to fully utilize multiple computing cores.
- Operator: A PipelineDriver consists of multiple Operator instances.
Query Profile Merging Strategyβ
By analyzing the structure of Query Profile, you can easily observe that multiple FragmentInstances associated with the same Fragment have a high degree of similarity in structure. Similarly, multiple PipelineDrivers belonging to the same Pipeline also exhibit similar structural features. To reduce the volume of the Query Profile, StarRocks by default merges the FragmentInstance layer and the PipelineDriver layer. As a result, the original five-layer structure is simplified to three layers:
- Fragment
- Pipeline
- Operator
You can control this merging behavior through a session variable pipeline_profile_level
, which has two valid values:
1
(Default): StarRocks merges the metrics into a three-layer structure.2
: StarRocks does not merge the metrics. The original five-layer structure is retained.- Any other value will be treated as the default value
1
.
Generally, we do not recommend setting this parameter to 2
because the Query Profile with the five-layer structure has many limitations. For example, you cannot perform visualized analysis on the profile using any tools. Therefore, unless the merging process leads to the loss of crucial information, you do not need to adjust this parameter.
Metric Merging and MIN/MAX Valuesβ
When merging FragmentInstance and PipelineDriver, all metrics with the same name are merged. Only the minimum and maximum values of each metric in all concurrent instances are recorded. Different types of metrics use different merging strategies:
- Time-related metrics take the average. For example:
OperatorTotalTime
is the average time consumption of all concurrent instances.__MAX_OF_OperatorTotalTime
is the maximum time consumption among all concurrent instances.__MIN_OF_OperatorTotalTime
is the minimum time consumption among all concurrent instances.
- OperatorTotalTime: 2.192us
- __MAX_OF_OperatorTotalTime: 2.502us
- __MIN_OF_OperatorTotalTime: 1.882us
- Non-time-related metrics are summed. For example:
PullChunkNum
is the sum of this metric in all concurrent instances.__MAX_OF_PullChunkNum
is the maximum value of this metric among all concurrent instances.__MIN_OF_PullChunkNum
is the minimum value of this metric among all concurrent instances.
- PullChunkNum: 146.66K (146660)
- __MAX_OF_PullChunkNum: 24.45K (24450)
- __MIN_OF_PullChunkNum: 24.435K (24435)
- Some metrics without extreme values have the same value in all concurrent instances, for example:
DegreeOfParallelism
.
Usually, if there is a significant difference between MIN and MAX values, it indicates a high probability of data skew. Possible scenarios include aggregation and join operations.
- OperatorTotalTime: 2m48s
- __MAX_OF_OperatorTotalTime: 10m30s
- __MIN_OF_OperatorTotalTime: 279.170us
Query Profile Metrics Listβ
The Query Profile includes a multitude of metrics providing detailed information about query execution. In most cases, you only need to focus on the execution time of operators and the size of processed data. Once you identify bottlenecks, you can address them specifically.
Summary Metricsβ
Totalβ
Description: The total time consumed by the query, including Planning, Executing, and Profiling phase durations.
Query Stateβ
Description: Query state, possible states include Finished, Error, and Running.
Execution Overview Metricsβ
FrontendProfileMergeTimeβ
Description: Query Profile processing time on the Frontend (FE) side.
QueryAllocatedMemoryUsageβ
Description: Cumulative allocated memory across all compute nodes.
QueryDeallocatedMemoryUsageβ
Description: Cumulative deallocated memory across all compute nodes.
QueryPeakMemoryUsageβ
Description: Maximum peak memory across all compute nodes.
QueryExecutionWallTimeβ
Description: Wall time of the execution.
QueryCumulativeCpuTimeβ
Description: Cumulative CPU time across all compute nodes.
QueryCumulativeOperatorTimeβ
Description: Cumulative time across all nodes. This is a simple linear accumulation, but in reality, execution times of different operators may overlap. This parameter serves as the denominator for calculating the percentage of time spent on each operator.
QueryCumulativeNetworkTimeβ
Description: Cumulative network time of all Exchange nodes. Similar to cumulative operator time, actual execution times of different Exchanges may overlap.
QueryCumulativeScanTimeβ
Description: Cumulative IO time of all Scan nodes. Similar to cumulative operator time, actual execution times of different Scan operations may overlap.
QueryPeakScheduleTimeβ
Description: Maximum ScheduleTime metric across all Pipelines.
QuerySpillBytesβ
Description: Size of data spilled to local disks.
ResultDeliverTimeβ
Description: Additional time to transfer results. For query statements, this parameter refers to the time it takes to send data back to the client; for insert statements, it refers to the time it takes to write data to the storage layer.
Fragment Metricsβ
InstanceNumβ
Description: Number of all FragmentInstances for this Fragment.
InstanceIdsβ
Description: IDs of all FragmentInstances for this Fragment.
BackendNumβ
Description: Number of BEs participating in the execution of this Fragment.
BackendAddressesβ
Description: Addresses of all BEs participating in the execution of this Fragment.
FragmentInstancePrepareTimeβ
Description: Time spent in the Fragment Prepare phase.
InstanceAllocatedMemoryUsageβ
Description: Cumulative allocated memory for all FragmentInstances under this Fragment.
InstanceDeallocatedMemoryUsageβ
Description: Cumulative deallocated memory for all FragmentInstances under this Fragment.
InstancePeakMemoryUsageβ
Description: The peak memory usage across all FragmentInstances under this Fragment.
Pipeline Metricsβ
The relationship between core metrics is illustrated in the following diagram:
- DriverTotalTime = ActiveTime + PendingTime + ScheduleTime
- ActiveTime = β OperatorTotalTime + OverheadTime
- PendingTime = InputEmptyTime + OutputFullTime + PreconditionBlockTime + PendingFinishTime
- InputEmptyTime = FirstInputEmptyTime + FollowupInputEmptyTime
DegreeOfParallelismβ
Description: Degree of pipeline execution parallelism.
TotalDegreeOfParallelismβ
Description: Sum of degrees of parallelism. Since the same Pipeline may execute on multiple machines, this item aggregates all values.
DriverPrepareTimeβ
Description: Time taken by the Prepare phase. This metric is not included in DriverTotalTime.
DriverTotalTimeβ
Description: Total execution time of the Pipeline, excluding the time spent in the Prepare phase.
ActiveTimeβ
Description: Execution time of the Pipeline, including the execution time of each operator and the overall framework overhead, such as time spent in invoking methods like has_output, need_input, etc.
PendingTimeβ
Description: Time the Pipeline is blocked from being scheduled for various reasons.
InputEmptyTimeβ
Description: Time the Pipeline is blocked due to an empty input queue.
FirstInputEmptyTimeβ
Description: Time the Pipeline is first blocked due to an empty input queue. The first blocking time is separately calculated because the first blocking is mainly caused by Pipeline dependencies.
FollowupInputEmptyTimeβ
Description: Time the Pipeline is subsequently blocked due to an empty input queue.
OutputFullTimeβ
Description: Time the Pipeline is blocked due to a full output queue.
PreconditionBlockTimeβ
Description: Time the Pipeline is blocked due to unmet dependencies.
PendingFinishTimeβ
Description: Time the Pipeline is blocked waiting for asynchronous tasks to finish.
ScheduleTimeβ
Description: Scheduling time of the Pipeline, from entering the ready queue to being scheduled for execution.
BlockByInputEmptyβ
Description: Number of times the pipeline is blocked due to InputEmpty.
BlockByOutputFullβ
Description: Number of times the pipeline is blocked due to OutputFull.
BlockByPreconditionβ
Description: Number of times the pipeline is blocked due to unmet preconditions.
Operator General Metricsβ
PrepareTimeβ
Description: Time spent on preparation.
OperatorTotalTimeβ
Description: Total time consumed by the Operator. It satisfies the equation: OperatorTotalTime = PullTotalTime + PushTotalTime + SetFinishingTime + SetFinishedTime + CloseTime. It excludes time spent on preparation.
PullTotalTimeβ
Description: Total time the Operator spends executing push_chunk.
PushTotalTimeβ
Description: Total time the Operator spends executing pull_chunk.
SetFinishingTimeβ
Description: Total time the Operator spends executing set_finishing.
SetFinishedTimeβ
Description: Total time the Operator spends executing set_finished.
PushRowNumβ
Description: Cumulative number of input rows for the Operator.
PullRowNumβ
Description: Cumulative number of output rows for the Operator.
JoinRuntimeFilterEvaluateβ
Description: Number of times Join Runtime Filter is evaluated.
JoinRuntimeFilterHashTimeβ
Description: Time spent computing hash for Join Runtime Filter.
JoinRuntimeFilterInputRowsβ
Description: Number of input rows for Join Runtime Filter.
JoinRuntimeFilterOutputRowsβ
Description: Number of output rows for Join Runtime Filter.
JoinRuntimeFilterTimeβ
Description: Time spent on Join Runtime Filter.
Unique Metricsβ
Scan Operatorβ
The Scan Operator utilizes an additional thread pool for executing IO tasks. Therefore, the relationship between time metrics for this node is illustrated below:
OLAP Scan Operatorβ
To facilitate a better understanding of the various metrics within the Scan Operator, the following diagram demonstrates the associations between these metrics and storage structures.
Tableβ
- Description: Table name.
- Level: Primary metric
Rollupβ
- Description: Materialized view name. If no materialized view is hit, it is equivalent to the table name.
- Level: Primary metric
SharedScanβ
- Description: Whether the enable_shared_scan session variable is enabled.
- Level: Primary metric
TabletCountβ
- Description: Number of tablets.
- Level:
Primary metric
MorselsCountβ
- Description: Number of morsels.
- Level: Primary metric
PushdownPredicatesβ
- Description: Number of pushdown predicates.
- Level: Primary metric
Predicatesβ
- Description: Predicate expressions.
- Level: Primary metric
BytesReadβ
- Description: Size of data read.
- Level: Primary metric
CompressedBytesReadβ
- Description: Size of compressed data read from disk.
- Level: Primary metric
UncompressedBytesReadβ
- Description: Size of uncompressed data read from disk.
- Level: Primary metric
RowsReadβ
- Description: Number of rows read (after predicate filtering).
- Level: Primary metric
RawRowsReadβ
- Description: Number of raw rows read (before predicate filtering).
- Level: Primary metric
ReadPagesNumβ
- Description: Number of pages read.
- Level: Primary metric
CachedPagesNumβ
- Description: Number of cached pages.
- Level: Primary metric
ChunkBufferCapacityβ
- Description: Capacity of the Chunk Buffer.
- Level: Primary metric
DefaultChunkBufferCapacityβ
- Description: Default capacity of the Chunk Buffer.
- Level: Primary metric
PeakChunkBufferMemoryUsageβ
- Description: Peak memory usage of the Chunk Buffer.
- Level: Primary metric
PeakChunkBufferSizeβ
- Description: Peak size of the Chunk Buffer.
- Level: Primary metric
PrepareChunkSourceTimeβ
- Description: Time spent preparing the Chunk Source.
- Level: Primary metric
ScanTimeβ
- Description: Cumulative scan time. Scan operations are completed in an asynchronous I/O thread pool.
- Level: Primary metric
IOTaskExecTimeβ
- Description: Execution time of IO tasks.
- Level: Primary metric
- Sub-metrics: CreateSegmentIter, DictDecode, GetDelVec, GetDeltaColumnGroup, GetRowsets, IOTime, LateMaterialize, ReadPKIndex, SegmentInit, SegmentRead
CreateSegmentIterβ
- Description: Time spent creating the Segment Iterator.
- Level: Secondary metric
DictDecodeβ
- Description: Time spent on decoding dictionary for low cardinality optimization.
- Level: Secondary metric
GetDelVecβ
- Description: Time spent loading DelVec (delete vector).
- Level: Secondary metric
GetDeltaColumnGroupβ
- Description: Time spent loading DelVecColumnGroup.
- Level: Secondary metric
GetRowsetsβ
- Description: Time spent loading RowSet.
- Level: Secondary metric
IOTimeβ
- Description: Time spent on file I/O.
- Level: Secondary metric
LateMaterializeβ
- Description: Time spent on late materialization.
- Level: Secondary metric
ReadPKIndexβ
- Description: Time spent reading Primary Key index.
- Level: Secondary metric
SegmentInitβ
- Description: Time spent initializing the Segment.
- Level: Secondary metric
- Sub-metrics: BitmapIndexFilter, BitmapIndexFilterRows, BloomFilterFilter, BloomFilterFilterRows, ColumnIteratorInit, ShortKeyFilter, ShortKeyFilterRows, ShortKeyRangeNumber, RemainingRowsAfterShortKeyFilter, ZoneMapIndexFilter, ZoneMapIndexFilterRows, SegmentZoneMapFilterRows, SegmentRuntimeZoneMapFilterRows
BitmapIndexFilterβ
- Description: Time spent on Bitmap index filtering.
- Level: Tertiary metric
BitmapIndexFilterRowsβ
- Description: Number of rows filtered by Bitmap index.
- Level: Tertiary metric
BloomFilterFilterβ
- Description: Time spent on Bloom filter indexing.
- Level: Tertiary metric
BloomFilterFilterRowsβ
- Description: Number of rows filtered by Bloom filter.
- Level: Tertiary metric
ColumnIteratorInitβ
- Description: Time spent initializing the Column Iterator.
- Level: Tertiary metric
ShortKeyFilterβ
- Description: Time spent on ShortKey index filtering.
- Level: Tertiary metric
ShortKeyFilterRowsβ
- Description: Number of rows filtered by ShortKey index.
- Level: Tertiary metric
ShortKeyRangeNumberβ
- Description: Number of ShortKey ranges.
- Level: Tertiary metric
RemainingRowsAfterShortKeyFilterβ
- Description: Number of rows remaining after ShortKey index filtering.
- Level: Tertiary metric
ZoneMapIndexFiterβ
- Description: Time spent on ZoneMap index filtering.
- Level: Tertiary metric
ZoneMapIndexFilterRowsβ
- Description: Number of rows filtered by ZoneMap index.
- Level: Tertiary metric
SegmentZoneMapFilterRowsβ
- Description: Number of rows filtered by Segment ZoneMap index.
- Level: Tertiary metric
SegmentRuntimeZoneMapFilterRowsβ
- Description: Number of rows filtered by Segment Runtime ZoneMap index.
- Level: Tertiary metric
SegmentReadβ
- Description: Time spent reading the Segment.
- Level: Secondary metric
- Sub-metrics: BlockFetch, BlockFetchCount, BlockSeek, BlockSeekCount, ChunkCopy, DecompressT, DelVecFilterRows, PredFilter, PredFilterRows, RowsetsReadCount, SegmentsReadCount, TotalColumnsDataPageCount
BlockFetchβ
- Description: Time spent on Block fetch.
- Level: Tertiary metric
BlockFetchCountβ
- Description: Number of Block fetches.
- Level: Tertiary metric
BlockSeekβ
- Description: Time spent on Block seek.
- Level: Tertiary metric
BlockSeekCountβ
- Description: Number of Block seeks.
- Level: Tertiary metric
ChunkCopyβ
- Description: Time spent on Chunk copy.
- Level: Tertiary metric
DecompressTβ
- Description: Time spent on decompression.
- Level: Tertiary metric
DelVecFilterRowsβ
- Description: Number of rows filtered by DELETE vector.
- Level: Tertiary metric
PredFilterβ
- Description: Time spent on predicate filtering.
- Level: Tertiary metric
PredFilterRowsβ
- Description: Number of rows filtered by predicate.
- Level: Tertiary metric
RowsetsReadCountβ
- Description: Number of Rowsets reads.
- Level: Tertiary metric
SegmentsReadCountβ
- Description: Number of Segments reads.
- Level: Tertiary metric
TotalColumnsDataPageCountβ
- Description: Number of Column Data Pages.
- Level: Tertiary metric
IOTaskWaitTimeβ
- Description: Waiting time from successful submission to scheduled execution of IO tasks.
- Level: Primary metric
SubmitTaskCountβ
- Description: Number of times IO tasks are submitted.
- Level: Primary metric
SubmitTaskTimeβ
- Description: Time spent on task submission.
- Level: Primary metric
PeakIOTasksβ
- Description: Peak number of IO tasks.
- Level: Primary metric
PeakScanTaskQueueSizeβ
- Description: Peak size of the IO task queue.
- Level: Primary metric
Connector Scan Operatorβ
DataSourceTypeβ
- Description: Data source type, can be HiveDataSource, ESDataSource, and so on.
- Level: Primary Metric
Tableβ
- Description: Table name.
- Level: Primary Metric
TabletCountβ
- Description: Number of tablets.
- Level: Primary Metric
MorselsCountβ
- Description: Number of morsels.
- Level: Primary Metric
Predicatesβ
- Description: Predicate expression.
- Level: Primary Metric
PredicatesPartitionβ
- Description: Predicate expression applied to partitions.
- Level: Primary Metric
SharedScanβ
- Description: Whether the
enable_shared_scan
Session variable is enabled. - Level: Primary Metric
ChunkBufferCapacityβ
- Description: Capacity of the Chunk Buffer.
- Level: Primary Metric
DefaultChunkBufferCapacityβ
- Description: Default capacity of the Chunk Buffer.
- Level: Primary Metric
PeakChunkBufferMemoryUsageβ
- Description: Peak memory usage of the Chunk Buffer.
- Level: Primary Metric
PeakChunkBufferSizeβ
- Description: Peak size of the Chunk Buffer.
- Level: Primary Metric
PrepareChunkSourceTimeβ
- Description: Time taken to prepare the Chunk Source.
- Level: Primary Metric
ScanTimeβ
- Description: Cumulative time for scanning. Scan operation is completed in the asynchronous I/O thread pool.
- Level: Primary Metric
IOTaskExecTimeβ
- Description: Execution time of I/O tasks.
- Level: Primary Metric
- Sub-metrics: ColumnConvertTime, ColumnReadTime, ExprFilterTime, InputStream, ORC, OpenFile, ReaderInit, RowsRead, RowsSkip, ScanRanges, SharedBuffered
ColumnConvertTimeβ
- Description: Time taken for column conversion.
- Level: Secondary Metric
ColumnReadTimeβ
- Description: Time taken for reading and parsing data by the reader.
- Level: Secondary Metric
ExprFilterTimeβ
- Description: Time taken for expression filtering.
- Level: Secondary Metric
InputStreamβ
- Description: Used for classification purposes. It has no specific meaning.
- Level: Secondary Metric
- Sub-metrics: AppIOBytesRead, AppIOCounter, AppIOTime, FSIOBytesRead, FSIOCounter, FSIOTime
AppIOBytesReadβ
- Description: Amount of data read at the application layer.
- Level: Tertiary Metric
AppIOCounterβ
- Description: Number of I/O operations read at the application layer.
- Level: Tertiary Metric
AppIOTimeβ
- Description: Cumulative reading time at the application layer.
- Level: Tertiary Metric
FSIOBytesReadβ
- Description: Amount of data read by the storage system.
- Level: Tertiary Metric
FSIOCounterβ
- Description: Number of I/O operations read by the storage layer.
- Level: Tertiary Metric
FSIOTimeβ
- Description: Cumulative reading time by the storage layer.
- Level: Tertiary Metric
ORCβ
- Description: Used for classification purposes. It has no specific meaning.
- Level: Secondary Metric
- Sub-metrics: IcebergV2FormatTimer, StripeNumber, StripeSizes
IcebergV2FormatTimerβ
- Description: Time taken for format conversion.
- Level: Tertiary Metric
StripeNumberβ
- Description: Number of ORC files.
- Level: Tertiary Metric
StripeSizesβ
- Description: Average size of each stripe in ORC files.
- Level: Tertiary Metric
OpenFileβ
- Description: Time taken to open files.
- Level: Secondary Metric
ReaderInitβ
- Description: Time taken to initialize the reader.
- Level: Secondary Metric
RowsReadβ
- Description: Number of rows read.
- Level: Secondary Metric
RowsSkipβ
- Description: Number of rows skipped.
- Level: Secondary Metric
ScanRangesβ
- Description: Total number of data ranges scanned.
- Level: Secondary Metric
SharedBufferedβ
- Description: Used for classification purposes. It has no specific meaning.
- Level: Secondary Metric
- Sub-metrics: DirectIOBytes, DirectIOCount, DirectIOTime, SharedIOBytes, SharedIOCount, SharedIOTime
DirectIOBytesβ
- Description: Amount of data directly read by IO.
- Level: Tertiary Metric
DirectIOCountβ
- Description: Number of times direct IO is performed.
- Level: Tertiary Metric
DirectIOTimeβ
- Description: Time taken for direct IO.
- Level: Tertiary Metric
SharedIOBytesβ
- Description: Amount of data read by shared IO.
- Level: Tertiary Metric
SharedIOCountβ
- Description: Number of times shared IO is performed.
- Level: Tertiary Metric
SharedIOTimeβ
- Description: Time taken for shared IO.
- Level: Tertiary Metric
IOTaskWaitTimeβ
- Description: Waiting time from successful submission to scheduled execution of IO tasks.
- Level: Primary Metric
SubmitTaskCountβ
- Description: Number of times IO tasks are submitted.
- Level: Primary Metric
SubmitTaskTimeβ
- Description: Time taken to submit tasks.
- Level: Primary Metric
PeakIOTasksβ
- Description: Peak number of IO tasks.
- Level: Primary Metric
PeakScanTaskQueueSizeβ
- Description: Peak size of the IO task queue.
- Level: Primary Metric
Exchange Operatorβ
Exchange Sink Operatorβ
ChannelNumβ
Description: Number of channels. Generally, the number of channels is equal to the number of receivers.
DestFragmentsβ
Description: List of destination FragmentInstance IDs.
DestIDβ
Description: Destination node ID.
PartTypeβ
Description: Data distribution mode, including: UNPARTITIONED, RANDOM, HASH_PARTITIONED, and BUCKET_SHUFFLE_HASH_PARTITIONED.
SerializeChunkTimeβ
Description: Time taken to serialize chunks.
SerializedBytesβ
Description: Size of serialized data.
ShuffleChunkAppendCounterβ
Description: Number of Chunk Append operations when PartType is HASH_PARTITIONED or BUCKET_SHUFFLE_HASH_PARTITIONED.
ShuffleChunkAppendTimeβ
Description: Time taken for Chunk Append operations when PartType is HASH_PARTITIONED or BUCKET_SHUFFLE_HASH_PARTITIONED.
ShuffleHashTimeβ
Description: Time taken to calculate hash when PartType is HASH_PARTITIONED or BUCKET_SHUFFLE_HASH_PARTITIONED.
RequestSentβ
Description: Number of data packets sent.
RequestUnsentβ
Description: Number of unsent data packets. This metric is non-zero when there is a short-circuit logic; otherwise, it is zero.
BytesSentβ
Description: Size of sent data.
BytesUnsentβ
Description: Size of unsent data. This metric is non-zero when there is a short-circuit logic; otherwise, it is zero.
BytesPassThroughβ
Description: If the destination node is the current node, data will not be transmitted over the network, which is called passthrough data. This metric indicates the size of such passthrough data. Passthrough is controlled by enable_exchange_pass_through
.
PassThroughBufferPeakMemoryUsageβ
Description: Peak memory usage of the PassThrough Buffer.
CompressTimeβ
Description: Compression time.
CompressedBytesβ
Description: Size of compressed data.
OverallThroughputβ
Description: Throughput rate.
NetworkTimeβ
Description: Time taken for data packet transmission (excluding post-reception processing time).
NetworkBandwidthβ
Description: Estimated network bandwidth.
WaitTimeβ
Description: Waiting time due to a full sender queue.
OverallTimeβ
Description: Total time for the entire transmission process, i.e., from sending the first data packet to confirming the correct reception of the last data packet.
RpcAvgTimeβ
Description: Average time for RPC.
RpcCountβ
Description: Total number of RPCs.
Exchange Source Operatorβ
RequestReceivedβ
Description: Size of received data packets.
BytesReceivedβ
Description: Size of received data.
DecompressChunkTimeβ
Description: Time taken to decompress chunks.
DeserializeChunkTimeβ
Description: Time taken to deserialize chunks.
ClosureBlockCountβ
Description: Number of blocked Closures.
ClosureBlockTimeβ
Description: Blocked time for Closures.
ReceiverProcessTotalTimeβ
Description: Total time taken for receiver-side processing.
WaitLockTimeβ
Description: Lock waiting time.
Aggregate Operatorβ
GroupingKeysβ
Description: GROUP BY columns.
AggregateFunctionsβ
Description: Time taken for aggregate function calculations.
AggComputeTimeβ
Description: Time for AggregateFunctions + Group By.
ChunkBufferPeakMemβ
Description: Peak memory usage of the Chunk Buffer.
ChunkBufferPeakSizeβ
Description: Peak size of the Chunk Buffer.
ExprComputeTimeβ
Description: Time for expression computation.
ExprReleaseTimeβ
Description: Time for expression release.
GetResultsTimeβ
Description: Time to extract aggregate results.
HashTableSizeβ
Description: Size of the Hash Table.
HashTableMemoryUsageβ
Description: Memory size of the Hash Table.
InputRowCountβ
Description: Number of input rows.
PassThroughRowCountβ
Description: In Auto mode, the number of data rows processed in streaming mode after low aggregation leads to degradation to streaming mode.
ResultAggAppendTimeβ
Description: Time taken to append aggregate result columns.
ResultGroupByAppendTimeβ
Description: Time taken to append Group By columns.
ResultIteratorTimeβ
Description: Time to iterate over the Hash Table.
StreamingTimeβ
Description: Processing time in streaming mode.
Join Operatorβ
DistributionModeβ
Description: Distribution type, including: BROADCAST, PARTITIONED, COLOCATE, etc.
JoinPredicatesβ
Description: Join predicates.
JoinTypeβ
Description: Join type.
BuildBucketsβ
Description: Number of buckets in the Hash Table.
BuildKeysPerBucketβ
Description: Number of keys per bucket in the Hash Table.
BuildConjunctEvaluateTimeβ
Description: Time taken for conjunct evaluation during build phase.
BuildHashTableTimeβ
Description: Time taken to build the Hash Table.
ProbeConjunctEvaluateTimeβ
Description: Time taken for conjunct evaluation during probe phase.
SearchHashTableTimerβ
Description: Time taken to search the Hash Table.
CopyRightTableChunkTimeβ
Description: Time taken to copy chunks from the right table.
HashTableMemoryUsageβ
Description: Memory usage of the Hash Table.
RuntimeFilterBuildTimeβ
Description: Time taken to build runtime filters.
RuntimeFilterNumβ
Description: Number of runtime filters.
Window Function Operatorβ
ProcessModeβ
Description: Execution mode, including two parts: the first part includes Materializing and Streaming; the second part includes Cumulative, RemovableCumulative, ByDefinition.
ComputeTimeβ
Description: Time taken for window function calculations.
PartitionKeysβ
Description: Partition columns.
AggregateFunctionsβ
Description: Aggregate functions.
ColumnResizeTimeβ
Description: Time taken for column resizing.
PartitionSearchTimeβ
Description: Time taken to search partition boundaries.
PeerGroupSearchTimeβ
Description: Time taken to search Peer Group boundaries. Meaningful only when the window type is RANGE.
PeakBufferedRowsβ
Description: Peak number of rows in the buffer.
RemoveUnusedRowsCountβ
Description: Number of times unused buffers are removed.
RemoveUnusedTotalRowsβ
Description: Total number of rows removed from unused buffers.
Sort Operatorβ
SortKeysβ
Description: Sorting keys.
SortTypeβ
Description: Query result sorting method: full sorting or sorting the top N results.
MaxBufferedBytesβ
Description: Peak size of buffered data.
MaxBufferedRowsβ
Description: Peak number of buffered rows.
NumSortedRunsβ
Description: Number of sorted runs.
BuildingTimeβ
Description: Time taken to maintain internal data structures during sorting.
MergingTimeβ
Description: Time taken to merge sorted runs during sorting.
SortingTimeβ
Description: Time taken for sorting.
OutputTimeβ
Description: Time taken to build the output sorted sequence.
Merge Operatorβ
For ease of understanding various metrics, Merge can be represented as the following state mechanism:
βββββββββββ PENDING ββββββββββββ
β β
β β
ββββββββββββββββββββββββββββββββ€
β β
βΌ β
INIT βββΊ PREPARE βββΊ SPLIT_CHUNK βββΊ FETCH_CHUNK βββΊ FINISHED
β²
|
| one traverse from leaf to root
|
βΌ
PROCESS
Limitβ
- Description: Limit.
- Level: Primary Metric
Offsetβ
- Description: Offset.
- Level: Primary Metric
StreamingBatchSizeβ
- Description: Size of data processed per Merge operation when Merge is performed in Streaming mode
- Level: Primary Metric
LateMaterializationMaxBufferChunkNumβ
- Description: Maximum number of chunks in the buffer when late materialization is enabled.
- Level: Primary Metric
OverallStageCountβ
- Description: Total execution count of all stages.
- Level: Primary Metric
- Sub-metrics: 1-InitStageCount, 2-PrepareStageCount, 3-ProcessStageCount, 4-SplitChunkStageCount, 5-FetchChunkStageCount, 6-PendingStageCount, 7-FinishedStageCount
1-InitStageCountβ
- Description: Execution count of the Init stage.
- Level: Secondary Metric
2-PrepareStageCountβ
- Description: Execution count of the Prepare stage.
- Level: Secondary Metric
3-ProcessStageCountβ
- Description: Execution count of the Process stage.
- Level: Secondary Metric
4-SplitChunkStageCountβ
- Description: Execution count of the SplitChunk stage.
- Level: Secondary Metric
5-FetchChunkStageCountβ
- Description: Execution count of the FetchChunk stage.
- Level: Secondary Metric
6-PendingStageCountβ
- Description: Execution count of the Pending stage.
- Level: Secondary Metric
7-FinishedStageCountβ
- Description: Execution count of the Finished stage.
- Level: Secondary Metric
OverallStageTimeβ
- Description: Total execution time for each stage.
- Level: Primary metric
- Sub-metrics: 1-InitStageTime, 2-PrepareStageTime, 3-ProcessStageTime, 4-SplitChunkStageTime, 5-FetchChunkStageTime, 6-PendingStageTime, 7-FinishedStageTime
1-InitStageTimeβ
- Description: Execution time for the Init stage.
- Level: Secondary metric
2-PrepareStageTimeβ
- Description: Execution time for the Prepare stage.
- Level: Secondary metric
3-ProcessStageTimeβ
- Description: Execution time for the Process stage.
- Level: Secondary metric
- Sub-metrics: LateMaterializationGenerateOrdinalTime, SortedRunProviderTime
LateMaterializationGenerateOrdinalTimeβ
- Description: Time taken for generating ordinal columns during late materialization.
- Level: Tertiary Metric
SortedRunProviderTimeβ
- Description: Time taken to retrieve data from the provider during the Process stage.
- Level: Tertiary Metric
4-SplitChunkStageTimeβ
- Description: Time taken for the Split stage.
- Level: Secondary metric
5-FetchChunkStageTimeβ
- Description: Time taken for the Fetch stage.
- Level: Secondary metric
6-PendingStageTimeβ
- Description: Time taken for the Pending stage.
- Level: Secondary metric
7-FinishedStageTimeβ
- Description: Time taken for the Finished stage.
- Level: Secondary metric
TableFunction Operatorβ
TableFunctionExecTimeβ
Description: Computation time for the Table Function.
TableFunctionExecCountβ
Description: Number of executions for the Table Function.
Project Operatorβ
ExprComputeTimeβ
Description: Computation time for expressions.
CommonSubExprComputeTimeβ
Description: Computation time for common sub-expressions.
LocalExchange Operatorβ
Typeβ
Description: Type of Local Exchange, including: Passthrough
, Partition
, and Broadcast
.
ShuffleNumβ
Description: Number of shuffles. This metric is only valid when Type
is Partition
.
LocalExchangePeakMemoryUsageβ
Description: Peak memory usage.