cascading.stats
Class CascadingStats

java.lang.Object
  extended by cascading.stats.CascadingStats
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
CascadeStats, FlowStats, FlowStepStats

public abstract class CascadingStats
extends Object
implements Serializable

Class CascadingStats is the base class for all Cascading statistics gathering. It also reports the status of core elements that have state.

There are eight states the stats object reports; PENDING, SKIPPED, STARTED, SUBMITTED, RUNNING, SUCCESSFUL, STOPPED, and FAILED.

CascadingStats also reports four unique timestamps.

A unit of work is considered finished when the Flow or Cascade is no longer processing a workload and successful, failed, or stopped is true.

See Also:
CascadeStats, FlowStats, FlowStepStats, Serialized Form

Nested Class Summary
static class CascadingStats.Status
           
 
Field Summary
protected  ClientState clientState
           
static String STATS_STORE_INTERVAL
           
 
Constructor Summary
protected CascadingStats(String name, ClientState clientState)
           
 
Method Summary
abstract  void captureDetail()
          Method captureDetail will recursively capture details about nested systems.
 void cleanup()
          Method cleanup destroys any resources allocated by this instance.
abstract  Collection getChildren()
          Method getChildren returns any relevant child statistics instances.
abstract  Collection<String> getCounterGroups()
          Method getCounterGroups returns all the available counter group names.
abstract  Collection<String> getCounterGroupsMatching(String regex)
          Method getCounterGroupsMatching returns all the available counter group names that match the given regular expression.
 Collection<String> getCountersFor(Class<? extends Enum> group)
          Method getCountersFor returns all the counter names for the counter Enum.
abstract  Collection<String> getCountersFor(String group)
          Method getCountersFor returns all the counter names for the give group name.
abstract  long getCounterValue(Enum counter)
          Method getCounter returns the current value for the given counter Enum.
abstract  long getCounterValue(String group, String counter)
          Method getCounter returns the current value for the given group and counter.
 long getCurrentDuration()
          Method getCurrentDuration returns the current duration of the current work whether or not the work is finished.
 long getDuration()
          Method getDuration returns the duration the work executed before being finished.
 long getFinishedTime()
          Method getFinishedTime returns the finishedTime of this CascadingStats object.
abstract  String getID()
          Method getID returns the ID of this CascadingStats object.
 String getName()
          Method getName returns the name of this CascadingStats object.
 long getPendingTime()
          Method getPendingTime returns the pendingTime of this CascadingStats object.
 long getRunTime()
          Method getRunTime returns the runTime of this CascadingStats object.
 long getStartTime()
          Method getStartTime returns the startTime of this CascadingStats object.
protected  String getStatsString()
           
 CascadingStats.Status getStatus()
          Method getStatus returns the CascadingStats.Status of this CascadingStats object.
 long getSubmitTime()
          Method getSubmitTime returns the submitTime of this CascadingStats object.
 Throwable getThrowable()
          Method getThrowable returns the throwable of this CascadingStats object.
 boolean isEngaged()
          Method isEngaged returns true when there is work being executed, if isStarted(), isSubmitted(), or isRunning() returns true;
 boolean isFailed()
          Method isFailed returns true when the work ended with an error.
 boolean isFinished()
          Method isFinished returns true if the current status shows no work currently being executed, if isSkipped(), isSuccessful(), isFailed(), or isStopped() returns true.
 boolean isPending()
          Method isPending returns true if no work has been submitted.
 boolean isRunning()
          Method isRunning returns true when work has begun.
 boolean isSkipped()
          Method isSkipped returns true when the works was skipped.
 boolean isStarted()
          Method isStarted returns true when work has started.
 boolean isStopped()
          Method isStopped returns true when the user stopped the work.
 boolean isSubmitted()
          Method isSubmitted returns true if no work has started.
 boolean isSuccessful()
          Method isSuccessful returns true when work has completed successfully.
 void markFailed(Throwable throwable)
          Method markFailed sets the status to CascadingStats.Status.FAILED.
 void markPending()
          Method markPending sets the status to CascadingStats.Status.PENDING.
protected  void markPendingTime()
           
 void markRunning()
          Method markRunning sets the status to CascadingStats.Status.RUNNING.
