RWM Console cluster: risingwave-alinma.alinma-rw.svc.cluster.local

← cluster insights objects benchmark_twrr_by_taxonomy_node_sink explain
Overview Objects Graph History
sink · insights.benchmark_twrr_by_taxonomy_node_sink profiled over 5s
seconds (1–30)

Job is idle — throughput ~0; structure shown.

6 operators
Sink · insights.benchmark_twrr_by_taxonomy_node_sink
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · benchmark_twrr_by_distribution_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Heat = the operator's output-buffer backpressure over the sampling window. Click a node to fold its subtree.
Sink · insights.benchmark_twrr_by_taxonomy_node_sink Sink insights.benchmark_twrr… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · benchmark_twrr_by_distribution_mv_next StreamScan benchmark_twrr_by_distr… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors
Streaming operator plan from EXPLAIN ANALYZE. Node heat = backpressure. Drag to pan, scroll to zoom.
Fragments (DESCRIBE FRAGMENTS) — click to expand
Fragment 54912 (Actor 740631,740632)
StreamSink { type: upsert, columns: [benchmark_id, fact_date, taxonomy_node_id, taxonomy_code, daily_subperiod_return, benchmark_twrr_by_distribution_mv_next.distribution_type(hidden)], downstream_pk: [benchmark_twrr_by_distribution_mv_next.benchmark_id, benchmark_twrr_by_distribution_mv_next.fact_date, benchmark_twrr_by_distribution_mv_next.taxonomy_node_id] }
├── output: [ benchmark_twrr_by_distribution_mv_next.benchmark_id, benchmark_twrr_by_distribution_mv_next.fact_date, benchmark_twrr_by_distribution_mv_next.taxonomy_node_id, benchmark_twrr_by_distribution_mv_next.taxonomy_code, benchmark_twrr_by_distribution_mv_next.daily_subperiod_return, benchmark_twrr_by_distribution_mv_next.distribution_type ]
├── stream key: [ benchmark_twrr_by_distribution_mv_next.benchmark_id, benchmark_twrr_by_distribution_mv_next.fact_date, benchmark_twrr_by_distribution_mv_next.distribution_type, benchmark_twrr_by_distribution_mv_next.taxonomy_node_id, benchmark_twrr_by_distribution_mv_next.taxonomy_code ]
└── MergeExecutor
    ├── output: [ benchmark_twrr_by_distribution_mv_next.benchmark_id, benchmark_twrr_by_distribution_mv_next.fact_date, benchmark_twrr_by_distribution_mv_next.taxonomy_node_id, benchmark_twrr_by_distribution_mv_next.taxonomy_code, benchmark_twrr_by_distribution_mv_next.daily_subperiod_return, benchmark_twrr_by_distribution_mv_next.distribution_type ]
    └── stream key: [ benchmark_twrr_by_distribution_mv_next.benchmark_id, benchmark_twrr_by_distribution_mv_next.fact_date, benchmark_twrr_by_distribution_mv_next.distribution_type, benchmark_twrr_by_distribution_mv_next.taxonomy_node_id, benchmark_twrr_by_distribution_mv_next.taxonomy_code ]

Fragment 54913 (Actor 740633,740634)
StreamTableScan { table: benchmark_twrr_by_distribution_mv_next, columns: [benchmark_id, fact_date, taxonomy_node_id, taxonomy_code, daily_subperiod_return, distribution_type] }
├── output: [ benchmark_twrr_by_distribution_mv_next.benchmark_id, benchmark_twrr_by_distribution_mv_next.fact_date, benchmark_twrr_by_distribution_mv_next.taxonomy_node_id, benchmark_twrr_by_distribution_mv_next.taxonomy_code, benchmark_twrr_by_distribution_mv_next.daily_subperiod_return, benchmark_twrr_by_distribution_mv_next.distribution_type ]
├── stream key: [ benchmark_twrr_by_distribution_mv_next.benchmark_id, benchmark_twrr_by_distribution_mv_next.fact_date, benchmark_twrr_by_distribution_mv_next.distribution_type, benchmark_twrr_by_distribution_mv_next.taxonomy_node_id, benchmark_twrr_by_distribution_mv_next.taxonomy_code ]
├── Upstream { output: [ benchmark_id, fact_date, taxonomy_node_id, taxonomy_code, daily_subperiod_return, distribution_type ], stream key: [] }
└── BatchPlanNode { output: [ benchmark_id, fact_date, taxonomy_node_id, taxonomy_code, daily_subperiod_return, distribution_type ], stream key: [] }