Github user zentol commented on the issue:

    https://github.com/apache/flink/pull/5125
  
    There are a few reason for that:
    
    1) It keeps the `Outputs` immutable. We need all metrics to be available up 
front before creating the output, but since the OperatorIOMetricGroup is 
created in `StreamOperator#setup` (which requires the Output) this just doesn't 
work. We could create the OperatorMetricGroup before calling setup, but that 
would mean a) moving even more things into the OperatorChain (and that thing is 
loaded _as is_) b) requiring a way to pass said group to the operator (or 
living with a duplicate call to `TaskMetricGroup#addOperator`).
    
    2) It's hard to support having the same watermark for in/output" with 
pre-registered metrics, as these would by design be independent.


---

Reply via email to