Class TimeWindowStatisticsImpl

java.lang.Object
org.glassfish.jersey.server.internal.monitoring.TimeWindowStatisticsImpl
All Implemented Interfaces:
TimeWindowStatistics

final class TimeWindowStatisticsImpl extends Object implements TimeWindowStatistics
Immutable Time window statistics that uses backing SlidingWindowTimeReservoir for its Builder implementation.
  • Field Details

    • EMPTY

      private static final ConcurrentHashMap<Long,TimeWindowStatisticsImpl> 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

      private TimeWindowStatisticsImpl(long interval, UniformTimeSnapshot snapshot)
  • 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 interface TimeWindowStatistics
      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 interface TimeWindowStatistics
      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 interface TimeWindowStatistics
      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 interface TimeWindowStatistics
      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 interface TimeWindowStatistics
      Returns:
      Count of requests that were handled by the application.
    • snapshot

      public TimeWindowStatistics 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 interface TimeWindowStatistics
      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 interface TimeWindowStatistics
      Returns:
      Average processing time of the request or -1 if no request has been processed.