Package org.apache.storm.scheduler
Class TopologyDetails
- java.lang.Object
-
- org.apache.storm.scheduler.TopologyDetails
-
public class TopologyDetails extends Object
-
-
Constructor Summary
Constructors Constructor Description TopologyDetails(String topologyId, Map<String,Object> topologyConf, StormTopology topology, int numWorkers, String owner)
TopologyDetails(String topologyId, Map<String,Object> topologyConf, StormTopology topology, int numWorkers, Map<ExecutorDetails,String> executorToComponents, int launchTime, String owner)
TopologyDetails(String topologyId, Map<String,Object> topologyConf, StormTopology topology, int numWorkers, Map<ExecutorDetails,String> executorToComponents, String owner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addResourcesForExec(ExecutorDetails exec, NormalizedResourceRequest resourceList)
add resource requirements for a executor.boolean
equals(Object o)
NormalizedResourceRequest
getApproximateResources(Set<ExecutorDetails> execs)
Get approximate resources for given topology executors.NormalizedResourceRequest
getApproximateTotalResources()
Get an approximate total resources needed for this topology.String
getComponentFromExecutor(ExecutorDetails exec)
Map<String,Set<ExecutorDetails>>
getComponentToExecutors()
Map<String,Object>
getConf()
Set<ExecutorDetails>
getExecutors()
Map<ExecutorDetails,String>
getExecutorToComponent()
String
getId()
int
getLaunchTime()
Get the timestamp of when this topology was launched.String
getName()
int
getNumWorkers()
Double
getOffHeapMemoryRequirement(ExecutorDetails exec)
Gets the off heap memory requirement for a certain task within a topology.Double
getOnHeapMemoryRequirement(ExecutorDetails exec)
Gets the on heap memory requirement for a certain task within a topology.double
getRequestedNonSharedOffHeap()
double
getRequestedNonSharedOnHeap()
double
getRequestedSharedOffHeap()
double
getRequestedSharedOnHeap()
Set<SharedMemory>
getSharedMemoryRequests(Collection<ExecutorDetails> executors)
Gets the total memory resource list for a set of tasks that is part of a topology.NormalizedResourceRequest
getTaskResourceReqList(ExecutorDetails exec)
get the resources requirements for a executor.StormTopology
getTopology()
int
getTopologyPriority()
get the priority of this topology.String
getTopologySubmitter()
Get the user that submitted this topology.Double
getTopologyWorkerMaxHeapSize()
Get the max heap size for a worker used by this topology.Double
getTotalCpuReqTask(ExecutorDetails exec)
Get the total CPU requirement for executor.Double
getTotalMemReqTask(ExecutorDetails exec)
Gets the total memory requirement for a task.double
getTotalRequestedCpu()
Note: The public API relevant to resource aware scheduling is unstable as of May 2015.Map<String,Double>
getTotalRequestedGenericResources()
double
getTotalRequestedMemOffHeap()
Note: The public API relevant to resource aware scheduling is unstable as of May 2015.double
getTotalRequestedMemOnHeap()
Note: The public API relevant to resource aware scheduling is unstable as of May 2015.NormalizedResourceRequest
getTotalResources(ExecutorDetails exec)
Get the total resource requirement for an executor.int
getUpTime()
Get how long this topology has been executing.Map<String,Component>
getUserTopolgyComponents()
Returns a representation of the non-system components of the topology graph.boolean
hasExecInTopo(ExecutorDetails exec)
Checks if a executor is part of this topology.int
hashCode()
boolean
hasSpouts()
Determine if there are non-system spouts.Map<ExecutorDetails,String>
selectExecutorToComponent(Collection<ExecutorDetails> executors)
String
toString()
-
-
-
Constructor Detail
-
TopologyDetails
public TopologyDetails(String topologyId, Map<String,Object> topologyConf, StormTopology topology, int numWorkers, String owner)
-
TopologyDetails
public TopologyDetails(String topologyId, Map<String,Object> topologyConf, StormTopology topology, int numWorkers, Map<ExecutorDetails,String> executorToComponents, String owner)
-
TopologyDetails
public TopologyDetails(String topologyId, Map<String,Object> topologyConf, StormTopology topology, int numWorkers, Map<ExecutorDetails,String> executorToComponents, int launchTime, String owner)
-
-
Method Detail
-
getId
public String getId()
-
getName
public String getName()
-
getNumWorkers
public int getNumWorkers()
-
getTopology
public StormTopology getTopology()
-
getExecutorToComponent
public Map<ExecutorDetails,String> getExecutorToComponent()
-
selectExecutorToComponent
public Map<ExecutorDetails,String> selectExecutorToComponent(Collection<ExecutorDetails> executors)
-
getComponentToExecutors
public Map<String,Set<ExecutorDetails>> getComponentToExecutors()
-
getExecutors
public Set<ExecutorDetails> getExecutors()
-
getUserTopolgyComponents
public Map<String,Component> getUserTopolgyComponents()
Returns a representation of the non-system components of the topology graph. Each Component object in the returning map is populated with the list of its parents, children and execs assigned to that component.- Returns:
- a map of components
-
hasSpouts
public boolean hasSpouts()
Determine if there are non-system spouts.- Returns:
- true if there is at least one non-system spout, false otherwise
-
getComponentFromExecutor
public String getComponentFromExecutor(ExecutorDetails exec)
-
getOnHeapMemoryRequirement
public Double getOnHeapMemoryRequirement(ExecutorDetails exec)
Gets the on heap memory requirement for a certain task within a topology.- Parameters:
exec
- the executor the inquiry is concerning.- Returns:
- Double the amount of on heap memory requirement for this exec in topology topoId.
-
getOffHeapMemoryRequirement
public Double getOffHeapMemoryRequirement(ExecutorDetails exec)
Gets the off heap memory requirement for a certain task within a topology.- Parameters:
exec
- the executor the inquiry is concerning.- Returns:
- Double the amount of off heap memory requirement for this exec in topology topoId.
-
getTotalMemReqTask
public Double getTotalMemReqTask(ExecutorDetails exec)
Gets the total memory requirement for a task.- Parameters:
exec
- the executor the inquiry is concerning.- Returns:
- Double the total memory requirement for this exec in topology topoId.
-
getSharedMemoryRequests
public Set<SharedMemory> getSharedMemoryRequests(Collection<ExecutorDetails> executors)
Gets the total memory resource list for a set of tasks that is part of a topology.- Parameters:
executors
- all executors for a topology- Returns:
- the set of shared memory requests.
-
getTotalResources
public NormalizedResourceRequest getTotalResources(ExecutorDetails exec)
Get the total resource requirement for an executor.- Parameters:
exec
- the executor to get the resources for.- Returns:
- Double the total about of cpu requirement for executor
-
getApproximateTotalResources
public NormalizedResourceRequest getApproximateTotalResources()
Get an approximate total resources needed for this topology. ignores shared memory.- Returns:
- the approximate total resources needed for this topology.
-
getApproximateResources
public NormalizedResourceRequest getApproximateResources(Set<ExecutorDetails> execs)
Get approximate resources for given topology executors. ignores shared memory.- Parameters:
execs
- the executors the inquiry is concerning.- Returns:
- the approximate resources for the executors.
-
getTotalCpuReqTask
public Double getTotalCpuReqTask(ExecutorDetails exec)
Get the total CPU requirement for executor.- Returns:
- generic resource mapping requirement for the executor
-
getTotalRequestedMemOnHeap
public double getTotalRequestedMemOnHeap()
Note: The public API relevant to resource aware scheduling is unstable as of May 2015. We reserve the right to change them.- Returns:
- the total on-heap memory requested for this topology
-
getRequestedSharedOnHeap
public double getRequestedSharedOnHeap()
-
getRequestedNonSharedOnHeap
public double getRequestedNonSharedOnHeap()
-
getTotalRequestedMemOffHeap
public double getTotalRequestedMemOffHeap()
Note: The public API relevant to resource aware scheduling is unstable as of May 2015. We reserve the right to change them.- Returns:
- the total off-heap memory requested for this topology
-
getRequestedNonSharedOffHeap
public double getRequestedNonSharedOffHeap()
-
getRequestedSharedOffHeap
public double getRequestedSharedOffHeap()
-
getTotalRequestedCpu
public double getTotalRequestedCpu()
Note: The public API relevant to resource aware scheduling is unstable as of May 2015. We reserve the right to change them.- Returns:
- the total cpu requested for this topology
-
getTaskResourceReqList
public NormalizedResourceRequest getTaskResourceReqList(ExecutorDetails exec)
get the resources requirements for a executor.- Parameters:
exec
- executor details- Returns:
- a map containing the resource requirements for this exec
-
hasExecInTopo
public boolean hasExecInTopo(ExecutorDetails exec)
Checks if a executor is part of this topology.- Returns:
- Boolean whether or not a certain ExecutorDetail is included in the resourceList.
-
addResourcesForExec
public void addResourcesForExec(ExecutorDetails exec, NormalizedResourceRequest resourceList)
add resource requirements for a executor.
-
getTopologyWorkerMaxHeapSize
public Double getTopologyWorkerMaxHeapSize()
Get the max heap size for a worker used by this topology.- Returns:
- the worker max heap size
-
getTopologySubmitter
public String getTopologySubmitter()
Get the user that submitted this topology.
-
getTopologyPriority
public int getTopologyPriority()
get the priority of this topology.
-
getLaunchTime
public int getLaunchTime()
Get the timestamp of when this topology was launched.
-
getUpTime
public int getUpTime()
Get how long this topology has been executing.
-
-