Class Snapshot

java.lang.Object
com.streambase.sb.monitor.Snapshot

public class Snapshot extends Object
Stores a snapshot of information from a StreamBase application. Snapshot objects are created by the StreamBaseMonitor class, and consumed by MonitorListeners. New snapshots are produced at regular intervals, depending on the period specified in the StreamBase Server's conf file.
See Also:
  • Field Details

    • TICKS_PER_MILLISECOND

      static final long TICKS_PER_MILLISECOND
      Reference ticks per millisecond - 1000000L
      See Also:
    • TICKS_PER_MICROSECOND

      static final long TICKS_PER_MICROSECOND
      Reference ticks per microsecond - 1000L
      See Also:
  • Constructor Details

    • Snapshot

      Snapshot(StreamBaseMonitor sbmon, boolean enableOperatorDetails)
      Constructor
      Parameters:
      sbmon - monitor
      enableOperatorDetails - true to enable operator statistics
  • Method Details

    • getContainers

      Set<String> getContainers()
      Get containers
      Returns:
      containers
    • getOpInfos

      Map<String,OperatorInfo> getOpInfos()
      Get operator information
      Returns:
      operation information
    • getThreadInfos

      Map<String,ThreadInfo> getThreadInfos()
      Get thread information
      Returns:
      thread information
    • getModuleInfos

      Map<String,ModuleInfo> getModuleInfos()
      Get module information
      Returns:
      module information
    • getStreamInfos

      Map<String,StreamInfo> getStreamInfos()
      Get stream information
      Returns:
      stream information
    • getDecisionTableInfos

      Map<String,DecisionTableInfo> getDecisionTableInfos()
      Get decision table information
      Returns:
      decision table information
    • setTimestamp

      void setTimestamp(Timestamp timestamp)
      Set timestamp of snapshot
      Parameters:
      timestamp - timestamp
    • getPreviousTimestamp

      Timestamp getPreviousTimestamp()
      Get previous timestamp value
      Returns:
      previous timestamp
    • start

      void start()
      Start snapshot processing (set begin flag)
    • haveBegin

      boolean haveBegin()
      Have begin snapshot?
      Returns:
      true if begin snapshot received
    • clearBegin

      void clearBegin()
      Clear begin flag
    • readNextMonitorSnap

      Snapshot.Status readNextMonitorSnap(StreamBaseClient sbClient, Snapshot.Source source)
      Read the next monitor snapshot, return Status if we are done or not
      Parameters:
      sbClient - client
      source - result source
      Returns:
      status if we are done or not
    • getResults

      Iterator<Tuple> getResults()
      Get results
      Returns:
      results
    • isDone

      boolean isDone(Snapshot.Source source) throws StreamBaseException
      Is result processing complete?
      Parameters:
      source - result source
      Returns:
      true if done
      Throws:
      StreamBaseException - error detecting completion
    • terminate

      public void terminate()
      Ask the StreamBaseMonitor to terminate at the end of the current snapshot.
      See Also:
    • getModName

      final String getModName(String name)
      Given a queue name, retrieve the module name.
      Parameters:
      name - queue name
      Returns:
      module name
    • getOperatorType

      Optional<String> getOperatorType(StreamBaseClient sbClient, String name)
      Get operator type
      Parameters:
      sbClient - client
      name - operator name
      Returns:
      operator type
    • containerNames

      public Set<String> containerNames()
      Return a list of the names of the current containers
      Returns:
      list of the names of the current containers
    • getSystemInfo

      public SystemInfo getSystemInfo()
      The SystemInfo object for this snapshot.
      Returns:
      the SystemInfo object
    • getOperatorInfo

      public OperatorInfo getOperatorInfo(String name)
      Returns information about the specified operator.
      Parameters:
      name - the operator name
      Returns:
      the requested OperatorInfo object
    • getDecisionTableInfo

      public DecisionTableInfo getDecisionTableInfo(String name)
      Returns information about the specified decision table.
      Parameters:
      name - the decision table name
      Returns:
      the requested DecisionTableInfo object
    • getThreadInfo

      public ThreadInfo getThreadInfo(String name)
      Returns information about the specified thread.
      Parameters:
      name - the thread name
      Returns:
      the requested ThreadInfo object
    • getModuleInfo

      public ModuleInfo getModuleInfo(String name)
      Returns information about the specified module.
      Parameters:
      name - the module name
      Returns:
      the requested ModuleInfo object
    • getStreamInfo

      public StreamInfo getStreamInfo(String name)
      Returns information about the specified stream.
      Parameters:
      name - the stream name
      Returns:
      the requested StreamInfo object
    • operatorInfos

      public Iterator<OperatorInfo> operatorInfos()
      Returns an iterator over all the OperatorInfo objects.
      Returns:
      an Iterator of OperatorInfos
      See Also:
    • operatorNames

      public Set<String> operatorNames()
      Returns the set of all operator names.
      Returns:
      Set of operator names
      See Also:
    • decisionTableInfos

      public Iterator<DecisionTableInfo> decisionTableInfos()
      Returns an iterator over all the DecisionTableInfo objects.
      Returns:
      an Iterator of DecisionTableInfo
      See Also:
    • decisionTableNames

      public Set<String> decisionTableNames()
      Returns the set of all decision table names.
      Returns:
      Set of decision table names
      See Also:
    • threadInfos

      public Iterator<ThreadInfo> threadInfos()
      Returns an iterator over all the ThreadInfo objects.
      Returns:
      an Iterator of ThreadInfos
      See Also:
    • threadNames

      public Set<String> threadNames()
      Returns the set of all thread names.
      Returns:
      Set of thread names
      See Also:
    • moduleInfos

      public Iterator<ModuleInfo> moduleInfos()
      Returns an iterator over all the ModuleInfo objects.
      Returns:
      an Iterator of ModuleInfo
      See Also:
    • moduleInfoStream

      public Stream<ModuleInfo> moduleInfoStream()
      Returns:
      The module info stream
    • moduleNames

      public Set<String> moduleNames()
      Returns the set of all thread names.
      Returns:
      Set of thread names
      See Also:
    • streamInfos

      public Iterator<StreamInfo> streamInfos()
      Returns an iterator over all the StreamInfo objects.
      Returns:
      an Iterator of StreamInfo
      See Also:
    • streamNames

      public Set<String> streamNames()
      Returns the set of all stream names.
      Returns:
      Set of stream names
      See Also:
    • getCycle

      int getCycle()
      Returns the cycle number of this snapshot. All subsequent snapshots will have an increasing cycle number. This is a monotonically increasing integer generated by the StreamBase daemon.
      Returns:
      snapshot cycle number
    • setCycle

      void setCycle(int cycle)
      Set cycle value
      Parameters:
      cycle - new value
    • getTimestamp

      public Timestamp getTimestamp()
      Return the time when this snapshot was taken. It is the timestamp of the first tuple of this snapshot.
      Returns:
      timestamp of whhen this snapshot was taken
    • reset

      protected void reset()
      Reset snapshot
    • recycle

      void recycle()
      Recycle snapshot
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • prettyPrint

      public void prettyPrint()
      Shortcut for prettyPrint(true, true, true, false).
      See Also:
      • prettyPrint(boolean,boolean,boolean,boolean)