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

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

Job is idle — throughput ~0; structure shown.

7 operators
Sink · insights.pnl_by_asset_sink
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · pnl_by_asset_mv_next
2 actors
StreamScan · pnl_by_asset_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.
Sink · insights.pnl_by_asset_sink Sink insights.pnl_by_asset_s… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · pnl_by_asset_mv_next Project pnl_by_asset_mv_next — · 2 actors StreamScan · pnl_by_asset_mv_next StreamScan pnl_by_asset_mv_next 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 62355 (Actor 741554,741555)
StreamSink { type: upsert, columns: [account_group_id, dim_balance_date, type, asset_id, asset_currency_code, currency_code, total_gain_loss, unrealized_gain_loss, realized_gain_loss, fair_value_total_gain_loss, fair_value_unrealized_gain_loss, fair_value_realized_gain_loss, total_gain_loss_asset_currency, unrealized_gain_loss_asset_currency, realized_gain_loss_asset_currency, fair_value_total_gain_loss_asset_currency, fair_value_unrealized_gain_loss_asset_currency, fair_value_realized_gain_loss_asset_currency, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded(hidden), pnl_by_asset_mv_next.position_by_asset_mv_next.source_entity_type(hidden), pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.position_type_expanded(hidden), pnl_by_asset_mv_next.position_by_asset_mv_next.flag(hidden), pnl_by_asset_mv_next.position_by_asset_mv_next.position_summary_mv_next.source_entity_type(hidden), pnl_by_asset_mv_next.flow_by_asset_mv_next.dim_transaction_date(hidden), pnl_by_asset_mv_next.flow_by_asset_mv_next.asset_currency(hidden), pnl_by_asset_mv_next.flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded(hidden), pnl_by_asset_mv_next.flow_by_asset_mv_next.flag(hidden)], downstream_pk: [pnl_by_asset_mv_next.account_group_id, pnl_by_asset_mv_next.dim_balance_date, pnl_by_asset_mv_next.asset_id, pnl_by_asset_mv_next.position_type] }
├── output:
│   ┌── pnl_by_asset_mv_next.account_group_id
│   ├── pnl_by_asset_mv_next.dim_balance_date
│   ├── pnl_by_asset_mv_next.position_type
│   ├── pnl_by_asset_mv_next.asset_id
│   ├── pnl_by_asset_mv_next.asset_currency
│   ├── pnl_by_asset_mv_next.currency_code
│   ├── pnl_by_asset_mv_next.total_gain_loss
│   ├── pnl_by_asset_mv_next.unrealized_gain_loss
│   ├── pnl_by_asset_mv_next.realized_gain_loss
│   ├── pnl_by_asset_mv_next.fair_value_total_gain_loss
│   ├── pnl_by_asset_mv_next.fair_value_unrealized_gain_loss
│   ├── pnl_by_asset_mv_next.fair_value_realized_gain_loss
│   ├── pnl_by_asset_mv_next.total_gain_loss_asset_currency
│   ├── pnl_by_asset_mv_next.unrealized_gain_loss_asset_currency
│   ├── pnl_by_asset_mv_next.realized_gain_loss_asset_currency
│   ├── pnl_by_asset_mv_next.fair_value_total_gain_loss_asset_currency
│   ├── pnl_by_asset_mv_next.fair_value_unrealized_gain_loss_asset_currency
│   ├── pnl_by_asset_mv_next.fair_value_realized_gain_loss_asset_currency
│   ├── pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded
│   ├── pnl_by_asset_mv_next.position_by_asset_mv_next.source_entity_type
│   ├── pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.position_type_expanded
│   ├── pnl_by_asset_mv_next.position_by_asset_mv_next.flag
│   ├── pnl_by_asset_mv_next.position_by_asset_mv_next.position_summary_mv_next.source_entity_type
│   ├── pnl_by_asset_mv_next.flow_by_asset_mv_next.dim_transaction_date
│   ├── pnl_by_asset_mv_next.flow_by_asset_mv_next.asset_currency
│   ├── pnl_by_asset_mv_next.flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded
│   └── pnl_by_asset_mv_next.flow_by_asset_mv_next.flag
├── stream key: [ pnl_by_asset_mv_next.account_group_id, pnl_by_asset_mv_next.asset_id, pnl_by_asset_mv_next.position_type, pnl_by_asset_mv_next.currency_code, pnl_by_asset_mv_next.dim_balance_date, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded, pnl_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.position_by_asset_mv_next.source_entity_type, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.position_by_asset_mv_next.flag, pnl_by_asset_mv_next.position_by_asset_mv_next.position_summary_mv_next.source_entity_type, pnl_by_asset_mv_next.flow_by_asset_mv_next.dim_transaction_date, pnl_by_asset_mv_next.flow_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.flow_by_asset_mv_next.flag ]
└── MergeExecutor
    ├── output:
    │   ┌── pnl_by_asset_mv_next.account_group_id
    │   ├── pnl_by_asset_mv_next.dim_balance_date
    │   ├── pnl_by_asset_mv_next.position_type
    │   ├── pnl_by_asset_mv_next.asset_id
    │   ├── pnl_by_asset_mv_next.asset_currency
    │   ├── pnl_by_asset_mv_next.currency_code
    │   ├── pnl_by_asset_mv_next.total_gain_loss
    │   ├── pnl_by_asset_mv_next.unrealized_gain_loss
    │   ├── pnl_by_asset_mv_next.realized_gain_loss
    │   ├── pnl_by_asset_mv_next.fair_value_total_gain_loss
    │   ├── pnl_by_asset_mv_next.fair_value_unrealized_gain_loss
    │   ├── pnl_by_asset_mv_next.fair_value_realized_gain_loss
    │   ├── pnl_by_asset_mv_next.total_gain_loss_asset_currency
    │   ├── pnl_by_asset_mv_next.unrealized_gain_loss_asset_currency
    │   ├── pnl_by_asset_mv_next.realized_gain_loss_asset_currency
    │   ├── pnl_by_asset_mv_next.fair_value_total_gain_loss_asset_currency
    │   ├── pnl_by_asset_mv_next.fair_value_unrealized_gain_loss_asset_currency
    │   ├── pnl_by_asset_mv_next.fair_value_realized_gain_loss_asset_currency
    │   ├── pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded
    │   ├── pnl_by_asset_mv_next.position_by_asset_mv_next.source_entity_type
    │   ├── pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.position_type_expanded
    │   ├── pnl_by_asset_mv_next.position_by_asset_mv_next.flag
    │   ├── pnl_by_asset_mv_next.position_by_asset_mv_next.position_summary_mv_next.source_entity_type
    │   ├── pnl_by_asset_mv_next.flow_by_asset_mv_next.dim_transaction_date
    │   ├── pnl_by_asset_mv_next.flow_by_asset_mv_next.asset_currency
    │   ├── pnl_by_asset_mv_next.flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded
    │   └── pnl_by_asset_mv_next.flow_by_asset_mv_next.flag
    └── stream key: [ pnl_by_asset_mv_next.account_group_id, pnl_by_asset_mv_next.asset_id, pnl_by_asset_mv_next.position_type, pnl_by_asset_mv_next.currency_code, pnl_by_asset_mv_next.dim_balance_date, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded, pnl_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.position_by_asset_mv_next.source_entity_type, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.position_by_asset_mv_next.flag, pnl_by_asset_mv_next.position_by_asset_mv_next.position_summary_mv_next.source_entity_type, pnl_by_asset_mv_next.flow_by_asset_mv_next.dim_transaction_date, pnl_by_asset_mv_next.flow_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.flow_by_asset_mv_next.flag ]

