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

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

Job is idle — throughput ~0; structure shown.

6 operators
Materialize · insights.asset_twrr_mv
0% idle 2 actors
Project · asset_price_with_lag_mv_next
2 actors
Filter · asset_price_with_lag_mv_next
0% idle 2 actors
StreamScan · asset_price_with_lag_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.asset_twrr_mv Materialize insights.asset_twrr_mv idle · 2 actors Project · asset_price_with_lag_mv_next Project asset_price_with_lag_mv… — · 2 actors Filter · asset_price_with_lag_mv_next Filter asset_price_with_lag_mv… idle · 2 actors StreamScan · asset_price_with_lag_mv_next StreamScan asset_price_with_lag_mv… 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 54795 (Actor 740086,740085)
StreamMaterialize { columns: [asset_id, fact_date, daily_subperiod_return], stream_key: [asset_id, fact_date], pk_columns: [asset_id, fact_date], pk_conflict: NoCheck }
├── output: [ asset_price_with_lag_mv_next.asset_id, asset_price_with_lag_mv_next.fact_date, $expr1 ]
├── stream key: [ asset_price_with_lag_mv_next.asset_id, asset_price_with_lag_mv_next.fact_date ]
└── StreamProject { exprs: [asset_price_with_lag_mv_next.asset_id, asset_price_with_lag_mv_next.fact_date, ((asset_price_with_lag_mv_next.adjusted_last_close_price - asset_price_with_lag_mv_next.prev_price) / asset_price_with_lag_mv_next.prev_price) as $expr1] }
    ├── output: [ asset_price_with_lag_mv_next.asset_id, asset_price_with_lag_mv_next.fact_date, $expr1 ]
    ├── stream key: [ asset_price_with_lag_mv_next.asset_id, asset_price_with_lag_mv_next.fact_date ]
    └── StreamFilter { predicate: Not(IsNull(asset_price_with_lag_mv_next.prev_price)) AND (asset_price_with_lag_mv_next.prev_price <> 0:Decimal) }
        ├── output: [ asset_price_with_lag_mv_next.asset_id, asset_price_with_lag_mv_next.fact_date, asset_price_with_lag_mv_next.adjusted_last_close_price, asset_price_with_lag_mv_next.prev_price ]
        ├── stream key: [ asset_price_with_lag_mv_next.asset_id, asset_price_with_lag_mv_next.fact_date ]
        └── StreamTableScan { table: asset_price_with_lag_mv_next, columns: [asset_id, fact_date, adjusted_last_close_price, prev_price] }
            ├── output: [ asset_price_with_lag_mv_next.asset_id, asset_price_with_lag_mv_next.fact_date, asset_price_with_lag_mv_next.adjusted_last_close_price, asset_price_with_lag_mv_next.prev_price ]
            ├── stream key: [ asset_price_with_lag_mv_next.asset_id, asset_price_with_lag_mv_next.fact_date ]
            ├── Upstream { output: [ asset_id, fact_date, adjusted_last_close_price, prev_price ], stream key: [] }
            └── BatchPlanNode { output: [ asset_id, fact_date, adjusted_last_close_price, prev_price ], stream key: [] }