[ 
https://issues.apache.org/jira/browse/BEAM-6100?focusedWorklogId=169411&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-169411
 ]

ASF GitHub Bot logged work on BEAM-6100:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 26/Nov/18 17:47
            Start Date: 26/Nov/18 17:47
    Worklog Time Spent: 10m 
      Work Description: swegner commented on a change in pull request #7087: 
[BEAM-6100] Collect metrics properly in Load tests
URL: https://github.com/apache/beam/pull/7087#discussion_r236358209
 
 

 ##########
 File path: 
sdks/java/testing/test-utils/src/main/java/org/apache/beam/sdk/testutils/metrics/MetricsReader.java
 ##########
 @@ -70,55 +75,64 @@ public long getCounterMetric(String name, long 
defaultValue) {
     } catch (NoSuchElementException e) {
       LOG.error("Failed to get metric {}, from namespace {}", name, namespace);
     }
-    return defaultValue;
+    return ERRONEOUS_METRIC_VALUE;
   }
 
   /**
    * Return start time metric by counting the difference between "now" and min 
value from a
    * distribution metric.
    */
-  public long getStartTimeMetric(long now, String name) {
-    return this.getTimestampMetric(now, this.getDistributionMetric(name, 
DistributionType.MIN, -1));
+  public long getStartTimeMetric(String name) {
+    Iterable<MetricResult<DistributionResult>> timeDistributions = 
getDistributions(name);
+    return checkCredibility(getLowestMin(timeDistributions.iterator()));
 
 Review comment:
   Would it be better for the `checkCredibility()` call be during the iteration 
inside `getLowestMin`? Perhaps a single min result should be discarded rather 
than all results.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 169411)
    Time Spent: 1.5h  (was: 1h 20m)

> Runtime and total bytes metrics are not collected properly
> ----------------------------------------------------------
>
>                 Key: BEAM-6100
>                 URL: https://issues.apache.org/jira/browse/BEAM-6100
>             Project: Beam
>          Issue Type: Sub-task
>          Components: testing
>            Reporter: Lukasz Gajowy
>            Assignee: Lukasz Gajowy
>            Priority: Major
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Currently, we collect time (distribution) and bytes (counter) metrics from 
> one ParDo (called MetricsMonitor) that is put in pipelines in one, 
> arbitrarily chosen place (usually "in the middle" of pipeline's graph. In 
> some cases, invalid time (or total bytes count) is registered. 
> Taking [this|https://github.com/apache/beam/pull/6987#discussion_r231976671] 
> discussion into account, ideally, we'd like to:
>  - collect runtime by recording time at the root and sink(s) of the pipeline
>  - collect total bytes in a separate ParDo that allows deciding what byte 
> amount do we actually want to collect (now it's coupled to the 
> time-collecting Monitor which is inconvenient).



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

Reply via email to