protected  void markRunTime()
           
 void markSkipped()
          Method markSkipped sets the status to CascadingStats.Status.SKIPPED.
 void markStarted()
          Method markStarted sets the status to CascadingStats.Status.STARTED.
 void markStartedThenRunning()
          Method markStartedThenRunning consecutively marks the status as CascadingStats.Status.STARTED then CascadingStats.Status.RUNNING and forces the start and running time to be equals.
protected  void markStartTime()
           
protected  void markStartToRunTime()
           
 void markStopped()
          Method markStopped sets the status to CascadingStats.Status.STOPPED.
 void markSubmitted()
          Method markSubmitted sets the status to CascadingStats.Status.SUBMITTED.
protected  void markSubmitTime()
           
 void markSuccessful()
          Method markSuccessful sets the status to CascadingStats.Status.SUCCESSFUL.
 void prepare()
          Method prepare initializes this instance.
abstract  void recordInfo()
           
 void recordStats()
          Method recordStats forces recording of current status information.
static void setStatsStoreInterval(Map<Object,Object> properties, long intervalMs)
          Method setStatsStoreInterval sets the interval time between store operations against the underlying document storage services.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

STATS_STORE_INTERVAL

public static final String STATS_STORE_INTERVAL
See Also:
Constant Field Values

clientState

protected final ClientState clientState
Constructor Detail

CascadingStats

protected CascadingStats(String name,
                         ClientState clientState)
Method Detail

setStatsStoreInterval

public static void setStatsStoreInterval(Map<Object,Object> properties,
                                         long intervalMs)
Method setStatsStoreInterval sets the interval time between store operations against the underlying document storage services. This affects the rate at which metrics and status information is updated.

Parameters:
properties - of type Properties
intervalMs - milliseconds between storage calls

prepare

public void prepare()
Method prepare initializes this instance.


cleanup

public void cleanup()
Method cleanup destroys any resources allocated by this instance.


getID

public abstract String getID()
Method getID returns the ID of this CascadingStats object.

Returns:
the ID (type Object) of this CascadingStats object.

getName

public String getName()
Method getName returns the name of this CascadingStats object.

Returns:
the name (type String) of this CascadingStats object.

getThrowable

public Throwable getThrowable()
Method getThrowable returns the throwable of this CascadingStats object.

Returns:
the throwable (type Throwable) of this CascadingStats object.

isPending

public boolean isPending()
Method isPending returns true if no work has been submitted.

Returns:
the pending (type boolean) of this CascadingStats object.

isSkipped

public boolean isSkipped()
Method isSkipped returns true when the works was skipped.

Flows are skipped if the appropriate FlowSkipStrategy.skipFlow(Flow) returns true;

Returns:
the skipped (type boolean) of this CascadingStats object.

isStarted

public boolean isStarted()
Method isStarted returns true when work has started.

Returns:
the started (type boolean) of this CascadingStats object.

isSubmitted

public boolean isSubmitted()
Method isSubmitted returns true if no work has started.

Returns:
the submitted (type boolean) of this CascadingStats object.

isRunning

public boolean isRunning()
Method isRunning returns true when work has begun.

Returns:
the running (type boolean) of this CascadingStats object.

isEngaged

public boolean isEngaged()
Method isEngaged returns true when there is work being executed, if isStarted(), isSubmitted(), or isRunning() returns true;

Returns:
the engaged (type boolean) of this CascadingStats object.

isSuccessful

public boolean isSuccessful()
Method isSuccessful returns true when work has completed successfully.

Returns:
the completed (type boolean) of this CascadingStats object.

isFailed

public boolean isFailed()
Method isFailed returns true when the work ended with an error.

Returns:
the failed (type boolean) of this CascadingStats object.

isStopped

public boolean isStopped()
Method isStopped returns true when the user stopped the work.

Returns:
the stopped (type boolean) of this CascadingStats object.

isFinished

public boolean isFinished()
Method isFinished returns true if the current status shows no work currently being executed, if isSkipped(), isSuccessful(), isFailed(), or isStopped() returns true.

Returns:
the finished (type boolean) of this CascadingStats object.

getStatus

public CascadingStats.Status getStatus()
Method getStatus returns the CascadingStats.Status of this CascadingStats object.

Returns:
the status (type Status) of this CascadingStats object.

recordStats

public void recordStats()
Method recordStats forces recording of current status information.


recordInfo

public abstract void recordInfo()

markPending

public void markPending()
Method markPending sets the status to CascadingStats.Status.PENDING.


markPendingTime

protected void markPendingTime()

