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

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

Job is idle — throughput ~0; structure shown.

Aggregation state — unbounded unless keyed or temporally filtered
25 operators
Materialize · alinma_bff.party_advisor_kpi_counts_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
Union
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · party_advisor_kpi_user_accounts_mv_next
2 actors
StreamScan · party_advisor_kpi_user_accounts_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · party_advisor_kpi_user_portfolios_mv_next
2 actors
StreamScan · party_advisor_kpi_user_portfolios_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · party_advisor_kpi_user_customers_mv_next
2 actors
StreamScan · party_advisor_kpi_user_customers_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.party_advisor_kpi_counts_mv Materialize alinma_bff.party_adviso… 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 Union Union idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · party_advisor_kpi_user_accounts_mv_next Project party_advisor_kpi_user_… — · 2 actors StreamScan · party_advisor_kpi_user_accounts_mv_next StreamScan party_advisor_kpi_user_… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · party_advisor_kpi_user_portfolios_mv_next Project party_advisor_kpi_user_… — · 2 actors StreamScan · party_advisor_kpi_user_portfolios_mv_next StreamScan party_advisor_kpi_user_… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · party_advisor_kpi_user_customers_mv_next Project party_advisor_kpi_user_… — · 2 actors StreamScan · party_advisor_kpi_user_customers_mv_next StreamScan party_advisor_kpi_user_… 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 63377 (Actor 746069,746070)
StreamMaterialize { columns: [user_id, clients_count, portfolios_count, accounts_count], stream_key: [user_id], pk_columns: [user_id], pk_conflict: NoCheck }
├── output: [ party_advisor_kpi_user_customers_mv_next.user_id, $expr1, $expr2, $expr3 ]
├── stream key: [ party_advisor_kpi_user_customers_mv_next.user_id ]
└── StreamProject { exprs: [party_advisor_kpi_user_customers_mv_next.user_id, sum(1:Int32)::Int32 as $expr1, sum(0:Int32)::Int32 as $expr2, sum(0:Int32)::Int32 as $expr3] }
    ├── output: [ party_advisor_kpi_user_customers_mv_next.user_id, $expr1, $expr2, $expr3 ]
    ├── stream key: [ party_advisor_kpi_user_customers_mv_next.user_id ]
    └── StreamHashAgg { group_key: [party_advisor_kpi_user_customers_mv_next.user_id], aggs: [sum(1:Int32), sum(0:Int32), sum(0:Int32), count] }
        ├── output: [ party_advisor_kpi_user_customers_mv_next.user_id, sum(1:Int32), sum(0:Int32), sum(0:Int32), count ]
        ├── stream key: [ party_advisor_kpi_user_customers_mv_next.user_id ]
        └── StreamLocalityProvider { locality_columns: [party_advisor_kpi_user_customers_mv_next.user_id] }
            ├── output:
            │   ┌── party_advisor_kpi_user_customers_mv_next.user_id
            │   ├── 1:Int32
            │   ├── 0:Int32
            │   ├── 0:Int32
            │   ├── party_advisor_kpi_user_customers_mv_next.user_id
            │   ├── party_advisor_kpi_user_customers_mv_next.party_id
            │   ├── party_advisor_kpi_user_customers_mv_next.customer_relationship_id
            │   └── $src
            ├── stream key:
            │   ┌── party_advisor_kpi_user_customers_mv_next.user_id
            │   ├── party_advisor_kpi_user_customers_mv_next.user_id
            │   ├── party_advisor_kpi_user_customers_mv_next.party_id
            │   ├── party_advisor_kpi_user_customers_mv_next.customer_relationship_id
            │   └── $src
            └── MergeExecutor
                ├── output:
                │   ┌── party_advisor_kpi_user_customers_mv_next.user_id
                │   ├── 1:Int32
                │   ├── 0:Int32
                │   ├── 0:Int32
                │   ├── party_advisor_kpi_user_customers_mv_next.user_id
                │   ├── party_advisor_kpi_user_customers_mv_next.party_id
                │   ├── party_advisor_kpi_user_customers_mv_next.customer_relationship_id
                │   └── $src
                └── stream key:
                    ┌── party_advisor_kpi_user_customers_mv_next.user_id
                    ├── party_advisor_kpi_user_customers_mv_next.party_id
                    ├── party_advisor_kpi_user_customers_mv_next.customer_relationship_id
                    └── $src

