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

  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()`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### 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 Details

  - ### getId

    public String getId()

  - ### getName

    public String getName()

  - ### getConf

    public Map<String,Object> getConf()

  - ### 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

  - ### getTotalRequestedGenericResources

    public Map<String,Double> getTotalRequestedGenericResources()

  - ### 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.

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### equals

    public boolean equals(Object o)
    Overrides:
      `equals` in class `Object`