markStartedThenRunning

public void markStartedThenRunning()
Method markStartedThenRunning consecutively marks the status as CascadingStats.Status.STARTED then CascadingStats.Status.RUNNING and forces the start and running time to be equals.


markStartToRunTime

protected void markStartToRunTime()

markStarted

public void markStarted()
Method markStarted sets the status to CascadingStats.Status.STARTED.


markStartTime

protected void markStartTime()

markSubmitted

public void markSubmitted()
Method markSubmitted sets the status to CascadingStats.Status.SUBMITTED.


markSubmitTime

protected void markSubmitTime()

markRunning

public void markRunning()
Method markRunning sets the status to CascadingStats.Status.RUNNING.


markRunTime

protected void markRunTime()

markSuccessful

public void markSuccessful()
Method markSuccessful sets the status to CascadingStats.Status.SUCCESSFUL.


markFailed

public void markFailed(Throwable throwable)
Method markFailed sets the status to CascadingStats.Status.FAILED.

Parameters:
throwable - of type Throwable

markStopped

public void markStopped()
Method markStopped sets the status to CascadingStats.Status.STOPPED.


markSkipped

public void markSkipped()
Method markSkipped sets the status to CascadingStats.Status.SKIPPED.


getPendingTime

public long getPendingTime()
Method getPendingTime returns the pendingTime of this CascadingStats object.

Returns:
the pendingTime (type long) of this CascadingStats object.

getStartTime

public long getStartTime()
Method getStartTime returns the startTime of this CascadingStats object.

Returns:
the startTime (type long) of this CascadingStats object.

getSubmitTime

public long getSubmitTime()
Method getSubmitTime returns the submitTime of this CascadingStats object.

Returns:
the submitTime (type long) of this CascadingStats object.

getRunTime

public long getRunTime()
Method getRunTime returns the runTime of this CascadingStats object.

Returns:
the runTime (type long) of this CascadingStats object.

getFinishedTime

public long getFinishedTime()
Method getFinishedTime returns the finishedTime of this CascadingStats object.

Returns:
the finishedTime (type long) of this CascadingStats object.

getDuration

public long getDuration()
Method getDuration returns the duration the work executed before being finished.

This method will return zero until the work is finished. See getCurrentDuration() if you wish to poll for the current duration value.

Duration is calculated as finishedTime - startTime.

Returns:
the duration (type long) of this CascadingStats object.

getCurrentDuration

public long getCurrentDuration()
Method getCurrentDuration returns the current duration of the current work whether or not the work is finished. When finished, the return value will be the same as getDuration().

Duration is calculated as finishedTime - startTime.

Returns:
the currentDuration (type long) of this CascadingStats object.

getCounterGroups

public abstract Collection<String> getCounterGroups()
Method getCounterGroups returns all the available counter group names.

Returns:
the counterGroups (type Collection) of this CascadingStats object.

getCounterGroupsMatching

public abstract Collection<String> getCounterGroupsMatching(String regex)
Method getCounterGroupsMatching returns all the available counter group names that match the given regular expression.

Parameters:
regex - of type String
Returns:
Collection

getCountersFor

public abstract Collection<String> getCountersFor(String group)
Method getCountersFor returns all the counter names for the give group name.

Parameters:
group -
Returns:
Collection

getCountersFor

public Collection<String> getCountersFor(Class<? extends Enum> group)
Method getCountersFor returns all the counter names for the counter Enum.

Parameters:
group -
Returns:
Collection

getCounterValue

public abstract long getCounterValue(Enum counter)
Method getCounter returns the current value for the given counter Enum.

Parameters:
counter - of type Enum
Returns:
the current counter value

getCounterValue

public abstract long getCounterValue(String group,
                                     String counter)
Method getCounter returns the current value for the given group and counter.

Parameters:
group - of type String
counter - of type String
Returns:
the current counter value

captureDetail

public abstract void captureDetail()
Method captureDetail will recursively capture details about nested systems. Use this method to persist statistics about a given Cascade, Flow, or FlowStep.

Each CascadingStats object must be individually inspected for any system specific details.


getChildren

public abstract Collection getChildren()
Method getChildren returns any relevant child statistics instances. They may not be of type CascadingStats, but instead platform specific.

Returns:
a Collection of child statistics

getStatsString

protected String getStatsString()

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2007-2015 Concurrent, Inc. All Rights Reserved.