private JSONObject getCountersJson(Counters ctrs) throws JSONException { JSONObject countersJson = new JSONObject(); Iterator<Counters.Group> iterator = ctrs.iterator(); while(iterator.hasNext()) { Counters.Group group = iterator.next(); Iterator<Counters.Counter> groupIterator = group.iterator(); JSONObject groupJson = new JSONObject(); while(groupIterator.hasNext()) { Counters.Counter counter = groupIterator.next(); groupJson.put(counter.getDisplayName(), counter.getCounter()); } countersJson.put(group.getDisplayName(), groupJson); } return countersJson; }
sb.append(','); sb.append(group.getDisplayName()); sb.append('.'); sb.append(counter.getDisplayName());
sb.append(','); sb.append(group.getDisplayName()); sb.append('.'); sb.append(counter.getDisplayName());
/** * Increments multiple counters by their amounts in another Counters * instance. * @param other the other Counters instance */ public synchronized void incrAllCounters(Counters other) { for (Group otherGroup: other) { Group group = getGroup(otherGroup.getName()); group.setDisplayName(otherGroup.getDisplayName()); for (Counter otherCounter : otherGroup) { Counter counter = group.getCounterForName(otherCounter.getName()); counter.setDisplayName(otherCounter.getDisplayName()); counter.increment(otherCounter.getValue()); } } }
/** * Called periodically by JobTrackerMetrics to update the metrics for * this job. */ public void updateMetrics() { Counters counters = getCounters(); for (Counters.Group group : counters) { jobMetrics.setTag("group", group.getDisplayName()); for (Counters.Counter counter : group) { jobMetrics.setTag("counter", counter.getDisplayName()); jobMetrics.setMetric("value", (float) counter.getCounter()); jobMetrics.update(); } } }
/** * Return textual representation of the counter values. */ public synchronized String toString() { StringBuilder sb = new StringBuilder("Counters: " + size()); for (Group group: this) { sb.append("\n\t" + group.getDisplayName()); for (Counter counter: group) { sb.append("\n\t\t" + counter.getDisplayName() + "=" + counter.getCounter()); } } return sb.toString(); }
/** * Logs the current counter values. * @param log The log to use. */ public void log(Log log) { log.info("Counters: " + size()); for(Group group: this) { log.info(" " + group.getDisplayName()); for (Counter counter: group) { log.info(" " + counter.getDisplayName() + "=" + counter.getCounter()); } } }
/** * Return textual representation of the counter values. */ public synchronized String toString() { StringBuilder sb = new StringBuilder("Counters: " + size()); for (Group group: this) { sb.append("\n\t" + group.getDisplayName()); for (Counter counter: group) { sb.append("\n\t\t" + counter.getDisplayName() + "=" + counter.getCounter()); } } return sb.toString(); }
/** * Logs the current counter values. * @param log The log to use. */ public void log(Log log) { log.info("Counters: " + size()); for(Group group: this) { log.info(" " + group.getDisplayName()); for (Counter counter: group) { log.info(" " + counter.getDisplayName() + "=" + counter.getCounter()); } } }
/** * Logs the current counter values. * @param log The log to use. */ public void log(Log log) { log.info("Counters: " + size()); for(Group group: this) { log.info(" " + group.getDisplayName()); for (Counter counter: group) { log.info(" " + counter.getDisplayName() + "=" + counter.getCounter()); } } }
/** * Return textual representation of the counter values. */ public synchronized String toString() { StringBuilder sb = new StringBuilder("Counters: " + size()); for (Group group: this) { sb.append("\n\t" + group.getDisplayName()); for (Counter counter: group) { sb.append("\n\t\t" + counter.getDisplayName() + "=" + counter.getCounter()); } } return sb.toString(); }
/** * Convert a counters object into a JSON string */ public synchronized String makeJsonString() { Map<String, Map<String, Long>> data = new HashMap<String, Map<String, Long>>(); for (Group group : this) { Map<String, Long> groupData = new HashMap<String, Long>(); data.put(group.getDisplayName(), groupData); for (Counter counter : group) { groupData.put(counter.getDisplayName(), counter.getCounter()); } } return JSON.toString(data); }
/** * Logs the current counter values. * @param log The log to use. */ public void log(Log log) { log.info("Counters: " + size()); for(Group group: this) { log.info(" " + group.getDisplayName()); for (Counter counter: group) { log.info(" " + counter.getDisplayName() + "=" + counter.getCounter()); } } }
/** * Logs the current counter values. * @param log The log to use. */ public void log(Log log) { log.info("Counters: " + size()); for(Group group: this) { log.info(" " + group.getDisplayName()); for (Counter counter: group) { log.info(" " + counter.getDisplayName() + "=" + counter.getCounter()); } } }
/** * Logs the current counter values. * @param log The log to use. */ public void log(Log log) { log.info("Counters: " + size()); for(Group group: this) { log.info(" " + group.getDisplayName()); for (Counter counter: group) { log.info(" " + counter.getDisplayName() + "=" + counter.getCounter()); } } }
/** * Logs the current counter values. * @param log The log to use. */ public void log(Log log) { log.info("Counters: " + size()); for(Group group: this) { log.info(" " + group.getDisplayName()); for (Counter counter: group) { log.info(" " + counter.getDisplayName() + "=" + counter.getCounter()); } } }
Counters(org.apache.hadoop.mapred.Counters counters) { for(org.apache.hadoop.mapred.Counters.Group group: counters) { String name = group.getName(); CounterGroup newGroup = new CounterGroup(name, group.getDisplayName()); groups.put(name, newGroup); for(Counter counter: group) { newGroup.addCounter(counter); } } }
@Override public synchronized void incrAllCounters( org.apache.hadoop.mapred.Counters other) { for (Group otherGroup: other) { Group group = getGroup(otherGroup.getName()); group.setDisplayName(otherGroup.getDisplayName()); for (Counter otherCounter : otherGroup) { Counter counter = group.getCounterForName(otherCounter.getName()); counter.setDisplayName(otherCounter.getDisplayName()); counter.increment(otherCounter.getValue()); } } }
public void run(JobConf conf) throws Exception { _runningJob = new JobClient(conf).submitJob(conf); info("See " + _runningJob.getTrackingURL() + " for details."); _runningJob.waitForCompletion(); if(!_runningJob.isSuccessful()) { throw new Exception("Hadoop job:" + getId() + " failed!"); } // dump all counters Counters counters = _runningJob.getCounters(); for(String groupName: counters.getGroupNames()) { Counters.Group group = counters.getGroup(groupName); info("Group: " + group.getDisplayName()); for(Counter counter: group) info(counter.getDisplayName() + ":\t" + counter.getValue()); } }
public CounterGroup(Counters.Group group) { this.groupName = group.getName(); this.groupDisplayName = group.getDisplayName(); this.counterInfoMap = Maps.newHashMap(); for (Counter counter : group) { CounterInfo counterInfo = new CounterInfo(counter); counterInfoMap.put(counterInfo.getName(), counterInfo); } }