system.processors_profile_log
Querying in ClickHouse Cloud
The data in this system table is held locally on each node in ClickHouse Cloud. Obtaining a complete view of all data, therefore, requires the clusterAllReplicas function. See here for further details.
This table contains profiling on processors level (that you can find in EXPLAIN PIPELINE).
Columns:
- hostname(LowCardinality(String)) — Hostname of the server executing the query.
- event_date(Date) — The date when the event happened.
- event_time(DateTime) — The date and time when the event happened.
- event_time_microseconds(DateTime64) — The date and time with microseconds precision when the event happened.
- id(UInt64) — ID of processor
- parent_ids(Array(UInt64)) — Parent processors IDs
- plan_step(UInt64) — ID of the query plan step which created this processor. The value is zero if the processor was not added from any step.
- plan_group(UInt64) — Group of the processor if it was created by query plan step. A group is a logical partitioning of processors added from the same query plan step. Group is used only for beautifying the result of EXPLAIN PIPELINE result.
- initial_query_id(String) — ID of the initial query (for distributed query execution).
- query_id(String) — ID of the query
- name(LowCardinality(String)) — Name of the processor.
- elapsed_us(UInt64) — Number of microseconds this processor was executed.
- input_wait_elapsed_us(UInt64) — Number of microseconds this processor was waiting for data (from other processor).
- output_wait_elapsed_us(UInt64) — Number of microseconds this processor was waiting because output port was full.
- input_rows(UInt64) — The number of rows consumed by processor.
- input_bytes(UInt64) — The number of bytes consumed by processor.
- output_rows(UInt64) — The number of rows generated by processor.
- output_bytes(UInt64) — The number of bytes generated by processor. Example
Query:
Result:
Here you can see:
- ExpressionTransformwas executing- sleep(1)function, so it- workwill takes 1e6, and so- elapsed_us> 1e6.
- SourceFromSingleChunkneed to wait, because- ExpressionTransformdoes not accept any data during execution of- sleep(1), so it will be in- PortFullstate for 1e6 us, and so- output_wait_elapsed_us> 1e6.
- LimitsCheckingTransform/- NullSource/- LazyOutputFormatneed to wait until- ExpressionTransformwill execute- sleep(1)to process the result, so- input_wait_elapsed_us> 1e6.
See Also
