Class TopologyDetails


  • public class TopologyDetails
    extends Object
    • Method Detail

      • getId

        public String getId()
      • getName

        public String getName()
      • getNumWorkers

        public int getNumWorkers()
      • 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
      • 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.
      • 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.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object