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

← cluster alinma_bff objects report_pnl_daily_mv explain
Overview Objects Graph History
materialized view · alinma_bff.report_pnl_daily_mv profiled over 5s
seconds (1–30)

Job is idle — throughput ~0; structure shown.

Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
22 operators
Materialize · alinma_bff.report_pnl_daily_mv
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · Inner · portfolio_to_account_groups_mv.account_group_id = pnl_summa…
2 actors
HashJoin · Inner · portfolio_to_account_groups_mv.account_group_id = pnl_summa… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Filter · pnl_summary_mv_next
0% idle 2 actors
StreamScan · pnl_summary_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · portfolio_to_account_groups_mv
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.
Materialize · alinma_bff.report_pnl_daily_mv Materialize alinma_bff.report_pnl_d… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · Inner · portfolio_to_account_groups_mv.account_group_id = pnl_summa… SyncLogStore Inner · portfolio_to_ac… — · 2 actors HashJoin · Inner · portfolio_to_account_groups_mv.account_group_id = pnl_summa… HashJoin Inner · portfolio_to_ac… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Filter · pnl_summary_mv_next Filter pnl_summary_mv_next idle · 2 actors StreamScan · pnl_summary_mv_next StreamScan pnl_summary_mv_next idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · portfolio_to_account_groups_mv StreamScan portfolio_to_account_gr… 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 64509 (Actor 747751,747750)
StreamMaterialize { columns: [portfolio_id, account_group_type, dim_balance_date, currency_code, market_value, total_average_cost, fair_value, market_value_system_currency, total_average_cost_system_currency, fair_value_system_currency, cumulative_adjusted_netflow, cumulative_adjusted_netflow_system_currency, total_gain_loss, unrealized_gain_loss, realized_gain_loss, total_gain_loss_system_currency, unrealized_gain_loss_system_currency, realized_gain_loss_system_currency, portfolio_to_account_groups_mv.account_group_id(hidden), portfolio_to_account_groups_mv.$src(hidden), pnl_summary_mv_next.account_group_id(hidden), pnl_summary_mv_next.position_type(hidden), pnl_summary_mv_next.position_summary_mv_next.source_entity_type(hidden), pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date(hidden)], stream_key: [portfolio_to_account_groups_mv.account_group_id, portfolio_id, portfolio_to_account_groups_mv.$src, pnl_summary_mv_next.position_type, currency_code, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, dim_balance_date, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date], pk_columns: [portfolio_to_account_groups_mv.account_group_id, portfolio_id, portfolio_to_account_groups_mv.$src, pnl_summary_mv_next.position_type, currency_code, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, dim_balance_date, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date], pk_conflict: NoCheck }
├── output: [ portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.market_value, pnl_summary_mv_next.total_average_cost, pnl_summary_mv_next.fair_value, pnl_summary_mv_next.market_value_system_currency, pnl_summary_mv_next.total_average_cost_system_currency, pnl_summary_mv_next.fair_value_system_currency, pnl_summary_mv_next.cumulative_adjusted_netflow, pnl_summary_mv_next.cumulative_adjusted_netflow_system_currency, pnl_summary_mv_next.total_gain_loss, pnl_summary_mv_next.unrealized_gain_loss, pnl_summary_mv_next.realized_gain_loss, pnl_summary_mv_next.total_gain_loss_system_currency, pnl_summary_mv_next.unrealized_gain_loss_system_currency, pnl_summary_mv_next.realized_gain_loss_system_currency, portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.$src, pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.position_type, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ]
├── stream key: [ portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.$src, pnl_summary_mv_next.position_type, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ]
└── MergeExecutor
    ├── output: [ portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.market_value, pnl_summary_mv_next.total_average_cost, pnl_summary_mv_next.fair_value, pnl_summary_mv_next.market_value_system_currency, pnl_summary_mv_next.total_average_cost_system_currency, pnl_summary_mv_next.fair_value_system_currency, pnl_summary_mv_next.cumulative_adjusted_netflow, pnl_summary_mv_next.cumulative_adjusted_netflow_system_currency, pnl_summary_mv_next.total_gain_loss, pnl_summary_mv_next.unrealized_gain_loss, pnl_summary_mv_next.realized_gain_loss, pnl_summary_mv_next.total_gain_loss_system_currency, pnl_summary_mv_next.unrealized_gain_loss_system_currency, pnl_summary_mv_next.realized_gain_loss_system_currency, portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.$src, pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.position_type, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ]
    └── stream key: [ portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.$src, pnl_summary_mv_next.position_type, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ]

