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

← cluster insights objects intraday_position_by_asset_mv explain
Overview Objects Graph History
materialized view · insights.intraday_position_by_asset_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
25 operators
Materialize · insights.intraday_position_by_asset_mv
0% idle 2 actors
Project
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · Inner · intraday_position_asset_values_mv_next.account_group_id = i…
2 actors
HashJoin · Inner · intraday_position_asset_values_mv_next.account_group_id = i… 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
StreamScan · intraday_position_summary_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · intraday_position_asset_values_mv_next.asset_id = assets_dm…
2 actors
HashJoin · LeftOuter · intraday_position_asset_values_mv_next.asset_id = assets_dm… 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
StreamScan · assets_dm
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · intraday_position_asset_values_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.
Materialize · insights.intraday_position_by_asset_mv Materialize insights.intraday_posit… idle · 2 actors Project Project — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · Inner · intraday_position_asset_values_mv_next.account_group_id = i… SyncLogStore Inner · intraday_positi… — · 2 actors HashJoin · Inner · intraday_position_asset_values_mv_next.account_group_id = i… HashJoin Inner · intraday_positi… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · intraday_position_summary_mv_next StreamScan intraday_position_summa… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · intraday_position_asset_values_mv_next.asset_id = assets_dm… SyncLogStore LeftOuter · intraday_po… — · 2 actors HashJoin · LeftOuter · intraday_position_asset_values_mv_next.asset_id = assets_dm… HashJoin LeftOuter · intraday_po… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · assets_dm StreamScan assets_dm idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · intraday_position_asset_values_mv_next StreamScan intraday_position_asset… 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 24441 (Actor 113973,113972)
StreamMaterialize { columns: [account_group_id, position_type, asset_id, asset_currency, currency_code, market_value, total_average_cost, fair_value, accrued_value, market_value_system_currency, total_average_cost_system_currency, fair_value_system_currency, accrued_value_system_currency, market_value_asset_currency, total_average_cost_asset_currency, fair_value_asset_currency, quantity, weight, fair_value_weight, change_time, intraday_position_summary_mv_next.currency_code(hidden)], stream_key: [account_group_id, asset_id, position_type, currency_code, intraday_position_summary_mv_next.currency_code], pk_columns: [account_group_id, asset_id, position_type, currency_code, intraday_position_summary_mv_next.currency_code], pk_conflict: NoCheck }
├── output: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.asset_id, assets_dm.issue_currency_code, intraday_position_asset_values_mv_next.group_currency, intraday_position_asset_values_mv_next.market_value, intraday_position_asset_values_mv_next.average_cost, intraday_position_asset_values_mv_next.fair_value, intraday_position_asset_values_mv_next.accrued_value, intraday_position_asset_values_mv_next.market_value_system, intraday_position_asset_values_mv_next.average_cost_system, intraday_position_asset_values_mv_next.fair_value_system, intraday_position_asset_values_mv_next.accrued_value_system, intraday_position_asset_values_mv_next.market_value_asset, intraday_position_asset_values_mv_next.average_cost_asset, intraday_position_asset_values_mv_next.fair_value_asset, intraday_position_asset_values_mv_next.quantity, $expr1, $expr2, intraday_position_asset_values_mv_next.change_time, intraday_position_summary_mv_next.currency_code ]
├── stream key: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.group_currency, intraday_position_summary_mv_next.currency_code ]
└── StreamProject { exprs: [intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.asset_id, assets_dm.issue_currency_code, intraday_position_asset_values_mv_next.group_currency, intraday_position_asset_values_mv_next.market_value, intraday_position_asset_values_mv_next.average_cost, intraday_position_asset_values_mv_next.fair_value, intraday_position_asset_values_mv_next.accrued_value, intraday_position_asset_values_mv_next.market_value_system, intraday_position_asset_values_mv_next.average_cost_system, intraday_position_asset_values_mv_next.fair_value_system, intraday_position_asset_values_mv_next.accrued_value_system, intraday_position_asset_values_mv_next.market_value_asset, intraday_position_asset_values_mv_next.average_cost_asset, intraday_position_asset_values_mv_next.fair_value_asset, intraday_position_asset_values_mv_next.quantity, (intraday_position_asset_values_mv_next.market_value_system / Case((intraday_position_summary_mv_next.market_value_system_currency = 0:Decimal), null:Decimal, intraday_position_summary_mv_next.market_value_system_currency)) as $expr1, (intraday_position_asset_values_mv_next.fair_value_system / Case((intraday_position_summary_mv_next.fair_value_system_currency = 0:Decimal), null:Decimal, intraday_position_summary_mv_next.fair_value_system_currency)) as $expr2, intraday_position_asset_values_mv_next.change_time, intraday_position_summary_mv_next.currency_code] }
    ├── output: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.asset_id, assets_dm.issue_currency_code, intraday_position_asset_values_mv_next.group_currency, intraday_position_asset_values_mv_next.market_value, intraday_position_asset_values_mv_next.average_cost, intraday_position_asset_values_mv_next.fair_value, intraday_position_asset_values_mv_next.accrued_value, intraday_position_asset_values_mv_next.market_value_system, intraday_position_asset_values_mv_next.average_cost_system, intraday_position_asset_values_mv_next.fair_value_system, intraday_position_asset_values_mv_next.accrued_value_system, intraday_position_asset_values_mv_next.market_value_asset, intraday_position_asset_values_mv_next.average_cost_asset, intraday_position_asset_values_mv_next.fair_value_asset, intraday_position_asset_values_mv_next.quantity, $expr1, $expr2, intraday_position_asset_values_mv_next.change_time, intraday_position_summary_mv_next.currency_code ]
    ├── stream key: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.group_currency, intraday_position_summary_mv_next.currency_code ]
    └── MergeExecutor
        ├── output: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.group_currency, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.market_value, intraday_position_asset_values_mv_next.average_cost, intraday_position_asset_values_mv_next.fair_value, intraday_position_asset_values_mv_next.accrued_value, intraday_position_asset_values_mv_next.market_value_system, intraday_position_asset_values_mv_next.average_cost_system, intraday_position_asset_values_mv_next.fair_value_system, intraday_position_asset_values_mv_next.accrued_value_system, intraday_position_asset_values_mv_next.market_value_asset, intraday_position_asset_values_mv_next.average_cost_asset, intraday_position_asset_values_mv_next.fair_value_asset, intraday_position_asset_values_mv_next.quantity, intraday_position_asset_values_mv_next.change_time, assets_dm.issue_currency_code, intraday_position_summary_mv_next.market_value_system_currency, intraday_position_summary_mv_next.fair_value_system_currency, intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.position_type ]
        └── stream key: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.group_currency, intraday_position_summary_mv_next.currency_code ]