Fragment 62356 (Actor 740136,740137)
StreamProject { exprs: [pnl_by_asset_mv_next.account_group_id, pnl_by_asset_mv_next.dim_balance_date, pnl_by_asset_mv_next.position_type, pnl_by_asset_mv_next.asset_id, pnl_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.currency_code, pnl_by_asset_mv_next.total_gain_loss, pnl_by_asset_mv_next.unrealized_gain_loss, pnl_by_asset_mv_next.realized_gain_loss, pnl_by_asset_mv_next.fair_value_total_gain_loss, pnl_by_asset_mv_next.fair_value_unrealized_gain_loss, pnl_by_asset_mv_next.fair_value_realized_gain_loss, pnl_by_asset_mv_next.total_gain_loss_asset_currency, pnl_by_asset_mv_next.unrealized_gain_loss_asset_currency, pnl_by_asset_mv_next.realized_gain_loss_asset_currency, pnl_by_asset_mv_next.fair_value_total_gain_loss_asset_currency, pnl_by_asset_mv_next.fair_value_unrealized_gain_loss_asset_currency, pnl_by_asset_mv_next.fair_value_realized_gain_loss_asset_currency, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded, pnl_by_asset_mv_next.position_by_asset_mv_next.source_entity_type, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.position_by_asset_mv_next.flag, pnl_by_asset_mv_next.position_by_asset_mv_next.position_summary_mv_next.source_entity_type, pnl_by_asset_mv_next.flow_by_asset_mv_next.dim_transaction_date, pnl_by_asset_mv_next.flow_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.flow_by_asset_mv_next.flag] }
├── output: [ pnl_by_asset_mv_next.account_group_id, pnl_by_asset_mv_next.dim_balance_date, pnl_by_asset_mv_next.position_type, pnl_by_asset_mv_next.asset_id, pnl_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.currency_code, pnl_by_asset_mv_next.total_gain_loss, pnl_by_asset_mv_next.unrealized_gain_loss, pnl_by_asset_mv_next.realized_gain_loss, pnl_by_asset_mv_next.fair_value_total_gain_loss, pnl_by_asset_mv_next.fair_value_unrealized_gain_loss, pnl_by_asset_mv_next.fair_value_realized_gain_loss, pnl_by_asset_mv_next.total_gain_loss_asset_currency, pnl_by_asset_mv_next.unrealized_gain_loss_asset_currency, pnl_by_asset_mv_next.realized_gain_loss_asset_currency, pnl_by_asset_mv_next.fair_value_total_gain_loss_asset_currency, pnl_by_asset_mv_next.fair_value_unrealized_gain_loss_asset_currency, pnl_by_asset_mv_next.fair_value_realized_gain_loss_asset_currency, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded, pnl_by_asset_mv_next.position_by_asset_mv_next.source_entity_type, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.position_by_asset_mv_next.flag, pnl_by_asset_mv_next.position_by_asset_mv_next.position_summary_mv_next.source_entity_type, pnl_by_asset_mv_next.flow_by_asset_mv_next.dim_transaction_date, pnl_by_asset_mv_next.flow_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.flow_by_asset_mv_next.flag ]
├── stream key: [ pnl_by_asset_mv_next.account_group_id, pnl_by_asset_mv_next.asset_id, pnl_by_asset_mv_next.position_type, pnl_by_asset_mv_next.currency_code, pnl_by_asset_mv_next.dim_balance_date, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded, pnl_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.position_by_asset_mv_next.source_entity_type, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.position_by_asset_mv_next.flag, pnl_by_asset_mv_next.position_by_asset_mv_next.position_summary_mv_next.source_entity_type, pnl_by_asset_mv_next.flow_by_asset_mv_next.dim_transaction_date, pnl_by_asset_mv_next.flow_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.flow_by_asset_mv_next.flag ]
└── StreamTableScan { table: pnl_by_asset_mv_next, columns: [account_group_id, dim_balance_date, position_type, asset_id, asset_currency, currency_code, total_gain_loss, unrealized_gain_loss, realized_gain_loss, total_gain_loss_asset_currency, unrealized_gain_loss_asset_currency, realized_gain_loss_asset_currency, fair_value_total_gain_loss, fair_value_unrealized_gain_loss, fair_value_realized_gain_loss, fair_value_total_gain_loss_asset_currency, fair_value_unrealized_gain_loss_asset_currency, fair_value_realized_gain_loss_asset_currency, position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded, position_by_asset_mv_next.source_entity_type, position_by_asset_mv_next.position_values_mv_next.position_type_expanded, position_by_asset_mv_next.flag, position_by_asset_mv_next.position_summary_mv_next.source_entity_type, flow_by_asset_mv_next.dim_transaction_date, flow_by_asset_mv_next.asset_currency, flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded, flow_by_asset_mv_next.flag] }
    ├── output: [ pnl_by_asset_mv_next.account_group_id, pnl_by_asset_mv_next.dim_balance_date, pnl_by_asset_mv_next.position_type, pnl_by_asset_mv_next.asset_id, pnl_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.currency_code, pnl_by_asset_mv_next.total_gain_loss, pnl_by_asset_mv_next.unrealized_gain_loss, pnl_by_asset_mv_next.realized_gain_loss, pnl_by_asset_mv_next.total_gain_loss_asset_currency, pnl_by_asset_mv_next.unrealized_gain_loss_asset_currency, pnl_by_asset_mv_next.realized_gain_loss_asset_currency, pnl_by_asset_mv_next.fair_value_total_gain_loss, pnl_by_asset_mv_next.fair_value_unrealized_gain_loss, pnl_by_asset_mv_next.fair_value_realized_gain_loss, pnl_by_asset_mv_next.fair_value_total_gain_loss_asset_currency, pnl_by_asset_mv_next.fair_value_unrealized_gain_loss_asset_currency, pnl_by_asset_mv_next.fair_value_realized_gain_loss_asset_currency, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded, pnl_by_asset_mv_next.position_by_asset_mv_next.source_entity_type, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.position_by_asset_mv_next.flag, pnl_by_asset_mv_next.position_by_asset_mv_next.position_summary_mv_next.source_entity_type, pnl_by_asset_mv_next.flow_by_asset_mv_next.dim_transaction_date, pnl_by_asset_mv_next.flow_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.flow_by_asset_mv_next.flag ]
    ├── stream key: [ pnl_by_asset_mv_next.account_group_id, pnl_by_asset_mv_next.asset_id, pnl_by_asset_mv_next.position_type, pnl_by_asset_mv_next.currency_code, pnl_by_asset_mv_next.dim_balance_date, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded, pnl_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.position_by_asset_mv_next.source_entity_type, pnl_by_asset_mv_next.position_by_asset_mv_next.position_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.position_by_asset_mv_next.flag, pnl_by_asset_mv_next.position_by_asset_mv_next.position_summary_mv_next.source_entity_type, pnl_by_asset_mv_next.flow_by_asset_mv_next.dim_transaction_date, pnl_by_asset_mv_next.flow_by_asset_mv_next.asset_currency, pnl_by_asset_mv_next.flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded, pnl_by_asset_mv_next.flow_by_asset_mv_next.flag ]
    ├── Upstream { output: [ account_group_id, dim_balance_date, position_type, asset_id, asset_currency, currency_code, total_gain_loss, unrealized_gain_loss, realized_gain_loss, total_gain_loss_asset_currency, unrealized_gain_loss_asset_currency, realized_gain_loss_asset_currency, fair_value_total_gain_loss, fair_value_unrealized_gain_loss, fair_value_realized_gain_loss, fair_value_total_gain_loss_asset_currency, fair_value_unrealized_gain_loss_asset_currency, fair_value_realized_gain_loss_asset_currency, position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded, position_by_asset_mv_next.source_entity_type, position_by_asset_mv_next.position_values_mv_next.position_type_expanded, position_by_asset_mv_next.flag, position_by_asset_mv_next.position_summary_mv_next.source_entity_type, flow_by_asset_mv_next.dim_transaction_date, flow_by_asset_mv_next.asset_currency, flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded, flow_by_asset_mv_next.flag ], stream key: [] }
    └── BatchPlanNode { output: [ account_group_id, dim_balance_date, position_type, asset_id, asset_currency, currency_code, total_gain_loss, unrealized_gain_loss, realized_gain_loss, total_gain_loss_asset_currency, unrealized_gain_loss_asset_currency, realized_gain_loss_asset_currency, fair_value_total_gain_loss, fair_value_unrealized_gain_loss, fair_value_realized_gain_loss, fair_value_total_gain_loss_asset_currency, fair_value_unrealized_gain_loss_asset_currency, fair_value_realized_gain_loss_asset_currency, position_by_asset_mv_next.position_values_mv_next.holding_currency_expanded, position_by_asset_mv_next.source_entity_type, position_by_asset_mv_next.position_values_mv_next.position_type_expanded, position_by_asset_mv_next.flag, position_by_asset_mv_next.position_summary_mv_next.source_entity_type, flow_by_asset_mv_next.dim_transaction_date, flow_by_asset_mv_next.asset_currency, flow_by_asset_mv_next.flow_values_mv_next.position_type_expanded, flow_by_asset_mv_next.flag ], stream key: [] }