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

← cluster crm_service objects tasks_dm explain
Overview Objects Graph History
table · crm_service.tasks_dm profiled over 5s
seconds (1–30)

Job is idle — throughput ~0; structure shown.

14 operators
Materialize · crm_service.tasks_dm
0% idle 2 actors
Union
0% idle 2 actors
UpstreamSinkUnion
1% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Dml
0% idle 2 actors
Source
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamCdcScan · public
0% idle 1 actor
Merge
1 actor
Exchange
0% idle 0 actors
CdcFilter
0% idle 1 actor
Merge
1 actor
Heat = the operator's output-buffer backpressure over the sampling window. Click a node to fold its subtree.
Materialize · crm_service.tasks_dm Materialize crm_service.tasks_dm idle · 2 actors Union Union idle · 2 actors UpstreamSinkUnion UpstreamSinkUnion idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Dml Dml idle · 2 actors Source Source idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamCdcScan · public StreamCdcScan public idle · 1 actor Merge Merge — · 1 actor Exchange Exchange idle · 0 actors CdcFilter CdcFilter idle · 1 actor Merge Merge — · 1 actor
Streaming operator plan from EXPLAIN ANALYZE. Node heat = backpressure. Drag to pan, scroll to zoom.
Fragments (DESCRIBE FRAGMENTS) — click to expand
Fragment 36853 (Actor 741877,741876)
StreamMaterialize { columns: [task_id, name, description, due_date, assignee_id, status, priority, resource_account_id, resource_client_id, resource_portfolio_id, resource_referral_id, resource_draft_account_id, resource_party_id, created_by, updated_by, disabled_at, disabled_reason, is_automated, automation_type, automated_unique_key, trigger_conditions, recurrence, completion_note, updated_fields, is_overdue, created_at, updated_at], stream_key: [task_id], pk_columns: [task_id], pk_conflict: Overwrite }
├── output:
│   ┌── public.tasks_dm.task_id
│   ├── public.tasks_dm.name
│   ├── public.tasks_dm.description
│   ├── public.tasks_dm.due_date
│   ├── public.tasks_dm.assignee_id
│   ├── public.tasks_dm.status
│   ├── public.tasks_dm.priority
│   ├── public.tasks_dm.resource_account_id
│   ├── public.tasks_dm.resource_client_id
│   ├── public.tasks_dm.resource_portfolio_id
│   ├── public.tasks_dm.resource_referral_id
│   ├── public.tasks_dm.resource_draft_account_id
│   ├── public.tasks_dm.resource_party_id
│   ├── public.tasks_dm.created_by
│   ├── public.tasks_dm.updated_by
│   ├── public.tasks_dm.disabled_at
│   ├── public.tasks_dm.disabled_reason
│   ├── public.tasks_dm.is_automated
│   ├── public.tasks_dm.automation_type
│   ├── public.tasks_dm.automated_unique_key
│   ├── public.tasks_dm.trigger_conditions
│   ├── public.tasks_dm.recurrence
│   ├── public.tasks_dm.completion_note
│   ├── public.tasks_dm.updated_fields
│   ├── public.tasks_dm.is_overdue
│   ├── public.tasks_dm.created_at
│   └── public.tasks_dm.updated_at
├── stream key: [ public.tasks_dm.task_id ]
└── StreamUnion { all: true }
    ├── output:
    │   ┌── public.tasks_dm.task_id
    │   ├── public.tasks_dm.name
    │   ├── public.tasks_dm.description
    │   ├── public.tasks_dm.due_date
    │   ├── public.tasks_dm.assignee_id
    │   ├── public.tasks_dm.status
    │   ├── public.tasks_dm.priority
    │   ├── public.tasks_dm.resource_account_id
    │   ├── public.tasks_dm.resource_client_id
    │   ├── public.tasks_dm.resource_portfolio_id
    │   ├── public.tasks_dm.resource_referral_id
    │   ├── public.tasks_dm.resource_draft_account_id
    │   ├── public.tasks_dm.resource_party_id
    │   ├── public.tasks_dm.created_by
    │   ├── public.tasks_dm.updated_by
    │   ├── public.tasks_dm.disabled_at
    │   ├── public.tasks_dm.disabled_reason
    │   ├── public.tasks_dm.is_automated
    │   ├── public.tasks_dm.automation_type
    │   ├── public.tasks_dm.automated_unique_key
    │   ├── public.tasks_dm.trigger_conditions
    │   ├── public.tasks_dm.recurrence
    │   ├── public.tasks_dm.completion_note
    │   ├── public.tasks_dm.updated_fields
    │   ├── public.tasks_dm.is_overdue
    │   ├── public.tasks_dm.created_at
    │   └── public.tasks_dm.updated_at
    ├── stream key: []
    ├── MergeExecutor
    │   ├── output:
    │   │   ┌── public.tasks_dm.task_id
    │   │   ├── public.tasks_dm.name
    │   │   ├── public.tasks_dm.description
    │   │   ├── public.tasks_dm.due_date
    │   │   ├── public.tasks_dm.assignee_id
    │   │   ├── public.tasks_dm.status
    │   │   ├── public.tasks_dm.priority
    │   │   ├── public.tasks_dm.resource_account_id
    │   │   ├── public.tasks_dm.resource_client_id
    │   │   ├── public.tasks_dm.resource_portfolio_id
    │   │   ├── public.tasks_dm.resource_referral_id
    │   │   ├── public.tasks_dm.resource_draft_account_id
    │   │   ├── public.tasks_dm.resource_party_id
    │   │   ├── public.tasks_dm.created_by
    │   │   ├── public.tasks_dm.updated_by
    │   │   ├── public.tasks_dm.disabled_at
    │   │   ├── public.tasks_dm.disabled_reason
    │   │   ├── public.tasks_dm.is_automated
    │   │   ├── public.tasks_dm.automation_type
    │   │   ├── public.tasks_dm.automated_unique_key
    │   │   ├── public.tasks_dm.trigger_conditions
    │   │   ├── public.tasks_dm.recurrence
    │   │   ├── public.tasks_dm.completion_note
    │   │   ├── public.tasks_dm.updated_fields
    │   │   ├── public.tasks_dm.is_overdue
    │   │   ├── public.tasks_dm.created_at
    │   │   └── public.tasks_dm.updated_at
    │   └── stream key: [ public.tasks_dm.task_id ]
    ├── MergeExecutor { output: [ task_id, name, description, due_date, assignee_id, status, priority, resource_account_id, resource_client_id, resource_portfolio_id, resource_referral_id, resource_draft_account_id, resource_party_id, created_by, updated_by, disabled_at, disabled_reason, is_automated, automation_type, automated_unique_key, trigger_conditions, recurrence, completion_note, updated_fields, is_overdue, created_at, updated_at ], stream key: [] }
    └── StreamUpstreamSinkUnion { output: [ task_id, name, description, due_date, assignee_id, status, priority, resource_account_id, resource_client_id, resource_portfolio_id, resource_referral_id, resource_draft_account_id, resource_party_id, created_by, updated_by, disabled_at, disabled_reason, is_automated, automation_type, automated_unique_key, trigger_conditions, recurrence, completion_note, updated_fields, is_overdue, created_at, updated_at ], stream key: [] }