Fragment 24442 (Actor 113970,113971)
StreamSyncLogStore
├── output: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.group_currency, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.market_value, intraday_position_asset_values_mv_next.average_cost, intraday_position_asset_values_mv_next.fair_value, intraday_position_asset_values_mv_next.accrued_value, intraday_position_asset_values_mv_next.market_value_system, intraday_position_asset_values_mv_next.average_cost_system, intraday_position_asset_values_mv_next.fair_value_system, intraday_position_asset_values_mv_next.accrued_value_system, intraday_position_asset_values_mv_next.market_value_asset, intraday_position_asset_values_mv_next.average_cost_asset, intraday_position_asset_values_mv_next.fair_value_asset, intraday_position_asset_values_mv_next.quantity, intraday_position_asset_values_mv_next.change_time, assets_dm.issue_currency_code, intraday_position_summary_mv_next.market_value_system_currency, intraday_position_summary_mv_next.fair_value_system_currency, intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.position_type ]
├── stream key: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.group_currency, intraday_position_summary_mv_next.currency_code ]
└── StreamHashJoin { type: Inner, predicate: intraday_position_asset_values_mv_next.account_group_id = intraday_position_summary_mv_next.account_group_id AND intraday_position_asset_values_mv_next.position_type = intraday_position_summary_mv_next.position_type }
    ├── output: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.group_currency, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.market_value, intraday_position_asset_values_mv_next.average_cost, intraday_position_asset_values_mv_next.fair_value, intraday_position_asset_values_mv_next.accrued_value, intraday_position_asset_values_mv_next.market_value_system, intraday_position_asset_values_mv_next.average_cost_system, intraday_position_asset_values_mv_next.fair_value_system, intraday_position_asset_values_mv_next.accrued_value_system, intraday_position_asset_values_mv_next.market_value_asset, intraday_position_asset_values_mv_next.average_cost_asset, intraday_position_asset_values_mv_next.fair_value_asset, intraday_position_asset_values_mv_next.quantity, intraday_position_asset_values_mv_next.change_time, assets_dm.issue_currency_code, intraday_position_summary_mv_next.market_value_system_currency, intraday_position_summary_mv_next.fair_value_system_currency, intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.position_type ]
    ├── stream key: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.group_currency, intraday_position_summary_mv_next.currency_code ]
    ├── MergeExecutor { output: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.group_currency, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.market_value, intraday_position_asset_values_mv_next.average_cost, intraday_position_asset_values_mv_next.fair_value, intraday_position_asset_values_mv_next.accrued_value, intraday_position_asset_values_mv_next.market_value_system, intraday_position_asset_values_mv_next.average_cost_system, intraday_position_asset_values_mv_next.fair_value_system, intraday_position_asset_values_mv_next.accrued_value_system, intraday_position_asset_values_mv_next.market_value_asset, intraday_position_asset_values_mv_next.average_cost_asset, intraday_position_asset_values_mv_next.fair_value_asset, intraday_position_asset_values_mv_next.quantity, intraday_position_asset_values_mv_next.change_time, assets_dm.issue_currency_code, assets_dm.id ], stream key: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.group_currency ] }
    └── MergeExecutor { output: [ intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.position_type, intraday_position_summary_mv_next.market_value_system_currency, intraday_position_summary_mv_next.fair_value_system_currency, intraday_position_summary_mv_next.currency_code ], stream key: [ intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.position_type ] }

