Class ConnectionStatistics

  • All Implemented Interfaces:
    java.util.EventListener, Connection.Listener, org.eclipse.jetty.util.component.Dumpable, org.eclipse.jetty.util.component.LifeCycle
    Direct Known Subclasses:
    IncludeExcludeConnectionStatistics

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

    A Connection.Listener that tracks connection statistics.

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

    The statistics for a connection are gathered when the connection is closed.

    ConnectionStatistics instances must be started to collect statistics, either as part of starting the whole component tree, or explicitly if the component tree has already been started.

    • Constructor Detail

      • ConnectionStatistics

        public ConnectionStatistics()
    • Method Detail

      • reset

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

        protected void doStart()
                        throws java.lang.Exception
        Overrides:
        doStart in class org.eclipse.jetty.util.component.AbstractLifeCycle
        Throws:
        java.lang.Exception
      • onTotalOpened

        protected void onTotalOpened​(Connection connection)
      • onConnectionOpened

        protected void onConnectionOpened​(Connection connection)
      • onTotalClosed

        protected void onTotalClosed​(Connection connection)
      • onConnectionClosed

        protected void onConnectionClosed​(Connection connection)
      • 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()
      • getConnectionStatisticsGroups

        public java.util.Map<java.lang.String,​ConnectionStatistics.Stats> getConnectionStatisticsGroups()
      • dump

        public void dump​(java.lang.Appendable out,
                         java.lang.String indent)
                  throws java.io.IOException
        Specified by:
        dump in interface org.eclipse.jetty.util.component.Dumpable
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class org.eclipse.jetty.util.component.AbstractLifeCycle