# Class Summariser

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.reporters.Summariser

All Implemented Interfaces:
  `Serializable, Cloneable, NoThreadClone, Searchable, Remoteable, SampleListener, TestElement, TestStateListener`

public class Summariser extends AbstractTestElement implements Serializable, SampleListener, TestStateListener, NoThreadClone, Remoteable
Generate a summary of the test run so far to the log file and/or standard output. Both running and differential totals are shown. Output is generated every n seconds (default 30 seconds (property summariser.interval)) on the appropriate time boundary, so that multiple test runs on the same time will be synchronised. This is mainly intended for batch (non-GUI) runs FIXME : Docs below are outdated, need fixing Note that the `SummariserRunningSample` start and end times relate to the samples, not the reporting interval. Since the first sample in a delta is likely to have started in the previous reporting interval, this means that the delta interval is likely to be longer than the reporting interval. Also, the sum of the delta intervals will be larger than the overall elapsed time. Data is accumulated according to the test element name.

See Also:
  - Serialized Form

## Field Summary

### Fields inherited from interface TestElement

`COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

## Constructor Summary

Constructors
Constructor
Description
`Summariser()`
`Summariser(String name)`
Constructor for use during startup (intended for non-GUI use)

## Method Summary

Modifier and Type
Method
Description
`void`
`sampleOccurred(SampleEvent e)`
Accumulates the sample in two SampleResult objects - one for running totals, and the other for deltas.
`void`
`sampleStarted(SampleEvent e)`
A sample has started.
`void`
`sampleStopped(SampleEvent e)`
A sample has stopped.
`void`
`testEnded()`
Called once for all threads after the end of a test.
`void`
`testEnded(String host)`
Called from a different thread as testStarted() but using the same instance.
`void`
`testStarted()`
Called just before the start of the test from the main engine thread.
`void`
`testStarted(String host)`
Called once for each Summariser in the test plan.

### Methods inherited from class AbstractTestElement

`addPropertiesValues, addProperty, addProperty, addTestElement, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty`

### Methods inherited from class Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Summariser

public Summariser()

### Summariser

public Summariser(String name)
Constructor for use during startup (intended for non-GUI use)

Parameters:
  `name` - of summariser

## Method Details

### sampleOccurred

public void sampleOccurred(SampleEvent e)
Accumulates the sample in two SampleResult objects - one for running totals, and the other for deltas.

Specified by:
  `sampleOccurred` in interface `SampleListener`
Parameters:
  `e` - the `SampleEvent` that has occurred
See Also:
  - `SampleListener.sampleOccurred(org.apache.jmeter.samplers.SampleEvent)`

### sampleStarted

public void sampleStarted(SampleEvent e)
A sample has started.

Specified by:
  `sampleStarted` in interface `SampleListener`
Parameters:
  `e` - the `SampleEvent` that has started

### sampleStopped

public void sampleStopped(SampleEvent e)
A sample has stopped.

Specified by:
  `sampleStopped` in interface `SampleListener`
Parameters:
  `e` - the `SampleEvent` that has stopped

### testStarted

public void testStarted()

Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

N.B. testStarted() and testEnded() are called from different threads.

Specified by:
  `testStarted` in interface `TestStateListener`
See Also:
  - `StandardJMeterEngine.run()`

### testEnded

public void testEnded()

Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

N.B. testStarted() and testEnded() are called from different threads.

Specified by:
  `testEnded` in interface `TestStateListener`
See Also:
  - `StandardJMeterEngine.stopTest()`

### testStarted

public void testStarted(String host)
Called once for each Summariser in the test plan. There may be more than one summariser with the same name, however they will all be called before the test proper starts.

However, note that this applies to a single test only. When running in client-server mode, testStarted() may be invoked after sampleOccurred().

Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

N.B. testStarted() and testEnded() are called from different threads.

Specified by:
  `testStarted` in interface `TestStateListener`
Parameters:
  `host` - name of host
See Also:
  - `StandardJMeterEngine.run()`

### testEnded

public void testEnded(String host)
Called from a different thread as testStarted() but using the same instance. So synch is needed to fetch the accumulator, and the myName field will already be set up.

Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

N.B. testStarted() and testEnded() are called from different threads.

Specified by:
  `testEnded` in interface `TestStateListener`
Parameters:
  `host` - name of host
See Also:
  - `StandardJMeterEngine.stopTest()`