cascading.stats

## Class FlowSliceStats<K extends java.lang.Enum>

- java.lang.Object
- - cascading.stats.FlowSliceStats<K>

    public abstract class FlowSliceStats<K extends java.lang.Enum>
    extends java.lang.Object

Typically CascadingStats objects have an internal state model with timings, the FlowSliceStats is a simplified Stats object and only reports what the underlying platform reports, not the client side observations.

Implementations may optionally implement the `ProvidesCounters` interface.

FlowSliceStats is provided as an abstract class so that implementations will be resilient to API additions.

- pendingTime - when the slice is created
- startTime - when the slice was told to begin work
- submitTime - when the slice was submitted to a work queue
- runTime - when work began
- finishedTime - when work ended

pending is mostly irrelevant and unavailable, start, submit, and runtime are by default synonymous at the slice level

All methods with the word 'process' like `getProcessID()`, refer to the underlying implementations value. In this example, processID is the task id this slice actually represents, where the id (`getID()` is a local guid not related to the platform implementation id to guarantee uniqueness.

### Nested Class Summary

Nested Classes
`static class` `FlowSliceStats.FlowSliceAttempt`

### Constructor Summary

Constructors
Constructor and Description
`FlowSliceStats()`

### Method Summary

Methods
`abstract java.util.Map<java.lang.Integer,FlowSliceStats.FlowSliceAttempt>` `getAttempts()`
`abstract java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Long>>` `getCounters()`
`abstract java.lang.String[]` `getDiagnostics()`
`abstract java.lang.String` `getID()`
`abstract K` `getKind()`
`abstract long` `getProcessFinishTime()`
`java.lang.String` `getProcessID()`
`abstract java.lang.String` `getProcessNodeID()`
`long` `getProcessPendingTime()`
`abstract float` `getProcessProgress()`
`long` `getProcessRunTime()`
`abstract java.lang.String` `getProcessSliceID()`
`abstract long` `getProcessStartTime()`
`abstract java.lang.String` `getProcessStatus()`
`abstract java.lang.String` `getProcessStepID()`
`long` `getProcessSubmitTime()`
`abstract CascadingStats.Status` `getStatus()`

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### FlowSliceStats

    public FlowSliceStats()

### Method Detail

#### getID

    public abstract java.lang.String getID()

#### getProcessPendingTime

    public long getProcessPendingTime()

#### getProcessStartTime

    public abstract long getProcessStartTime()

#### getProcessSubmitTime

    public long getProcessSubmitTime()

#### getProcessRunTime

    public long getProcessRunTime()

#### getProcessFinishTime

    public abstract long getProcessFinishTime()

#### getStatus

    public abstract CascadingStats.Status getStatus()

#### getKind

    public abstract K getKind()

#### getProcessID

    public java.lang.String getProcessID()

#### getProcessSliceID

    public abstract java.lang.String getProcessSliceID()

#### getProcessNodeID

    public abstract java.lang.String getProcessNodeID()

#### getProcessStepID

    public abstract java.lang.String getProcessStepID()

#### getProcessStatus

    public abstract java.lang.String getProcessStatus()

#### getProcessProgress

    public abstract float getProcessProgress()

#### getDiagnostics

    public abstract java.lang.String[] getDiagnostics()

#### getCounters

    public abstract java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Long>> getCounters()

#### getAttempts

    public abstract java.util.Map<java.lang.Integer,FlowSliceStats.FlowSliceAttempt> getAttempts()