system.processors_profile_log
Querying in ClickHouse Cloud
このシステムテーブルのデータは、ClickHouse Cloudの各ノードにローカルで保管されています。そのため、すべてのデータの完全なビューを取得するには、clusterAllReplicas
関数が必要です。詳細については こちら をご覧ください。
このテーブルは、プロセッサーレベルのプロファイリングを含んでいます(EXPLAIN PIPELINE
で確認できます)。
カラム:
hostname
(LowCardinality(String)) — クエリを実行しているサーバーのホスト名。event_date
(Date) — イベントが発生した日付。event_time
(DateTime) — イベントが発生した日付と時間。event_time_microseconds
(DateTime64) — イベントが発生した日時(マイクロ秒精度)。id
(UInt64) — プロセッサのID。parent_ids
(Array(UInt64)) — 親プロセッサのID。plan_step
(UInt64) — このプロセッサを作成したクエリプランステップのID。プロセッサがいかなるステップからも追加されていない場合、値はゼロです。plan_group
(UInt64) — クエリプランステップによって作成された場合のプロセッサのグループ。グループは、同じクエリプランステップから追加されたプロセッサの論理的なパーティショニングです。グループは、EXPLAIN PIPELINEの結果を見やすくするためだけに使用されます。initial_query_id
(String) — 初期クエリのID(分散クエリ実行用)。query_id
(String) — クエリのID。name
(LowCardinality(String)) — プロセッサの名前。elapsed_us
(UInt64) — このプロセッサが実行されたマイクロ秒数。input_wait_elapsed_us
(UInt64) — 他のプロセッサからのデータを待機していたマイクロ秒数。output_wait_elapsed_us
(UInt64) — 出力ポートが満杯になっていたために待機していたマイクロ秒数。input_rows
(UInt64) — プロセッサによって消費された行の数。input_bytes
(UInt64) — プロセッサによって消費されたバイト数。output_rows
(UInt64) — プロセッサによって生成された行の数。output_bytes
(UInt64) — プロセッサによって生成されたバイト数。
例
クエリ:
結果:
ここで確認できること:
ExpressionTransform
はsleep(1)
関数を実行していたため、work
は 1e6 を要し、したがってelapsed_us
> 1e6 になります。SourceFromSingleChunk
は待機する必要があります。なぜならExpressionTransform
はsleep(1)
の実行中にデータを受け入れないため、1e6 us の間PortFull
状態であり、したがってoutput_wait_elapsed_us
> 1e6 になります。LimitsCheckingTransform
/NullSource
/LazyOutputFormat
はExpressionTransform
がsleep(1)
を実行し、結果を処理するまで待機する必要があるため、input_wait_elapsed_us
> 1e6 になります。
関連情報