Class TimeWindowStatisticsImpl
java.lang.Object
org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl
- All Implemented Interfaces:
TimeWindowStatistics
Immutable
Time window statistics
that uses backing SlidingWindowTimeReservoir
for its
Builder
implementation.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
Builder of time window statistics. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final long
private static final ConcurrentHashMap<Long,
TimeWindowStatisticsImpl> private final long
private final long
private final long
private final double
private final long
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
TimeWindowStatisticsImpl
(long interval, double requestsPerSecond, long minimumDuration, long maximumDuration, long averageDuration, long totalCount) private
TimeWindowStatisticsImpl
(long interval, UniformTimeSnapshot snapshot) -
Method Summary
Modifier and TypeMethodDescriptionlong
Returns the average duration (processing time) in milliseconds of the request processing measured in the time window.long
Returns the maximum duration (processing time) in milliseconds of the request processing measured in the time window.long
Returns the minimum duration (processing time) in milliseconds of the request processing measured in the time window.long
Returns the count of requests received measured in the time window.double
Returns average value of how many requests per second were received by application in the time window.long
Returns the size of time window in milliseconds.snapshot()
Get the immutable and consistent snapshot of the monitoring statistics.
-
Field Details
-
EMPTY
-
interval
private final long interval -
minimumDuration
private final long minimumDuration -
maximumDuration
private final long maximumDuration -
averageDuration
private final long averageDuration -
totalCount
private final long totalCount -
requestsPerSecond
private final double requestsPerSecond
-
-
Constructor Details
-
TimeWindowStatisticsImpl
private TimeWindowStatisticsImpl(long interval, double requestsPerSecond, long minimumDuration, long maximumDuration, long averageDuration, long totalCount) -
TimeWindowStatisticsImpl
-
-
Method Details
-
getTimeWindow
public long getTimeWindow()Description copied from interface:TimeWindowStatistics
Returns the size of time window in milliseconds. Returned value denotes in how many last milliseconds the statistics are evaluated.- Specified by:
getTimeWindow
in interfaceTimeWindowStatistics
- Returns:
- Time window in milliseconds.
-
getRequestsPerSecond
public double getRequestsPerSecond()Description copied from interface:TimeWindowStatistics
Returns average value of how many requests per second were received by application in the time window.- Specified by:
getRequestsPerSecond
in interfaceTimeWindowStatistics
- Returns:
- Average of requests per second.
-
getMinimumDuration
public long getMinimumDuration()Description copied from interface:TimeWindowStatistics
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.- Specified by:
getMinimumDuration
in interfaceTimeWindowStatistics
- Returns:
- Minimum processing time of the request or -1 if no request has been processed.
-
getMaximumDuration
public long getMaximumDuration()Description copied from interface:TimeWindowStatistics
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.- Specified by:
getMaximumDuration
in interfaceTimeWindowStatistics
- Returns:
- Maximum processing time of the request or -1 if no request has been processed.
-
getRequestCount
public long getRequestCount()Description copied from interface:TimeWindowStatistics
Returns the count of requests received measured in the time window.- Specified by:
getRequestCount
in interfaceTimeWindowStatistics
- Returns:
- Count of requests that were handled by the application.
-
snapshot
Description copied from interface:TimeWindowStatistics
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.- Specified by:
snapshot
in interfaceTimeWindowStatistics
- Returns:
- Snapshot of time window statistics.
-
getAverageDuration
public long getAverageDuration()Description copied from interface:TimeWindowStatistics
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.- Specified by:
getAverageDuration
in interfaceTimeWindowStatistics
- Returns:
- Average processing time of the request or -1 if no request has been processed.
-