public java.lang.Object getFieldValue(_Fields field) { switch (field) { case ID: return get_id(); return get_name(); return get_num_tasks(); return get_num_executors(); return get_num_workers(); return get_uptime_secs(); return get_status(); return get_storm_version(); return get_topology_version(); return get_sched_status(); return get_owner(); return get_replication_count(); return get_requested_memonheap(); return get_requested_memoffheap();
@Override public void run(Nimbus.Iface nimbus) throws Exception { List<TopologySummary> topologies = nimbus.getClusterInfo().get_topologies(); if (topologies == null || topologies.isEmpty()) { System.out.println("No topologies running."); } else { System.out.printf(MSG_FORMAT, "Topology_name", "Status", "Num_tasks", "Num_workers", "Uptime_secs", "Topology_Id", "Owner"); System.out.println("----------------------------------------------------------------------------------------"); for (TopologySummary topology : topologies) { System.out.printf(MSG_FORMAT, topology.get_name(), topology.get_status(), topology.get_num_tasks(), topology.get_num_workers(), topology.get_uptime_secs(), topology.get_id(), topology.get_owner()); } } } });
public static String getTopologyId(String name, Nimbus.Iface client) { try { ClusterSummary summary = client.getClusterInfo(); for (TopologySummary s : summary.get_topologies()) { if (s.get_name().equals(name)) { return s.get_id(); } } } catch (Exception e) { throw new RuntimeException(e); } return null; }
private void updateHistogram(ClusterSummary newSummary) { for (NimbusSummary nimbusSummary : newSummary.get_nimbuses()) { nimbusUptime.update(nimbusSummary.get_uptime_secs()); } for (SupervisorSummary summary : newSummary.get_supervisors()) { supervisorsUptime.update(summary.get_uptime_secs()); supervisorsNumWorkers.update(summary.get_num_workers()); supervisorsNumUsedWorkers.update(summary.get_num_used_workers()); supervisorsUsedMem.update(Math.round(summary.get_used_mem())); supervisorsUsedCpu.update(Math.round(summary.get_used_cpu())); supervisorsFragmentedMem.update(Math.round(summary.get_fragmented_mem())); supervisorsFragmentedCpu.update(Math.round(summary.get_fragmented_cpu())); } for (TopologySummary summary : newSummary.get_topologies()) { topologiesNumTasks.update(summary.get_num_tasks()); topologiesNumExecutors.update(summary.get_num_executors()); topologiesNumWorker.update(summary.get_num_workers()); topologiesUptime.update(summary.get_uptime_secs()); topologiesReplicationCount.update(summary.get_replication_count()); topologiesRequestedMemOnHeap.update(Math.round(summary.get_requested_memonheap())); topologiesRequestedMemOffHeap.update(Math.round(summary.get_requested_memoffheap())); topologiesRequestedCpu.update(Math.round(summary.get_requested_cpu())); topologiesAssignedMemOnHeap.update(Math.round(summary.get_assigned_memonheap())); topologiesAssignedMemOffHeap.update(Math.round(summary.get_assigned_memoffheap())); topologiesAssignedCpu.update(Math.round(summary.get_assigned_cpu())); } }
public static MetricsSample factory(Nimbus.Iface client, String topologyName) throws Exception { // "************ Sampling Metrics ***************** ClusterSummary clusterSummary = client.getClusterInfo(); // get topology info TopologySummary topSummary = getTopologySummary(clusterSummary, topologyName); int topologyExecutors = topSummary.get_num_executors(); int topologyWorkers = topSummary.get_num_workers(); int topologyTasks = topSummary.get_num_tasks(); TopologyInfo topInfo = client.getTopologyInfo(topSummary.get_id()); MetricsSample sample = getMetricsSample(topInfo); sample.numWorkers = topologyWorkers; sample.numExecutors = topologyExecutors; sample.numTasks = topologyTasks; return sample; }
private void parseResults(List<TopologySummary> topologies) { if (topologies == null) { return; } for (TopologySummary topology : topologies) { String[] result = new String[RESULTSHEAD.length]; result[0] = topology.get_name(); result[1] = topology.get_status(); result[2] = String.valueOf(topology.get_num_workers()); result[3] = String.valueOf(topology.get_uptime_secs()); results.add(result); } }
public static TopologySummary getTopologySummary(ClusterSummary cs, String name) { for (TopologySummary ts : cs.get_topologies()) { if (name.equals(ts.get_name())) { return ts; } } return null; }
public boolean checkTopologyScheduled(String topoName, ILocalCluster cluster) throws TException { if (checkTopologyUp(topoName, cluster)) { ClusterSummary sum = cluster.getClusterInfo(); for (TopologySummary topoSum : sum.get_topologies()) { if (topoSum.get_name().equals(topoName)) { String status = topoSum.get_status(); String sched_status = topoSum.get_sched_status(); if (status.equals("ACTIVE") && (sched_status != null && !sched_status.equals(""))) { return true; } } } } return false; }
private Pair<Integer, Integer> getExecutorNum(List<TopologySummary> summaries) { int currentExecutorNum = 0; int currentWorkerNum = 0; for (TopologySummary summary : summaries) { if (summary.get_name().equals(getAppName())) { currentExecutorNum = summary.get_num_executors(); currentWorkerNum = summary.get_num_workers(); } } return new Pair<Integer, Integer>(currentExecutorNum, currentWorkerNum); }
private static List<DataPoint> extractClusterMetrics(ClusterSummary summ) { List<DataPoint> ret = new ArrayList<>(); ret.add(new DataPoint("supervisors", summ.get_supervisors_size())); ret.add(new DataPoint("topologies", summ.get_topologies_size())); int totalSlots = 0; int usedSlots = 0; for (SupervisorSummary sup : summ.get_supervisors()) { usedSlots += sup.get_num_used_workers(); totalSlots += sup.get_num_workers(); } ret.add(new DataPoint("slotsTotal", totalSlots)); ret.add(new DataPoint("slotsUsed", usedSlots)); ret.add(new DataPoint("slotsFree", totalSlots - usedSlots)); int totalExecutors = 0; int totalTasks = 0; for (TopologySummary topo : summ.get_topologies()) { totalExecutors += topo.get_num_executors(); totalTasks += topo.get_num_tasks(); } ret.add(new DataPoint("executorsTotal", totalExecutors)); ret.add(new DataPoint("tasksTotal", totalTasks)); return ret; }
int totalFailed = 0; for (TopologySummary ts: summary.get_topologies()) { String id = ts.get_id(); TopologyInfo info = client.getTopologyInfo(id); for (ExecutorSummary es: info.get_executors()) {
if (topologyNames.isEmpty() || topologyNames.contains(topologySummary.get_name())) { TopologyLoadConf capturedConf = captureTopology(client, topologySummary); if (cmd.hasOption('a')) {
result.put("id", topologySummary.get_id()); result.put("encodedId", URLEncoder.encode(topologySummary.get_id())); result.put("owner", topologySummary.get_owner()); result.put("name", topologySummary.get_name()); result.put("status", topologySummary.get_status()); result.put("uptime", UIHelpers.prettyUptimeSec(topologySummary.get_uptime_secs())); result.put("uptimeSeconds", topologySummary.get_uptime_secs()); result.put("tasksTotal", topologySummary.get_num_tasks()); result.put("workersTotal", topologySummary.get_num_workers()); result.put("executorsTotal", topologySummary.get_num_executors()); result.put("replicationCount", topologySummary.get_replication_count()); result.put("schedulerInfo", topologySummary.get_sched_status()); result.put("requestedMemOnHeap", topologySummary.get_requested_memonheap()); result.put("requestedMemOffHeap", topologySummary.get_requested_memoffheap()); result.put("requestedTotalMem", topologySummary.get_requested_memoffheap() + topologySummary.get_assigned_memonheap()); result.put("requestedCpu", topologySummary.get_requested_cpu()); result.put("assignedMemOnHeap", topologySummary.get_assigned_memonheap()); result.put("assignedMemOffHeap", topologySummary.get_assigned_memoffheap()); result.put("assignedTotalMem", topologySummary.get_assigned_memoffheap() + topologySummary.get_assigned_memonheap()); result.put("assignedCpu", topologySummary.get_assigned_cpu()); result.put("topologyVersion", topologySummary.get_topology_version()); result.put("stormVersion", topologySummary.get_storm_version()); return result;
private HashSet<String> getComponents(Nimbus.Iface client, String topology) throws Exception { HashSet<String> components = new HashSet<>(); ClusterSummary clusterSummary = client.getClusterInfo(); TopologySummary topologySummary = null; for (TopologySummary ts : clusterSummary.get_topologies()) { if (topology.equals(ts.get_name())) { topologySummary = ts; break; } } if (topologySummary == null) { throw new IllegalArgumentException("topology: " + topology + " not found"); } else { String id = topologySummary.get_id(); GetInfoOptions getInfoOpts = new GetInfoOptions(); getInfoOpts.set_num_err_choice(NumErrorsChoice.NONE); TopologyInfo info = client.getTopologyInfoWithOpts(id, getInfoOpts); for (ExecutorSummary es : info.get_executors()) { components.add(es.get_component_id()); } } return components; }
if (topologyNames.isEmpty() || topologyNames.contains(topologySummary.get_name())) { TopologyLoadConf capturedConf = CaptureLoad.captureTopology(client, topologySummary); if (capturedConf.looksLikeTrident()) {
public Object getFieldValue(_Fields field) { switch (field) { case ID: return get_id(); return get_name(); return get_num_tasks(); return get_num_executors(); return get_num_workers(); return get_uptime_secs(); return get_status(); return get_sched_status(); return get_owner(); return get_replication_count(); return get_requested_memonheap(); return get_requested_memoffheap(); return get_requested_cpu(); return get_assigned_memonheap();
ClusterSummary summary = client.getClusterInfo(); for (TopologySummary topo : summary.get_topologies()) { if (topologyName.equals(topo.get_name())) { String topologyId = topo.get_id(); topologyConf = (Map<String, Object>) JSONValue.parse(client.getTopologyConf(topologyId)); LOG.info("Using topology conf from {} as basis for getting new creds", topologyId);
public boolean checkTopologyUp(String topoName, ILocalCluster cluster) throws TException { ClusterSummary sum = cluster.getClusterInfo(); for (TopologySummary topoSum : sum.get_topologies()) { if (topoSum.get_name().equals(topoName)) { return true; } } return false; } }