org.glassfish.jersey.server.monitoring

## Interface TimeWindowStatistics

    public interface TimeWindowStatistics

Monitoring statistics of execution of any target (resource, resource method, application). The main parameter of `TimeWindowStatistics` is the size of the time window. This is the time for which the statistics are measured (for example for time window 1 hour, the statistics are evaluated for last one hour and older statistics are dropped). The size of the time window can be retrieved by `getTimeWindow()`.

Statistics retrieved from Jersey runtime might be mutable and thanks to it might provide inconsistent data as not all statistics are updated in the same time. To retrieve the immutable and consistent statistics data the method `snapshot()` should be used.

Author:
  Miroslav Fuksa
See Also:
  `See monitoring statistics for general details about statistics.`

### Method Summary

All Methods Instance Methods Abstract Methods Deprecated Methods
`long` `getAverageDuration()` Returns the average duration (processing time) in milliseconds of the request processing measured in the time window.
`long` `getMaximumDuration()` Returns the maximum duration (processing time) in milliseconds of the request processing measured in the time window.
`long` `getMinimumDuration()` Returns the minimum duration (processing time) in milliseconds of the request processing measured in the time window.
`long` `getRequestCount()` Returns the count of requests received measured in the time window.
`double` `getRequestsPerSecond()` Returns average value of how many requests per second were received by application in the time window.
`long` `getTimeWindow()` Returns the size of time window in milliseconds.
`TimeWindowStatistics` `snapshot()` Deprecated. implementing class is immutable hence snapshot creation is not needed anymore

### Method Detail

#### getTimeWindow

    long getTimeWindow()

Returns the size of time window in milliseconds. Returned value denotes in how many last milliseconds the statistics are evaluated.

Returns:
  Time window in milliseconds.

#### getRequestsPerSecond

    double getRequestsPerSecond()

Returns average value of how many requests per second were received by application in the time window.

Returns:
  Average of requests per second.

#### getMinimumDuration

    long getMinimumDuration()

Returns the minimum duration (processing time) in milliseconds of the request processing measured in the time window. The time measures the processing of the request since the start of request processing by Jersey until the response is written or request processing fails and all resources for request processing are released.

Returns:
  Minimum processing time of the request or -1 if no request has been processed.

#### getMaximumDuration

    long getMaximumDuration()

Returns the maximum duration (processing time) in milliseconds of the request processing measured in the time window. processing of the request since the start of request processing by Jersey until the response is written or request processing fails and all resources for request processing are released.

Returns:
  Maximum processing time of the request or -1 if no request has been processed.

#### getAverageDuration

    long getAverageDuration()

Returns the average duration (processing time) in milliseconds of the request processing measured in the time window. The time measures the processing of the request since the start of request processing by Jersey until the response is written or request processing fails and all resources for request processing are released.

Returns:
  Average processing time of the request or -1 if no request has been processed.

#### getRequestCount

    long getRequestCount()

Returns the count of requests received measured in the time window.

Returns:
  Count of requests that were handled by the application.

#### snapshot

    @Deprecated
    TimeWindowStatistics snapshot()

Deprecated. implementing class is immutable hence snapshot creation is not needed anymore
Get the immutable and consistent snapshot of the monitoring statistics. Working with snapshots might have negative performance impact as snapshot must be created but ensures consistency of data over time. However, the usage of snapshot is encouraged to avoid working with inconsistent data. Not all statistics must be updated in the same time on mutable version of statistics.

Returns:
  Snapshot of time window statistics.