Class ConnectionStatistics

java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.io.ConnectionStatistics
All Implemented Interfaces:
Connection.Listener, Dumpable, LifeCycle
Direct Known Subclasses:
IncludeExcludeConnectionStatistics, ServerConnectionStatistics

@ManagedObject("Tracks statistics on connections") public class ConnectionStatistics extends AbstractLifeCycle implements Connection.Listener, Dumpable

A Connection.Listener that tracks connection statistics.

Adding an instance of this class as a bean to a server Connector (for the server) or to HttpClient (for the client) will trigger the tracking of the connection statistics for all connections managed by the server Connector or by HttpClient.

  • Field Details

    • _connections

      private final CounterStatistic _connections
    • _connectionsDuration

      private final SampleStatistic _connectionsDuration
    • _bytesIn

      private final LongAdder _bytesIn
    • _bytesOut

      private final LongAdder _bytesOut
    • _messagesIn

      private final LongAdder _messagesIn
    • _messagesOut

      private final LongAdder _messagesOut
    • _bytesInRate

      private final RateCounter _bytesInRate
    • _bytesOutRate

      private final RateCounter _bytesOutRate
    • _messagesInRate

      private final RateCounter _messagesInRate
    • _messagesOutRate

      private final RateCounter _messagesOutRate
  • Constructor Details

    • ConnectionStatistics

      public ConnectionStatistics()
  • Method Details

    • reset

      @ManagedOperation(value="Resets the statistics", impact="ACTION") public void reset()
    • doStart

      protected void doStart() throws Exception
      Overrides:
      doStart in class AbstractLifeCycle
      Throws:
      Exception
    • onOpened

      public void onOpened(Connection connection)
      Specified by:
      onOpened in interface Connection.Listener
    • onClosed

      public void onClosed(Connection connection)
      Specified by:
      onClosed in interface Connection.Listener
    • getReceivedBytes

      @ManagedAttribute("Total number of bytes received by tracked connections") public long getReceivedBytes()
    • getReceivedBytesRate

      @ManagedAttribute("Total number of bytes received per second since the last invocation of this method") public long getReceivedBytesRate()
    • getSentBytes

      @ManagedAttribute("Total number of bytes sent by tracked connections") public long getSentBytes()
    • getSentBytesRate

      @ManagedAttribute("Total number of bytes sent per second since the last invocation of this method") public long getSentBytesRate()
    • getConnectionDurationMax

      @ManagedAttribute("The max duration of a connection in ms") public long getConnectionDurationMax()
    • getConnectionDurationMean

      @ManagedAttribute("The mean duration of a connection in ms") public double getConnectionDurationMean()
    • getConnectionDurationStdDev

      @ManagedAttribute("The standard deviation of the duration of a connection") public double getConnectionDurationStdDev()
    • getConnectionsTotal

      @ManagedAttribute("The total number of connections opened") public long getConnectionsTotal()
    • getConnections

      @ManagedAttribute("The current number of open connections") public long getConnections()
    • getConnectionsMax

      @ManagedAttribute("The max number of open connections") public long getConnectionsMax()
    • getReceivedMessages

      @ManagedAttribute("The total number of messages received") public long getReceivedMessages()
    • getReceivedMessagesRate

      @ManagedAttribute("Total number of messages received per second since the last invocation of this method") public long getReceivedMessagesRate()
    • getSentMessages

      @ManagedAttribute("The total number of messages sent") public long getSentMessages()
    • getSentMessagesRate

      @ManagedAttribute("Total number of messages sent per second since the last invocation of this method") public long getSentMessagesRate()
    • dump

      public String dump()
      Specified by:
      dump in interface Dumpable
    • dump

      public void dump(Appendable out, String indent) throws IOException
      Description copied from interface: Dumpable
      Dump this object (and children) into an Appendable using the provided indent after any new lines. The indent should not be applied to the first object dumped.
      Specified by:
      dump in interface Dumpable
      Parameters:
      out - The appendable to dump to
      indent - The indent to apply after any new lines.
      Throws:
      IOException - if unable to write to Appendable
    • toString

      public String toString()
      Overrides:
      toString in class AbstractLifeCycle