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

← cluster insights objects intraday_position_by_currency_mv explain
Overview Objects Graph History
materialized view · insights.intraday_position_by_currency_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 lookupsAggregation state — unbounded unless keyed or temporally filtered
18 operators
Materialize · insights.intraday_position_by_currency_mv
0% idle 2 actors
Project
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · Inner · intraday_position_values_mv_next.account_group_id = intrada…
2 actors
HashJoin · Inner · intraday_position_values_mv_next.account_group_id = intrada… 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
Project · intraday_position_values_mv_next
2 actors
HashAgg · intraday_position_values_mv_next Aggregation state — unbounded unless keyed or temporally filtered
0% idle 2 actors
StreamScan · intraday_position_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_currency_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_values_mv_next.account_group_id = intrada… SyncLogStore Inner · intraday_positi… — · 2 actors HashJoin · Inner · intraday_position_values_mv_next.account_group_id = intrada… 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 Project · intraday_position_values_mv_next Project intraday_position_value… — · 2 actors HashAgg · intraday_position_values_mv_next HashAgg intraday_position_value… idle · 2 actors StreamScan · intraday_position_values_mv_next StreamScan intraday_position_value… 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 25892 (Actor 130215,130216)
StreamMaterialize { columns: [account_group_id, position_type, item_id, 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, weight, fair_value_weight, change_time], stream_key: [account_group_id, position_type, item_id, currency_code], pk_columns: [account_group_id, position_type, item_id, currency_code], pk_conflict: NoCheck }
├── output: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency, sum(intraday_position_values_mv_next.market_value_group), sum(intraday_position_values_mv_next.average_cost_group), sum(intraday_position_values_mv_next.fair_value_group), sum(intraday_position_values_mv_next.accrued_value_group), sum(intraday_position_values_mv_next.market_value_system), sum(intraday_position_values_mv_next.average_cost_system), sum(intraday_position_values_mv_next.fair_value_system), sum(intraday_position_values_mv_next.accrued_value_system), $expr1, $expr2, max(intraday_position_values_mv_next.change_time) ]
├── stream key: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency ]
└── StreamProject { exprs: [intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency, sum(intraday_position_values_mv_next.market_value_group), sum(intraday_position_values_mv_next.average_cost_group), sum(intraday_position_values_mv_next.fair_value_group), sum(intraday_position_values_mv_next.accrued_value_group), sum(intraday_position_values_mv_next.market_value_system), sum(intraday_position_values_mv_next.average_cost_system), sum(intraday_position_values_mv_next.fair_value_system), sum(intraday_position_values_mv_next.accrued_value_system), (sum(intraday_position_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, (sum(intraday_position_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, max(intraday_position_values_mv_next.change_time)] }
    ├── output: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency, sum(intraday_position_values_mv_next.market_value_group), sum(intraday_position_values_mv_next.average_cost_group), sum(intraday_position_values_mv_next.fair_value_group), sum(intraday_position_values_mv_next.accrued_value_group), sum(intraday_position_values_mv_next.market_value_system), sum(intraday_position_values_mv_next.average_cost_system), sum(intraday_position_values_mv_next.fair_value_system), sum(intraday_position_values_mv_next.accrued_value_system), $expr1, $expr2, max(intraday_position_values_mv_next.change_time) ]
    ├── stream key: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency ]
    └── MergeExecutor
        ├── output: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency, sum(intraday_position_values_mv_next.market_value_group), sum(intraday_position_values_mv_next.average_cost_group), sum(intraday_position_values_mv_next.fair_value_group), sum(intraday_position_values_mv_next.accrued_value_group), sum(intraday_position_values_mv_next.market_value_system), sum(intraday_position_values_mv_next.average_cost_system), sum(intraday_position_values_mv_next.fair_value_system), sum(intraday_position_values_mv_next.accrued_value_system), max(intraday_position_values_mv_next.change_time), 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_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency ]

Fragment 25893 (Actor 130217,130218)
StreamSyncLogStore
├── output: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency, sum(intraday_position_values_mv_next.market_value_group), sum(intraday_position_values_mv_next.average_cost_group), sum(intraday_position_values_mv_next.fair_value_group), sum(intraday_position_values_mv_next.accrued_value_group), sum(intraday_position_values_mv_next.market_value_system), sum(intraday_position_values_mv_next.average_cost_system), sum(intraday_position_values_mv_next.fair_value_system), sum(intraday_position_values_mv_next.accrued_value_system), max(intraday_position_values_mv_next.change_time), 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_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency ]
└── StreamHashJoin { type: Inner, predicate: intraday_position_values_mv_next.account_group_id = intraday_position_summary_mv_next.account_group_id AND intraday_position_values_mv_next.position_type = intraday_position_summary_mv_next.position_type AND intraday_position_values_mv_next.group_currency = intraday_position_summary_mv_next.currency_code }
    ├── output: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency, sum(intraday_position_values_mv_next.market_value_group), sum(intraday_position_values_mv_next.average_cost_group), sum(intraday_position_values_mv_next.fair_value_group), sum(intraday_position_values_mv_next.accrued_value_group), sum(intraday_position_values_mv_next.market_value_system), sum(intraday_position_values_mv_next.average_cost_system), sum(intraday_position_values_mv_next.fair_value_system), sum(intraday_position_values_mv_next.accrued_value_system), max(intraday_position_values_mv_next.change_time), 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_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency ]
    ├── MergeExecutor { output: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency, sum(intraday_position_values_mv_next.market_value_group), sum(intraday_position_values_mv_next.average_cost_group), sum(intraday_position_values_mv_next.fair_value_group), sum(intraday_position_values_mv_next.accrued_value_group), sum(intraday_position_values_mv_next.market_value_system), sum(intraday_position_values_mv_next.average_cost_system), sum(intraday_position_values_mv_next.fair_value_system), sum(intraday_position_values_mv_next.accrued_value_system), max(intraday_position_values_mv_next.change_time) ], stream key: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_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.currency_code, intraday_position_summary_mv_next.market_value_system_currency, intraday_position_summary_mv_next.fair_value_system_currency ], 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 25894 (Actor 130220,130219)