Fragment 24443 (Actor 113975,113974)
StreamSyncLogStore { output: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.group_currency, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.market_value, intraday_position_asset_values_mv_next.average_cost, intraday_position_asset_values_mv_next.fair_value, intraday_position_asset_values_mv_next.accrued_value, intraday_position_asset_values_mv_next.market_value_system, intraday_position_asset_values_mv_next.average_cost_system, intraday_position_asset_values_mv_next.fair_value_system, intraday_position_asset_values_mv_next.accrued_value_system, intraday_position_asset_values_mv_next.market_value_asset, intraday_position_asset_values_mv_next.average_cost_asset, intraday_position_asset_values_mv_next.fair_value_asset, intraday_position_asset_values_mv_next.quantity, intraday_position_asset_values_mv_next.change_time, assets_dm.issue_currency_code, assets_dm.id ], stream key: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.group_currency ] }
└── StreamHashJoin { type: LeftOuter, predicate: intraday_position_asset_values_mv_next.asset_id = assets_dm.id } { output: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.group_currency, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.market_value, intraday_position_asset_values_mv_next.average_cost, intraday_position_asset_values_mv_next.fair_value, intraday_position_asset_values_mv_next.accrued_value, intraday_position_asset_values_mv_next.market_value_system, intraday_position_asset_values_mv_next.average_cost_system, intraday_position_asset_values_mv_next.fair_value_system, intraday_position_asset_values_mv_next.accrued_value_system, intraday_position_asset_values_mv_next.market_value_asset, intraday_position_asset_values_mv_next.average_cost_asset, intraday_position_asset_values_mv_next.fair_value_asset, intraday_position_asset_values_mv_next.quantity, intraday_position_asset_values_mv_next.change_time, assets_dm.issue_currency_code, assets_dm.id ], stream key: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.group_currency ] }
    ├── MergeExecutor { output: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.group_currency, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.market_value, intraday_position_asset_values_mv_next.average_cost, intraday_position_asset_values_mv_next.fair_value, intraday_position_asset_values_mv_next.accrued_value, intraday_position_asset_values_mv_next.market_value_system, intraday_position_asset_values_mv_next.average_cost_system, intraday_position_asset_values_mv_next.fair_value_system, intraday_position_asset_values_mv_next.accrued_value_system, intraday_position_asset_values_mv_next.market_value_asset, intraday_position_asset_values_mv_next.average_cost_asset, intraday_position_asset_values_mv_next.fair_value_asset, intraday_position_asset_values_mv_next.quantity, intraday_position_asset_values_mv_next.change_time ], stream key: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.group_currency ] }
    └── MergeExecutor { output: [ assets_dm.id, assets_dm.issue_currency_code ], stream key: [ assets_dm.id ] }

