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

← cluster insights objects intraday_settled_baseline_mv explain
Overview Objects Graph History
materialized view · insights.intraday_settled_baseline_mv profiled over 5s
seconds (1–30)
Dynamic filter — verify it pairs with a temporal condition to clean state
15 operators
Materialize · insights.intraday_settled_baseline_mv
0% idle 2 actors
Project
2 actors
GroupTopN
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · holding_values_raw_ft
2 actors
DynamicFilter · holding_values_raw_ft Dynamic filter — verify it pairs with a temporal condition to clean state
0% idle 2 actors
Merge
2 actors
Exchange
0% 2/s 0 actors
Now
0% 2/s 1 actor
Project · holding_values_raw_ft
2 actors
Filter · holding_values_raw_ft
1% idle 2 actors
StreamScan · holding_values_raw_ft
1% 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_settled_baseline_mv Materialize insights.intraday_settl… idle · 2 actors Project Project — · 2 actors GroupTopN GroupTopN idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · holding_values_raw_ft Project holding_values_raw_ft — · 2 actors DynamicFilter · holding_values_raw_ft DynamicFilter holding_values_raw_ft idle · 2 actors Merge Merge — · 2 actors Exchange Exchange 2/s · 0 actors Now Now 2/s · 1 actor Project · holding_values_raw_ft Project holding_values_raw_ft — · 2 actors Filter · holding_values_raw_ft Filter holding_values_raw_ft idle · 2 actors StreamScan · holding_values_raw_ft StreamScan holding_values_raw_ft 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 24313 (Actor 112291,112290)
StreamMaterialize { columns: [account_id, asset_id, currency_code, dim_value_date, purchased_quantity, average_cost_per_unit, market_value], stream_key: [account_id, asset_id], pk_columns: [account_id, asset_id], pk_conflict: NoCheck }
├── output: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.currency_code, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.purchased_quantity, holding_values_raw_ft.average_cost_per_unit, holding_values_raw_ft.market_value ]
├── stream key: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id ]
└── StreamProject { exprs: [holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.currency_code, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.purchased_quantity, holding_values_raw_ft.average_cost_per_unit, holding_values_raw_ft.market_value] }
    ├── output: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.currency_code, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.purchased_quantity, holding_values_raw_ft.average_cost_per_unit, holding_values_raw_ft.market_value ]
    ├── stream key: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id ]
    └── StreamGroupTopN { order: [holding_values_raw_ft.dim_value_date DESC], limit: 1, offset: 0, group_key: [holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id] }
        ├── output:
        │   ┌── holding_values_raw_ft.account_id
        │   ├── holding_values_raw_ft.asset_id
        │   ├── holding_values_raw_ft.dim_value_date
        │   ├── holding_values_raw_ft.currency_code
        │   ├── holding_values_raw_ft.market_value
        │   ├── holding_values_raw_ft.average_cost_per_unit
        │   ├── holding_values_raw_ft.purchased_quantity
        │   └── holding_values_raw_ft.type
        ├── stream key: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id ]
        └── MergeExecutor
            ├── output:
            │   ┌── holding_values_raw_ft.account_id
            │   ├── holding_values_raw_ft.asset_id
            │   ├── holding_values_raw_ft.dim_value_date
            │   ├── holding_values_raw_ft.currency_code
            │   ├── holding_values_raw_ft.market_value
            │   ├── holding_values_raw_ft.average_cost_per_unit
            │   ├── holding_values_raw_ft.purchased_quantity
            │   └── holding_values_raw_ft.type
            └── stream key: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.type ]

Fragment 24314 (Actor 112293,112294)
StreamProject { exprs: [holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.currency_code, holding_values_raw_ft.market_value, holding_values_raw_ft.average_cost_per_unit, holding_values_raw_ft.purchased_quantity, holding_values_raw_ft.type] }
├── output: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.currency_code, holding_values_raw_ft.market_value, holding_values_raw_ft.average_cost_per_unit, holding_values_raw_ft.purchased_quantity, holding_values_raw_ft.type ]
├── stream key: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.type ]
└── StreamDynamicFilter { predicate: ($expr1 <= now), output: [holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.currency_code, holding_values_raw_ft.market_value, holding_values_raw_ft.average_cost_per_unit, holding_values_raw_ft.purchased_quantity, $expr1, holding_values_raw_ft.type], cleaned_by_watermark: true }
    ├── output: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.currency_code, holding_values_raw_ft.market_value, holding_values_raw_ft.average_cost_per_unit, holding_values_raw_ft.purchased_quantity, $expr1, holding_values_raw_ft.type ]
    ├── stream key: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.type ]
    ├── StreamProject { exprs: [holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.currency_code, holding_values_raw_ft.market_value, holding_values_raw_ft.average_cost_per_unit, holding_values_raw_ft.purchased_quantity, AtTimeZone(holding_values_raw_ft.dim_value_date::Timestamp, 'UTC':Varchar) as $expr1, holding_values_raw_ft.type], output_watermarks: [[holding_values_raw_ft.dim_value_date]] }
    │   ├── output: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.currency_code, holding_values_raw_ft.market_value, holding_values_raw_ft.average_cost_per_unit, holding_values_raw_ft.purchased_quantity, $expr1, holding_values_raw_ft.type ]
    │   ├── stream key: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.type ]
    │   └── StreamFilter { predicate: (holding_values_raw_ft.type = 'ASSET':Varchar) AND IsNull(holding_values_raw_ft.disabled_at) AND (Coalesce(holding_values_raw_ft.m_is_stub, false:Boolean) = false:Boolean) }
    │       ├── output: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.currency_code, holding_values_raw_ft.market_value, holding_values_raw_ft.average_cost_per_unit, holding_values_raw_ft.purchased_quantity, holding_values_raw_ft.type, holding_values_raw_ft.m_is_stub, holding_values_raw_ft.disabled_at ]
    │       ├── stream key: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.type ]
    │       └── StreamTableScan { table: holding_values_raw_ft, columns: [account_id, asset_id, dim_value_date, currency_code, market_value, average_cost_per_unit, purchased_quantity, type, m_is_stub, disabled_at] }
    │           ├── output: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.currency_code, holding_values_raw_ft.market_value, holding_values_raw_ft.average_cost_per_unit, holding_values_raw_ft.purchased_quantity, holding_values_raw_ft.type, holding_values_raw_ft.m_is_stub, holding_values_raw_ft.disabled_at ]
    │           ├── stream key: [ holding_values_raw_ft.account_id, holding_values_raw_ft.asset_id, holding_values_raw_ft.dim_value_date, holding_values_raw_ft.type ]
    │           ├── Upstream { output: [ account_id, asset_id, dim_value_date, currency_code, market_value, average_cost_per_unit, purchased_quantity, type, m_is_stub, disabled_at ], stream key: [] }
    │           └── BatchPlanNode { output: [ account_id, asset_id, dim_value_date, currency_code, market_value, average_cost_per_unit, purchased_quantity, type, m_is_stub, disabled_at ], stream key: [] }
    └── MergeExecutor { output: [ now ], stream key: [] }

Fragment 24315 (Actor 112292)
StreamNow { output: [ now ], stream key: [] }