Fragment 63378 (Actor 746072,746071)
StreamUnion { all: true }
├── output:
│   ┌── party_advisor_kpi_user_customers_mv_next.user_id
│   ├── 1:Int32
│   ├── 0:Int32
│   ├── 0:Int32
│   ├── party_advisor_kpi_user_customers_mv_next.user_id
│   ├── party_advisor_kpi_user_customers_mv_next.party_id
│   ├── party_advisor_kpi_user_customers_mv_next.customer_relationship_id
│   └── $src
├── stream key:
│   ┌── party_advisor_kpi_user_customers_mv_next.user_id
│   ├── party_advisor_kpi_user_customers_mv_next.party_id
│   ├── party_advisor_kpi_user_customers_mv_next.customer_relationship_id
│   └── $src
├── MergeExecutor
│   ├── output:
│   │   ┌── party_advisor_kpi_user_customers_mv_next.user_id
│   │   ├── 1:Int32
│   │   ├── 0:Int32
│   │   ├── 0:Int32
│   │   ├── party_advisor_kpi_user_customers_mv_next.user_id
│   │   ├── party_advisor_kpi_user_customers_mv_next.party_id
│   │   ├── party_advisor_kpi_user_customers_mv_next.customer_relationship_id
│   │   └── 0:Int32
│   └── stream key:
│       ┌── party_advisor_kpi_user_customers_mv_next.user_id
│       ├── party_advisor_kpi_user_customers_mv_next.party_id
│       └── party_advisor_kpi_user_customers_mv_next.customer_relationship_id
├── MergeExecutor
│   ├── output:
│   │   ┌── party_advisor_kpi_user_portfolios_mv_next.user_id
│   │   ├── 0:Int32
│   │   ├── 1:Int32
│   │   ├── 0:Int32
│   │   ├── party_advisor_kpi_user_portfolios_mv_next.user_id
│   │   ├── party_advisor_kpi_user_portfolios_mv_next.portfolio_id
│   │   ├── null:Varchar
│   │   └── 1:Int32
│   └── stream key: [ party_advisor_kpi_user_portfolios_mv_next.user_id, party_advisor_kpi_user_portfolios_mv_next.portfolio_id ]
└── MergeExecutor
    ├── output:
    │   ┌── party_advisor_kpi_user_accounts_mv_next.user_id
    │   ├── 0:Int32
    │   ├── 0:Int32
    │   ├── 1:Int32
    │   ├── party_advisor_kpi_user_accounts_mv_next.user_id
    │   ├── party_advisor_kpi_user_accounts_mv_next.account_id
    │   ├── null:Varchar
    │   └── 2:Int32
    └── stream key: [ party_advisor_kpi_user_accounts_mv_next.user_id, party_advisor_kpi_user_accounts_mv_next.account_id ]

