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:
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    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.
    Deprecated.
    implementing class is immutable hence snapshot creation is not needed anymore
  • Method Details

    • 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.
      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.