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

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

Job is idle — throughput ~0; structure shown.

8 operators
Sink · insights.account_to_portfolios_sink
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · account_to_portfolios_dm_next
2 actors
Filter · account_to_portfolios_dm_next
0% idle 2 actors
StreamScan · account_to_portfolios_dm_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.account_to_portfolios_sink Sink insights.account_to_por… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · account_to_portfolios_dm_next Project account_to_portfolios_d… — · 2 actors Filter · account_to_portfolios_dm_next Filter account_to_portfolios_d… idle · 2 actors StreamScan · account_to_portfolios_dm_next StreamScan account_to_portfolios_d… 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 37125 (Actor 742653,742654)
StreamSink { type: upsert, columns: [account_id, portfolio_id, account_to_portfolios_dm_next.effective_start_date(hidden)], downstream_pk: [account_to_portfolios_dm_next.account_id, account_to_portfolios_dm_next.portfolio_id] }
├── output: [ account_to_portfolios_dm_next.account_id, account_to_portfolios_dm_next.portfolio_id, account_to_portfolios_dm_next.effective_start_date ]
├── stream key: [ account_to_portfolios_dm_next.account_id, account_to_portfolios_dm_next.portfolio_id, account_to_portfolios_dm_next.effective_start_date ]
└── MergeExecutor
    ├── output: [ account_to_portfolios_dm_next.account_id, account_to_portfolios_dm_next.portfolio_id, account_to_portfolios_dm_next.effective_start_date ]
    └── stream key: [ account_to_portfolios_dm_next.account_id, account_to_portfolios_dm_next.portfolio_id, account_to_portfolios_dm_next.effective_start_date ]

Fragment 37126 (Actor 742656,742655)
StreamProject { exprs: [account_to_portfolios_dm_next.account_id, account_to_portfolios_dm_next.portfolio_id, account_to_portfolios_dm_next.effective_start_date] }
├── output: [ account_to_portfolios_dm_next.account_id, account_to_portfolios_dm_next.portfolio_id, account_to_portfolios_dm_next.effective_start_date ]
├── stream key: [ account_to_portfolios_dm_next.account_id, account_to_portfolios_dm_next.portfolio_id, account_to_portfolios_dm_next.effective_start_date ]
└── StreamFilter { predicate: IsNull(account_to_portfolios_dm_next.disabled_at) }
    ├── output: [ account_to_portfolios_dm_next.account_id, account_to_portfolios_dm_next.portfolio_id, account_to_portfolios_dm_next.effective_start_date, account_to_portfolios_dm_next.disabled_at ]
    ├── stream key: [ account_to_portfolios_dm_next.account_id, account_to_portfolios_dm_next.portfolio_id, account_to_portfolios_dm_next.effective_start_date ]
    └── StreamTableScan { table: account_to_portfolios_dm_next, columns: [account_id, portfolio_id, effective_start_date, disabled_at] }
        ├── output: [ account_to_portfolios_dm_next.account_id, account_to_portfolios_dm_next.portfolio_id, account_to_portfolios_dm_next.effective_start_date, account_to_portfolios_dm_next.disabled_at ]
        ├── stream key: [ account_to_portfolios_dm_next.account_id, account_to_portfolios_dm_next.portfolio_id, account_to_portfolios_dm_next.effective_start_date ]
        ├── Upstream { output: [ account_id, portfolio_id, effective_start_date, disabled_at ], stream key: [] }
        └── BatchPlanNode { output: [ account_id, portfolio_id, effective_start_date, disabled_at ], stream key: [] }