Fragment 63379 (Actor 745894,745895)
StreamProject { exprs: [party_advisor_kpi_user_customers_mv_next.user_id, 1:Int32, 0:Int32, 0:Int32, party_advisor_kpi_user_customers_mv_next.user_id, party_advisor_kpi_user_customers_mv_next.party_id, party_advisor_kpi_user_customers_mv_next.customer_relationship_id, 0:Int32] }
├── output: [ party_advisor_kpi_user_customers_mv_next.user_id, 1:Int32, 0:Int32, 0:Int32, party_advisor_kpi_user_customers_mv_next.user_id, party_advisor_kpi_user_customers_mv_next.party_id, party_advisor_kpi_user_customers_mv_next.customer_relationship_id, 0:Int32 ]
├── stream key: [ party_advisor_kpi_user_customers_mv_next.user_id, party_advisor_kpi_user_customers_mv_next.party_id, party_advisor_kpi_user_customers_mv_next.customer_relationship_id ]
└── StreamTableScan { table: party_advisor_kpi_user_customers_mv_next, columns: [user_id, party_id, customer_relationship_id] }
    ├── output: [ party_advisor_kpi_user_customers_mv_next.user_id, party_advisor_kpi_user_customers_mv_next.party_id, party_advisor_kpi_user_customers_mv_next.customer_relationship_id ]
    ├── stream key: [ party_advisor_kpi_user_customers_mv_next.user_id, party_advisor_kpi_user_customers_mv_next.party_id, party_advisor_kpi_user_customers_mv_next.customer_relationship_id ]
    ├── Upstream { output: [ user_id, party_id, customer_relationship_id ], stream key: [] }
    └── BatchPlanNode { output: [ user_id, party_id, customer_relationship_id ], stream key: [] }

Fragment 63380 (Actor 745897,745896)
StreamProject { exprs: [party_advisor_kpi_user_portfolios_mv_next.user_id, 0:Int32, 1:Int32, 0:Int32, party_advisor_kpi_user_portfolios_mv_next.user_id, party_advisor_kpi_user_portfolios_mv_next.portfolio_id, null:Varchar, 1:Int32] }
├── output: [ party_advisor_kpi_user_portfolios_mv_next.user_id, 0:Int32, 1:Int32, 0:Int32, party_advisor_kpi_user_portfolios_mv_next.user_id, party_advisor_kpi_user_portfolios_mv_next.portfolio_id, null:Varchar, 1:Int32 ]
├── stream key: [ party_advisor_kpi_user_portfolios_mv_next.user_id, party_advisor_kpi_user_portfolios_mv_next.portfolio_id ]
└── StreamTableScan { table: party_advisor_kpi_user_portfolios_mv_next, columns: [user_id, portfolio_id] }
    ├── output: [ party_advisor_kpi_user_portfolios_mv_next.user_id, party_advisor_kpi_user_portfolios_mv_next.portfolio_id ]
    ├── stream key: [ party_advisor_kpi_user_portfolios_mv_next.user_id, party_advisor_kpi_user_portfolios_mv_next.portfolio_id ]
    ├── Upstream { output: [ user_id, portfolio_id ], stream key: [] }
    └── BatchPlanNode { output: [ user_id, portfolio_id ], stream key: [] }

Fragment 63381 (Actor 746077,746078)
StreamProject { exprs: [party_advisor_kpi_user_accounts_mv_next.user_id, 0:Int32, 0:Int32, 1:Int32, party_advisor_kpi_user_accounts_mv_next.user_id, party_advisor_kpi_user_accounts_mv_next.account_id, null:Varchar, 2:Int32] }
├── output: [ party_advisor_kpi_user_accounts_mv_next.user_id, 0:Int32, 0:Int32, 1:Int32, party_advisor_kpi_user_accounts_mv_next.user_id, party_advisor_kpi_user_accounts_mv_next.account_id, null:Varchar, 2:Int32 ]
├── stream key: [ party_advisor_kpi_user_accounts_mv_next.user_id, party_advisor_kpi_user_accounts_mv_next.account_id ]
└── StreamTableScan { table: party_advisor_kpi_user_accounts_mv_next, columns: [user_id, account_id] }
    ├── output: [ party_advisor_kpi_user_accounts_mv_next.user_id, party_advisor_kpi_user_accounts_mv_next.account_id ]
    ├── stream key: [ party_advisor_kpi_user_accounts_mv_next.user_id, party_advisor_kpi_user_accounts_mv_next.account_id ]
    ├── Upstream { output: [ user_id, account_id ], stream key: [] }
    └── BatchPlanNode { output: [ user_id, account_id ], stream key: [] }