Fragment 36854 (Actor 741878)
StreamCdcTableScan { table: public.tasks_dm, columns: [task_id, name, description, due_date, assignee_id, status, priority, resource_account_id, resource_client_id, resource_portfolio_id, resource_referral_id, resource_draft_account_id, resource_party_id, created_by, updated_by, disabled_at, disabled_reason, is_automated, automation_type, automated_unique_key, trigger_conditions, recurrence, completion_note, updated_fields, is_overdue, created_at, updated_at] }
├── output:
│   ┌── public.tasks_dm.task_id
│   ├── public.tasks_dm.name
│   ├── public.tasks_dm.description
│   ├── public.tasks_dm.due_date
│   ├── public.tasks_dm.assignee_id
│   ├── public.tasks_dm.status
│   ├── public.tasks_dm.priority
│   ├── public.tasks_dm.resource_account_id
│   ├── public.tasks_dm.resource_client_id
│   ├── public.tasks_dm.resource_portfolio_id
│   ├── public.tasks_dm.resource_referral_id
│   ├── public.tasks_dm.resource_draft_account_id
│   ├── public.tasks_dm.resource_party_id
│   ├── public.tasks_dm.created_by
│   ├── public.tasks_dm.updated_by
│   ├── public.tasks_dm.disabled_at
│   ├── public.tasks_dm.disabled_reason
│   ├── public.tasks_dm.is_automated
│   ├── public.tasks_dm.automation_type
│   ├── public.tasks_dm.automated_unique_key
│   ├── public.tasks_dm.trigger_conditions
│   ├── public.tasks_dm.recurrence
│   ├── public.tasks_dm.completion_note
│   ├── public.tasks_dm.updated_fields
│   ├── public.tasks_dm.is_overdue
│   ├── public.tasks_dm.created_at
│   └── public.tasks_dm.updated_at
├── stream key: [ public.tasks_dm.task_id ]
└── MergeExecutor { output: [ payload, _rw_offset, _rw_table_name ], stream key: [] }

Fragment 36855 (Actor 741635)
StreamCdcFilter { output: [ payload, _rw_offset, _rw_table_name ], stream key: [] }
└── Upstream { output: [ payload, _rw_offset, _rw_table_name ], stream key: [] }

Fragment 36856 (Actor 741879,741880)
StreamDml { columns: [task_id, name, description, due_date, assignee_id, status, priority, resource_account_id, resource_client_id, resource_portfolio_id, resource_referral_id, resource_draft_account_id, resource_party_id, created_by, updated_by, disabled_at, disabled_reason, is_automated, automation_type, automated_unique_key, trigger_conditions, recurrence, completion_note, updated_fields, is_overdue, created_at, updated_at] }
├── output: [ task_id, name, description, due_date, assignee_id, status, priority, resource_account_id, resource_client_id, resource_portfolio_id, resource_referral_id, resource_draft_account_id, resource_party_id, created_by, updated_by, disabled_at, disabled_reason, is_automated, automation_type, automated_unique_key, trigger_conditions, recurrence, completion_note, updated_fields, is_overdue, created_at, updated_at ]
├── stream key: []
└── StreamSource { output: [ task_id, name, description, due_date, assignee_id, status, priority, resource_account_id, resource_client_id, resource_portfolio_id, resource_referral_id, resource_draft_account_id, resource_party_id, created_by, updated_by, disabled_at, disabled_reason, is_automated, automation_type, automated_unique_key, trigger_conditions, recurrence, completion_note, updated_fields, is_overdue, created_at, updated_at ], stream key: [] }