Fragment 24444 (Actor 113969,113968)
StreamTableScan { table: intraday_position_asset_values_mv_next, columns: [account_group_id, asset_id, group_currency, position_type, market_value, average_cost, fair_value, accrued_value, market_value_system, average_cost_system, fair_value_system, accrued_value_system, market_value_asset, average_cost_asset, fair_value_asset, quantity, change_time] }
├── output: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.group_currency, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.market_value, intraday_position_asset_values_mv_next.average_cost, intraday_position_asset_values_mv_next.fair_value, intraday_position_asset_values_mv_next.accrued_value, intraday_position_asset_values_mv_next.market_value_system, intraday_position_asset_values_mv_next.average_cost_system, intraday_position_asset_values_mv_next.fair_value_system, intraday_position_asset_values_mv_next.accrued_value_system, intraday_position_asset_values_mv_next.market_value_asset, intraday_position_asset_values_mv_next.average_cost_asset, intraday_position_asset_values_mv_next.fair_value_asset, intraday_position_asset_values_mv_next.quantity, intraday_position_asset_values_mv_next.change_time ]
├── stream key: [ intraday_position_asset_values_mv_next.account_group_id, intraday_position_asset_values_mv_next.asset_id, intraday_position_asset_values_mv_next.position_type, intraday_position_asset_values_mv_next.group_currency ]
├── Upstream { output: [ account_group_id, asset_id, group_currency, position_type, market_value, average_cost, fair_value, accrued_value, market_value_system, average_cost_system, fair_value_system, accrued_value_system, market_value_asset, average_cost_asset, fair_value_asset, quantity, change_time ], stream key: [] }
└── BatchPlanNode { output: [ account_group_id, asset_id, group_currency, position_type, market_value, average_cost, fair_value, accrued_value, market_value_system, average_cost_system, fair_value_system, accrued_value_system, market_value_asset, average_cost_asset, fair_value_asset, quantity, change_time ], stream key: [] }

Fragment 24445 (Actor 113978,113979)
StreamTableScan { table: assets_dm, columns: [id, issue_currency_code] } { output: [ assets_dm.id, assets_dm.issue_currency_code ], stream key: [ assets_dm.id ] }
├── Upstream { output: [ id, issue_currency_code ], stream key: [] }
└── BatchPlanNode { output: [ id, issue_currency_code ], stream key: [] }

Fragment 24446 (Actor 113976,113977)
StreamTableScan { table: intraday_position_summary_mv_next, columns: [account_group_id, position_type, market_value_system_currency, fair_value_system_currency, currency_code] } { output: [ intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.position_type, intraday_position_summary_mv_next.market_value_system_currency, intraday_position_summary_mv_next.fair_value_system_currency, intraday_position_summary_mv_next.currency_code ], stream key: [ intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.position_type ] }
├── Upstream { output: [ account_group_id, position_type, market_value_system_currency, fair_value_system_currency, currency_code ], stream key: [] }
└── BatchPlanNode { output: [ account_group_id, position_type, market_value_system_currency, fair_value_system_currency, currency_code ], stream key: [] }