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

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

Job is idle — throughput ~0; structure shown.

6 operators
Materialize · opportunity.opportunity_metadata_mv
0% idle 2 actors
Project · opportunities_dm
2 actors
Filter · opportunities_dm
0% idle 2 actors
StreamScan · opportunities_dm
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 · opportunity.opportunity_metadata_mv Materialize opportunity.opportunity… idle · 2 actors Project · opportunities_dm Project opportunities_dm — · 2 actors Filter · opportunities_dm Filter opportunities_dm idle · 2 actors StreamScan · opportunities_dm StreamScan opportunities_dm 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 60808 (Actor 739014,739015)
StreamMaterialize { columns: [opportunity_id, opportunity_resource, name, type_label_id, priority, days_to_expiry], stream_key: [opportunity_id], pk_columns: [opportunity_id], pk_conflict: NoCheck }
├── output: [ opportunities_dm.opportunity_id, opportunities_dm.opportunity_resource, opportunities_dm.name, opportunities_dm.type_label_id, opportunities_dm.priority, opportunities_dm.days_to_expiry ]
├── stream key: [ opportunities_dm.opportunity_id ]
└── StreamProject { exprs: [opportunities_dm.opportunity_id, opportunities_dm.opportunity_resource, opportunities_dm.name, opportunities_dm.type_label_id, opportunities_dm.priority, opportunities_dm.days_to_expiry] }
    ├── output: [ opportunities_dm.opportunity_id, opportunities_dm.opportunity_resource, opportunities_dm.name, opportunities_dm.type_label_id, opportunities_dm.priority, opportunities_dm.days_to_expiry ]
    ├── stream key: [ opportunities_dm.opportunity_id ]
    └── StreamFilter { predicate: (opportunities_dm.status = 'ENABLED':Varchar) }
        ├── output:
        │   ┌── opportunities_dm.opportunity_id
        │   ├── opportunities_dm.name
        │   ├── opportunities_dm.days_to_expiry
        │   ├── opportunities_dm.opportunity_resource
        │   ├── opportunities_dm.type_label_id
        │   ├── opportunities_dm.priority
        │   └── opportunities_dm.status
        ├── stream key: [ opportunities_dm.opportunity_id ]
        └── StreamTableScan { table: opportunities_dm, columns: [opportunity_id, name, days_to_expiry, opportunity_resource, type_label_id, priority, status] }
            ├── output:
            │   ┌── opportunities_dm.opportunity_id
            │   ├── opportunities_dm.name
            │   ├── opportunities_dm.days_to_expiry
            │   ├── opportunities_dm.opportunity_resource
            │   ├── opportunities_dm.type_label_id
            │   ├── opportunities_dm.priority
            │   └── opportunities_dm.status
            ├── stream key: [ opportunities_dm.opportunity_id ]
            ├── Upstream { output: [ opportunity_id, name, days_to_expiry, opportunity_resource, type_label_id, priority, status ], stream key: [] }
            └── BatchPlanNode { output: [ opportunity_id, name, days_to_expiry, opportunity_resource, type_label_id, priority, status ], stream key: [] }