List<String> topologys = cluster.active_storms();
for (String topologyId : topologys) {
StormMonitor monitor = null;
boolean metricPerf = true;
Assignment assignment = null;
try {
monitor = cluster.get_storm_monitor(topologyId);
if (monitor != null) metricPerf = monitor.getMetrics();
assignment = cluster.assignment_info(topologyId, null);
} catch (Exception e) {
LOG.error("Error when retrieving monitor status and assignment info "
+ "for " + topologyId, e);
continue;
}
if (assignment != null) {
Set<Integer> taskSet = new HashSet<Integer>();
Set<Integer> workerSet = new HashSet<Integer>();
//Retrieve task set
Set<Integer> tempTaskSet = assignment.getCurrentSuperviosrTasks(supervisorId);
taskSet.addAll(tempTaskSet);
//Retrieve worker set
Set<Integer> tempWorkerSet = assignment.getCurrentSuperviosrWorkers(supervisorId);
workerSet.addAll(tempWorkerSet);
//Build KV Map for AliMonitor
buildTaskJsonMsg(topologyId, taskSet, metricPerf);
buildWorkerJsonMsg(topologyId, workerSet, metricPerf);