Fragment 64510 (Actor 747746,747747)
StreamSyncLogStore
├── output: [ portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.market_value, pnl_summary_mv_next.total_average_cost, pnl_summary_mv_next.fair_value, pnl_summary_mv_next.market_value_system_currency, pnl_summary_mv_next.total_average_cost_system_currency, pnl_summary_mv_next.fair_value_system_currency, pnl_summary_mv_next.cumulative_adjusted_netflow, pnl_summary_mv_next.cumulative_adjusted_netflow_system_currency, pnl_summary_mv_next.total_gain_loss, pnl_summary_mv_next.unrealized_gain_loss, pnl_summary_mv_next.realized_gain_loss, pnl_summary_mv_next.total_gain_loss_system_currency, pnl_summary_mv_next.unrealized_gain_loss_system_currency, pnl_summary_mv_next.realized_gain_loss_system_currency, portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.$src, pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.position_type, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ]
├── stream key: [ portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.$src, pnl_summary_mv_next.position_type, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ]
└── StreamHashJoin { type: Inner, predicate: portfolio_to_account_groups_mv.account_group_id = pnl_summary_mv_next.account_group_id }
    ├── output: [ portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.market_value, pnl_summary_mv_next.total_average_cost, pnl_summary_mv_next.fair_value, pnl_summary_mv_next.market_value_system_currency, pnl_summary_mv_next.total_average_cost_system_currency, pnl_summary_mv_next.fair_value_system_currency, pnl_summary_mv_next.cumulative_adjusted_netflow, pnl_summary_mv_next.cumulative_adjusted_netflow_system_currency, pnl_summary_mv_next.total_gain_loss, pnl_summary_mv_next.unrealized_gain_loss, pnl_summary_mv_next.realized_gain_loss, pnl_summary_mv_next.total_gain_loss_system_currency, pnl_summary_mv_next.unrealized_gain_loss_system_currency, pnl_summary_mv_next.realized_gain_loss_system_currency, portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.$src, pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.position_type, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ]
    ├── stream key: [ portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.$src, pnl_summary_mv_next.position_type, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ]
    ├── MergeExecutor { output: [ portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.type, portfolio_to_account_groups_mv.$src ], stream key: [ portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.$src ] }
    └── MergeExecutor { output: [ pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.market_value, pnl_summary_mv_next.total_average_cost, pnl_summary_mv_next.fair_value, pnl_summary_mv_next.market_value_system_currency, pnl_summary_mv_next.total_average_cost_system_currency, pnl_summary_mv_next.fair_value_system_currency, pnl_summary_mv_next.cumulative_adjusted_netflow, pnl_summary_mv_next.cumulative_adjusted_netflow_system_currency, pnl_summary_mv_next.total_gain_loss, pnl_summary_mv_next.unrealized_gain_loss, pnl_summary_mv_next.realized_gain_loss, pnl_summary_mv_next.total_gain_loss_system_currency, pnl_summary_mv_next.unrealized_gain_loss_system_currency, pnl_summary_mv_next.realized_gain_loss_system_currency, pnl_summary_mv_next.position_type, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ], stream key: [ pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.position_type, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ] }

Fragment 64511 (Actor 747752,747753)
StreamLocalityProvider { locality_columns: [portfolio_to_account_groups_mv.account_group_id] } { output: [ portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.type, portfolio_to_account_groups_mv.$src ], stream key: [ portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.$src ] }
└── MergeExecutor { output: [ portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.type, portfolio_to_account_groups_mv.$src ], stream key: [ portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.$src ] }

Fragment 64512 (Actor 747754,747755)
StreamTableScan { table: portfolio_to_account_groups_mv, columns: [portfolio_id, account_group_id, type, $src] } { output: [ portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.type, portfolio_to_account_groups_mv.$src ], stream key: [ portfolio_to_account_groups_mv.portfolio_id, portfolio_to_account_groups_mv.$src ] }
├── Upstream { output: [ portfolio_id, account_group_id, type, $src ], stream key: [] }
└── BatchPlanNode { output: [ portfolio_id, account_group_id, type, $src ], stream key: [] }

Fragment 64513 (Actor 747756,747757)
StreamLocalityProvider { locality_columns: [pnl_summary_mv_next.account_group_id] } { output: [ pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.market_value, pnl_summary_mv_next.total_average_cost, pnl_summary_mv_next.fair_value, pnl_summary_mv_next.market_value_system_currency, pnl_summary_mv_next.total_average_cost_system_currency, pnl_summary_mv_next.fair_value_system_currency, pnl_summary_mv_next.cumulative_adjusted_netflow, pnl_summary_mv_next.cumulative_adjusted_netflow_system_currency, pnl_summary_mv_next.total_gain_loss, pnl_summary_mv_next.unrealized_gain_loss, pnl_summary_mv_next.realized_gain_loss, pnl_summary_mv_next.total_gain_loss_system_currency, pnl_summary_mv_next.unrealized_gain_loss_system_currency, pnl_summary_mv_next.realized_gain_loss_system_currency, pnl_summary_mv_next.position_type, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ], stream key: [ pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.position_type, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ] }
└── MergeExecutor { output: [ pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.market_value, pnl_summary_mv_next.total_average_cost, pnl_summary_mv_next.fair_value, pnl_summary_mv_next.market_value_system_currency, pnl_summary_mv_next.total_average_cost_system_currency, pnl_summary_mv_next.fair_value_system_currency, pnl_summary_mv_next.cumulative_adjusted_netflow, pnl_summary_mv_next.cumulative_adjusted_netflow_system_currency, pnl_summary_mv_next.total_gain_loss, pnl_summary_mv_next.unrealized_gain_loss, pnl_summary_mv_next.realized_gain_loss, pnl_summary_mv_next.total_gain_loss_system_currency, pnl_summary_mv_next.unrealized_gain_loss_system_currency, pnl_summary_mv_next.realized_gain_loss_system_currency, pnl_summary_mv_next.position_type, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ], stream key: [ pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.position_type, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ] }

