dlogothetis commented on a change in pull request #110: Counter Mechanism URL: https://github.com/apache/giraph/pull/110#discussion_r342752396
########## File path: giraph-core/src/main/java/org/apache/giraph/master/BspServiceMaster.java ########## @@ -1794,6 +1804,154 @@ private void doMasterCompute() { timerContext.stop(); } + /** + * Use the counterGroupAndNames and context, to get the counter values, + * create a custom counter out of each, and add to the set of counters + * @param context Job context + * @param counterGroupAndNames List of counter names + * @param counters Set of CustomCounter which will be populated + */ + private void populateCountersFromContext(Mapper.Context context, + Map<String, Set<String>> counterGroupAndNames, + Set<CustomCounter> counters) { + Counter counter; + for (Map.Entry<String, Set<String>> entry : + counterGroupAndNames.entrySet()) { + String groupName = entry.getKey(); + for (String counterName: entry.getValue()) { + CustomCounter customCounter = new CustomCounter(groupName, counterName, + CustomCounter.AGGREGATION.SUM); + counter = context.getCounter(groupName, counterName); + customCounter.setValue(counter.getValue()); + counters.add(customCounter); + } + } + } + + /** + * Receive the counters from the workers, and aggregate them with the + * master counters. + * The aggregated counters are stored in a thrift struct + */ + private void aggregateCountersFromWorkersAndMaster() { + CustomCounters customCounters = new CustomCounters(); + // Get the stats from the all the worker selected nodes + String workerFinishedPath = getWorkerFinishedPath(getApplicationAttempt(), + getSuperstep(), true); + List<String> workerFinishedPathList = null; + // Subtract 1 for the master + // TODO - what happens when there is only 1 worker? Review comment: Please fix comment to reflect how you treat the case of 1 worker and why. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services