You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/06/04 10:10:00 UTC

[jira] [Commented] (FLINK-8160) Extend OperatorHarness to expose metrics

    [ https://issues.apache.org/jira/browse/FLINK-8160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16500001#comment-16500001 ] 

ASF GitHub Bot commented on FLINK-8160:
---------------------------------------

Github user zentol commented on the issue:

    https://github.com/apache/flink/pull/6047
  
    No, this still doesn't work.
    
    The MetricGroup you're trying to expose is created in `AbstractStreamOperator#setup`. However, the parent MetricGroup retrieved through `Environment#getMetricGroup` is null since this method is never mocked for the `MockEnvironment` in `AbstractStreamOperatorTestHarness`.  Thus, in  `AbstractStreamOperator#setup` we're entering the fail-safe block which creates a dummy `MetricGroup` that never stores anything.
    As such no metric can actually be retrieved from the `MetricGroup`.
    
    Please, ask questions if you don't know to fix an issue, or hot verify the fix. And at the very least try it out _once_, otherwise you're just wasting the committers' time.
    
    For a proper solution you have to create a `TaskMetricGroup` in the `AbstractStreamOperatorTestHarness`, which you then use in the `MockEnvironment` by returning it from `Environment#getMetricGroup`
    With this scheme however metrics are only available while the task hasn't been closed (as metrics are cleaned up), so for better usability your `TaskMetricGroup` must override `TaskMetricGroup#getOperator` to return a special `OperatorMetricGroup` that also stores registered metrics in the `AbstractStreamOperatorTestHarness`. We do not store them indefinitely in the `OperatorMetricGroup` since that would change one of the core behaviors of the `MetricGroup`. Finally, add a `getMetrics` method to the `AbstractStreamOperatorTestHarness` to actually access registered metrics.



> Extend OperatorHarness to expose metrics
> ----------------------------------------
>
>                 Key: FLINK-8160
>                 URL: https://issues.apache.org/jira/browse/FLINK-8160
>             Project: Flink
>          Issue Type: Improvement
>          Components: Metrics, Streaming
>            Reporter: Chesnay Schepler
>            Assignee: Tuo Wang
>            Priority: Major
>             Fix For: 1.6.0
>
>
> To better test interactions between operators and metrics the harness should expose the metrics registered by the operator.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)