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

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

Job is idle — throughput ~0; structure shown.

Aggregation state — unbounded unless keyed or temporally filtered
9 operators
Materialize · alinma_bff.report_position_date_boundaries_mv
0% idle 2 actors
Project
2 actors
HashAgg Aggregation state — unbounded unless keyed or temporally filtered
0% idle 2 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · report_position_daily_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 · alinma_bff.report_position_date_boundaries_mv Materialize alinma_bff.report_posit… idle · 2 actors Project Project — · 2 actors HashAgg HashAgg idle · 2 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · report_position_daily_mv_next StreamScan report_position_daily_m… 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 64366 (Actor 747571,747572)
StreamMaterialize { columns: [portfolio_id, account_group_type, first_position_date, last_position_date], stream_key: [portfolio_id, account_group_type], pk_columns: [portfolio_id, account_group_type], pk_conflict: NoCheck }
├── output: [ report_position_daily_mv_next.portfolio_id, report_position_daily_mv_next.account_group_type, min(report_position_daily_mv_next.dim_balance_date), max(report_position_daily_mv_next.dim_balance_date) ]
├── stream key: [ report_position_daily_mv_next.portfolio_id, report_position_daily_mv_next.account_group_type ]
└── StreamProject { exprs: [report_position_daily_mv_next.portfolio_id, report_position_daily_mv_next.account_group_type, min(report_position_daily_mv_next.dim_balance_date), max(report_position_daily_mv_next.dim_balance_date)] }
    ├── output: [ report_position_daily_mv_next.portfolio_id, report_position_daily_mv_next.account_group_type, min(report_position_daily_mv_next.dim_balance_date), max(report_position_daily_mv_next.dim_balance_date) ]
    ├── stream key: [ report_position_daily_mv_next.portfolio_id, report_position_daily_mv_next.account_group_type ]
    └── StreamHashAgg { group_key: [report_position_daily_mv_next.portfolio_id, report_position_daily_mv_next.account_group_type], aggs: [min(report_position_daily_mv_next.dim_balance_date), max(report_position_daily_mv_next.dim_balance_date), count] }
        ├── output: [ report_position_daily_mv_next.portfolio_id, report_position_daily_mv_next.account_group_type, min(report_position_daily_mv_next.dim_balance_date), max(report_position_daily_mv_next.dim_balance_date), count ]
        ├── stream key: [ report_position_daily_mv_next.portfolio_id, report_position_daily_mv_next.account_group_type ]
        └── StreamLocalityProvider { locality_columns: [report_position_daily_mv_next.portfolio_id, report_position_daily_mv_next.account_group_type] }
            ├── output:
            │   ┌── report_position_daily_mv_next.portfolio_id
            │   ├── report_position_daily_mv_next.account_group_type
            │   ├── report_position_daily_mv_next.dim_balance_date
            │   ├── report_position_daily_mv_next.portfolio_to_account_groups_mv.account_group_id
            │   ├── report_position_daily_mv_next.portfolio_to_account_groups_mv.$src
            │   ├── report_position_daily_mv_next.position_summary_mv_next.source_entity_type
            │   ├── report_position_daily_mv_next.currency_code
            │   └── report_position_daily_mv_next.position_summary_mv_next.position_type
            ├── stream key:
            │   ┌── report_position_daily_mv_next.portfolio_id
            │   ├── report_position_daily_mv_next.account_group_type
            │   ├── report_position_daily_mv_next.portfolio_to_account_groups_mv.account_group_id
            │   ├── report_position_daily_mv_next.portfolio_to_account_groups_mv.$src
            │   ├── report_position_daily_mv_next.position_summary_mv_next.source_entity_type
            │   ├── report_position_daily_mv_next.dim_balance_date
            │   ├── report_position_daily_mv_next.currency_code
            │   └── report_position_daily_mv_next.position_summary_mv_next.position_type
            └── MergeExecutor
                ├── output:
                │   ┌── report_position_daily_mv_next.portfolio_id
                │   ├── report_position_daily_mv_next.account_group_type
                │   ├── report_position_daily_mv_next.dim_balance_date
                │   ├── report_position_daily_mv_next.portfolio_to_account_groups_mv.account_group_id
                │   ├── report_position_daily_mv_next.portfolio_to_account_groups_mv.$src
                │   ├── report_position_daily_mv_next.position_summary_mv_next.source_entity_type
                │   ├── report_position_daily_mv_next.currency_code
                │   └── report_position_daily_mv_next.position_summary_mv_next.position_type
                └── stream key:
                    ┌── report_position_daily_mv_next.portfolio_to_account_groups_mv.account_group_id
                    ├── report_position_daily_mv_next.portfolio_id
                    ├── report_position_daily_mv_next.portfolio_to_account_groups_mv.$src
                    ├── report_position_daily_mv_next.position_summary_mv_next.source_entity_type
                    ├── report_position_daily_mv_next.dim_balance_date
                    ├── report_position_daily_mv_next.currency_code
                    └── report_position_daily_mv_next.position_summary_mv_next.position_type

Fragment 64367 (Actor 747573,747574)
StreamTableScan { table: report_position_daily_mv_next, columns: [portfolio_id, account_group_type, dim_balance_date, portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.$src, position_summary_mv_next.source_entity_type, currency_code, position_summary_mv_next.position_type] }
├── output:
│   ┌── report_position_daily_mv_next.portfolio_id
│   ├── report_position_daily_mv_next.account_group_type
│   ├── report_position_daily_mv_next.dim_balance_date
│   ├── report_position_daily_mv_next.portfolio_to_account_groups_mv.account_group_id
│   ├── report_position_daily_mv_next.portfolio_to_account_groups_mv.$src
│   ├── report_position_daily_mv_next.position_summary_mv_next.source_entity_type
│   ├── report_position_daily_mv_next.currency_code
│   └── report_position_daily_mv_next.position_summary_mv_next.position_type
├── stream key:
│   ┌── report_position_daily_mv_next.portfolio_to_account_groups_mv.account_group_id
│   ├── report_position_daily_mv_next.portfolio_id
│   ├── report_position_daily_mv_next.portfolio_to_account_groups_mv.$src
│   ├── report_position_daily_mv_next.position_summary_mv_next.source_entity_type
│   ├── report_position_daily_mv_next.dim_balance_date
│   ├── report_position_daily_mv_next.currency_code
│   └── report_position_daily_mv_next.position_summary_mv_next.position_type
├── Upstream { output: [ portfolio_id, account_group_type, dim_balance_date, portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.$src, position_summary_mv_next.source_entity_type, currency_code, position_summary_mv_next.position_type ], stream key: [] }
└── BatchPlanNode { output: [ portfolio_id, account_group_type, dim_balance_date, portfolio_to_account_groups_mv.account_group_id, portfolio_to_account_groups_mv.$src, position_summary_mv_next.source_entity_type, currency_code, position_summary_mv_next.position_type ], stream key: [] }