Fragment 64514 (Actor 747759,747758)
StreamFilter { predicate: (pnl_summary_mv_next.position_type = 'POSITION':Varchar) } { output: [ pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.market_value, pnl_summary_mv_next.total_average_cost, pnl_summary_mv_next.fair_value, pnl_summary_mv_next.market_value_system_currency, pnl_summary_mv_next.total_average_cost_system_currency, pnl_summary_mv_next.fair_value_system_currency, pnl_summary_mv_next.cumulative_adjusted_netflow, pnl_summary_mv_next.cumulative_adjusted_netflow_system_currency, pnl_summary_mv_next.total_gain_loss, pnl_summary_mv_next.unrealized_gain_loss, pnl_summary_mv_next.realized_gain_loss, pnl_summary_mv_next.total_gain_loss_system_currency, pnl_summary_mv_next.unrealized_gain_loss_system_currency, pnl_summary_mv_next.realized_gain_loss_system_currency, pnl_summary_mv_next.position_type, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ], stream key: [ pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.position_type, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ] }
└── StreamTableScan { table: pnl_summary_mv_next, columns: [account_group_id, dim_balance_date, currency_code, market_value, total_average_cost, fair_value, market_value_system_currency, total_average_cost_system_currency, fair_value_system_currency, cumulative_adjusted_netflow, cumulative_adjusted_netflow_system_currency, total_gain_loss, unrealized_gain_loss, realized_gain_loss, total_gain_loss_system_currency, unrealized_gain_loss_system_currency, realized_gain_loss_system_currency, position_type, position_summary_mv_next.source_entity_type, flow_summary_mv_next.dim_transaction_date] }
    ├── output: [ pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.market_value, pnl_summary_mv_next.total_average_cost, pnl_summary_mv_next.fair_value, pnl_summary_mv_next.market_value_system_currency, pnl_summary_mv_next.total_average_cost_system_currency, pnl_summary_mv_next.fair_value_system_currency, pnl_summary_mv_next.cumulative_adjusted_netflow, pnl_summary_mv_next.cumulative_adjusted_netflow_system_currency, pnl_summary_mv_next.total_gain_loss, pnl_summary_mv_next.unrealized_gain_loss, pnl_summary_mv_next.realized_gain_loss, pnl_summary_mv_next.total_gain_loss_system_currency, pnl_summary_mv_next.unrealized_gain_loss_system_currency, pnl_summary_mv_next.realized_gain_loss_system_currency, pnl_summary_mv_next.position_type, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ]
    ├── stream key: [ pnl_summary_mv_next.account_group_id, pnl_summary_mv_next.position_type, pnl_summary_mv_next.currency_code, pnl_summary_mv_next.position_summary_mv_next.source_entity_type, pnl_summary_mv_next.dim_balance_date, pnl_summary_mv_next.flow_summary_mv_next.dim_transaction_date ]
    ├── Upstream { output: [ account_group_id, dim_balance_date, currency_code, market_value, total_average_cost, fair_value, market_value_system_currency, total_average_cost_system_currency, fair_value_system_currency, cumulative_adjusted_netflow, cumulative_adjusted_netflow_system_currency, total_gain_loss, unrealized_gain_loss, realized_gain_loss, total_gain_loss_system_currency, unrealized_gain_loss_system_currency, realized_gain_loss_system_currency, position_type, position_summary_mv_next.source_entity_type, flow_summary_mv_next.dim_transaction_date ], stream key: [] }
    └── BatchPlanNode { output: [ account_group_id, dim_balance_date, currency_code, market_value, total_average_cost, fair_value, market_value_system_currency, total_average_cost_system_currency, fair_value_system_currency, cumulative_adjusted_netflow, cumulative_adjusted_netflow_system_currency, total_gain_loss, unrealized_gain_loss, realized_gain_loss, total_gain_loss_system_currency, unrealized_gain_loss_system_currency, realized_gain_loss_system_currency, position_type, position_summary_mv_next.source_entity_type, flow_summary_mv_next.dim_transaction_date ], stream key: [] }