StreamProject { exprs: [intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency, sum(intraday_position_values_mv_next.market_value_group), sum(intraday_position_values_mv_next.average_cost_group), sum(intraday_position_values_mv_next.fair_value_group), sum(intraday_position_values_mv_next.accrued_value_group), sum(intraday_position_values_mv_next.market_value_system), sum(intraday_position_values_mv_next.average_cost_system), sum(intraday_position_values_mv_next.fair_value_system), sum(intraday_position_values_mv_next.accrued_value_system), max(intraday_position_values_mv_next.change_time)] }
├── output: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency, sum(intraday_position_values_mv_next.market_value_group), sum(intraday_position_values_mv_next.average_cost_group), sum(intraday_position_values_mv_next.fair_value_group), sum(intraday_position_values_mv_next.accrued_value_group), sum(intraday_position_values_mv_next.market_value_system), sum(intraday_position_values_mv_next.average_cost_system), sum(intraday_position_values_mv_next.fair_value_system), sum(intraday_position_values_mv_next.accrued_value_system), max(intraday_position_values_mv_next.change_time) ]
├── stream key: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency ]
└── StreamHashAgg { group_key: [intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency], aggs: [sum(intraday_position_values_mv_next.market_value_group), sum(intraday_position_values_mv_next.average_cost_group), sum(intraday_position_values_mv_next.fair_value_group), sum(intraday_position_values_mv_next.accrued_value_group), sum(intraday_position_values_mv_next.market_value_system), sum(intraday_position_values_mv_next.average_cost_system), sum(intraday_position_values_mv_next.fair_value_system), sum(intraday_position_values_mv_next.accrued_value_system), max(intraday_position_values_mv_next.change_time), count] }
    ├── output: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency, sum(intraday_position_values_mv_next.market_value_group), sum(intraday_position_values_mv_next.average_cost_group), sum(intraday_position_values_mv_next.fair_value_group), sum(intraday_position_values_mv_next.accrued_value_group), sum(intraday_position_values_mv_next.market_value_system), sum(intraday_position_values_mv_next.average_cost_system), sum(intraday_position_values_mv_next.fair_value_system), sum(intraday_position_values_mv_next.accrued_value_system), max(intraday_position_values_mv_next.change_time), count ]
    ├── stream key: [ intraday_position_values_mv_next.account_group_id, intraday_position_values_mv_next.position_type, intraday_position_values_mv_next.holding_currency, intraday_position_values_mv_next.group_currency ]
    └── StreamTableScan { table: intraday_position_values_mv_next, columns: [account_group_id, position_type, holding_currency, group_currency, market_value_group, average_cost_group, fair_value_group, accrued_value_group, market_value_system, average_cost_system, fair_value_system, accrued_value_system, change_time, account_id, asset_id, account_to_account_groups_mv_next.open_accounts_mv.account_id, account_to_account_groups_mv_next.null:Varchar, account_to_account_groups_mv_next.null:Date, account_to_account_groups_mv_next.null:Varchar#1, account_to_account_groups_mv_next.null:Date#1, account_to_account_groups_mv_next.null:Int32, account_to_account_groups_mv_next.null:Varchar#2, account_to_account_groups_mv_next.null:Varchar#3, account_to_account_groups_mv_next.null:Varchar#4, account_to_account_groups_mv_next.$src, account_to_account_groups_mv_next.account_id, account_to_account_groups_mv_next.account_group_id, account_to_account_groups_mv_next.account_groups_mv_next.open_accounts_mv.account_id, account_to_account_groups_mv_next.account_groups_mv_next.null:Varchar, account_to_account_groups_mv_next.account_groups_mv_next.null:Varchar#1, account_to_account_groups_mv_next.account_groups_mv_next.$src, $src, intraday_fx_rates_latest_mv_next.target_currency_code, asset_currency] }
        ├── output:
        │   ┌── intraday_position_values_mv_next.account_group_id
        │   ├── intraday_position_values_mv_next.position_type
        │   ├── intraday_position_values_mv_next.holding_currency
        │   ├── intraday_position_values_mv_next.group_currency
        │   ├── intraday_position_values_mv_next.market_value_group
        │   ├── intraday_position_values_mv_next.average_cost_group
        │   ├── intraday_position_values_mv_next.fair_value_group
        │   ├── intraday_position_values_mv_next.accrued_value_group
        │   ├── intraday_position_values_mv_next.market_value_system
        │   ├── intraday_position_values_mv_next.average_cost_system
        │   ├── intraday_position_values_mv_next.fair_value_system
        │   ├── intraday_position_values_mv_next.accrued_value_system
        │   ├── intraday_position_values_mv_next.change_time
        │   ├── intraday_position_values_mv_next.account_id
        │   ├── intraday_position_values_mv_next.asset_id
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.open_accounts_mv.account_id
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Varchar
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Date
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Varchar#1
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Date#1
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Int32
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Varchar#2
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Varchar#3
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Varchar#4
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.$src
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.account_id
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.account_group_id
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.account_groups_mv_next.open_accounts_mv.account_id
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.account_groups_mv_next.null:Varchar
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.account_groups_mv_next.null:Varchar#1
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.account_groups_mv_next.$src
        │   ├── intraday_position_values_mv_next.$src
        │   ├── intraday_position_values_mv_next.intraday_fx_rates_latest_mv_next.target_currency_code
        │   └── intraday_position_values_mv_next.asset_currency
        ├── stream key:
        │   ┌── intraday_position_values_mv_next.account_id
        │   ├── intraday_position_values_mv_next.asset_id
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.open_accounts_mv.account_id
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Varchar
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Date
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Varchar#1
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Date#1
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Int32
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Varchar#2
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Varchar#3
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.null:Varchar#4
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.$src
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.account_id
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.account_group_id
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.account_groups_mv_next.open_accounts_mv.account_id
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.account_groups_mv_next.null:Varchar
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.account_groups_mv_next.null:Varchar#1
        │   ├── intraday_position_values_mv_next.account_to_account_groups_mv_next.account_groups_mv_next.$src
        │   ├── intraday_position_values_mv_next.$src
        │   ├── intraday_position_values_mv_next.holding_currency
        │   ├── intraday_position_values_mv_next.group_currency
        │   ├── intraday_position_values_mv_next.intraday_fx_rates_latest_mv_next.target_currency_code
        │   └── intraday_position_values_mv_next.asset_currency
        ├── Upstream { output: [ account_group_id, position_type, holding_currency, group_currency, market_value_group, average_cost_group, fair_value_group, accrued_value_group, market_value_system, average_cost_system, fair_value_system, accrued_value_system, change_time, account_id, asset_id, account_to_account_groups_mv_next.open_accounts_mv.account_id, account_to_account_groups_mv_next.null:Varchar, account_to_account_groups_mv_next.null:Date, account_to_account_groups_mv_next.null:Varchar#1, account_to_account_groups_mv_next.null:Date#1, account_to_account_groups_mv_next.null:Int32, account_to_account_groups_mv_next.null:Varchar#2, account_to_account_groups_mv_next.null:Varchar#3, account_to_account_groups_mv_next.null:Varchar#4, account_to_account_groups_mv_next.$src, account_to_account_groups_mv_next.account_id, account_to_account_groups_mv_next.account_group_id, account_to_account_groups_mv_next.account_groups_mv_next.open_accounts_mv.account_id, account_to_account_groups_mv_next.account_groups_mv_next.null:Varchar, account_to_account_groups_mv_next.account_groups_mv_next.null:Varchar#1, account_to_account_groups_mv_next.account_groups_mv_next.$src, $src, intraday_fx_rates_latest_mv_next.target_currency_code, asset_currency ], stream key: [] }
        └── BatchPlanNode { output: [ account_group_id, position_type, holding_currency, group_currency, market_value_group, average_cost_group, fair_value_group, accrued_value_group, market_value_system, average_cost_system, fair_value_system, accrued_value_system, change_time, account_id, asset_id, account_to_account_groups_mv_next.open_accounts_mv.account_id, account_to_account_groups_mv_next.null:Varchar, account_to_account_groups_mv_next.null:Date, account_to_account_groups_mv_next.null:Varchar#1, account_to_account_groups_mv_next.null:Date#1, account_to_account_groups_mv_next.null:Int32, account_to_account_groups_mv_next.null:Varchar#2, account_to_account_groups_mv_next.null:Varchar#3, account_to_account_groups_mv_next.null:Varchar#4, account_to_account_groups_mv_next.$src, account_to_account_groups_mv_next.account_id, account_to_account_groups_mv_next.account_group_id, account_to_account_groups_mv_next.account_groups_mv_next.open_accounts_mv.account_id, account_to_account_groups_mv_next.account_groups_mv_next.null:Varchar, account_to_account_groups_mv_next.account_groups_mv_next.null:Varchar#1, account_to_account_groups_mv_next.account_groups_mv_next.$src, $src, intraday_fx_rates_latest_mv_next.target_currency_code, asset_currency ], stream key: [] }

Fragment 25895 (Actor 130221,130222)
StreamTableScan { table: intraday_position_summary_mv_next, columns: [account_group_id, position_type, currency_code, market_value_system_currency, fair_value_system_currency] } { output: [ intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.position_type, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.market_value_system_currency, intraday_position_summary_mv_next.fair_value_system_currency ], 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, currency_code, market_value_system_currency, fair_value_system_currency ], stream key: [] }
└── BatchPlanNode { output: [ account_group_id, position_type, currency_code, market_value_system_currency, fair_value_system_currency ], stream key: [] }