Class SessionConnectionStatistics

java.lang.Object
com.iizix.comm.statistics.SessionConnectionStatistics
All Implemented Interfaces:
Cloneable

public class SessionConnectionStatistics extends Object implements Cloneable
Session connection statistics used on a connection basis.
Author:
Christopher Mindus
  • Field Details

    • timeStart

      public long timeStart
      The start time of the connection (never zero).
    • timeStop

      public long timeStop
      The stop time of the connection, zero for never.
    • timeLastSent

      public long timeLastSent
      The time of the last sent transaction, zero for never.
    • timeLastReceived

      public long timeLastReceived
      The time of the last received transaction, zero for never.
    • lastActivityTime

      public long lastActivityTime
      The time of the last activity (never zero).
    • bytesSent

      public long bytesSent
      Size of data sent.
    • bytesReceived

      public long bytesReceived
      Size of data received.
    • transactionsSent

      public long transactionsSent
      Count of transactions sent.
    • transactionsReceived

      public long transactionsReceived
      Count of transactions received.
    • lastPingPongDuration

      public long lastPingPongDuration
      Elapsed time in nanoseconds for last ping-pong transaction turn-around on the application level, i.e. not at system level like the heart-beat duration that measures more the "link quality". Here the value is more the server-to-app-and-back response time, including queued messages, thread switching, etc.

      The value is zero if ping-pong has not been fired yet.

    • lastHeartBeatDuration

      public long lastHeartBeatDuration
      The last web socket heart-beat duration (the PING-PONG message exchange in nanoseconds), zero for none yet.
    • properties

      public HashMap<String,String> properties
      The map of properties for the connection, null if none are present.
  • Method Details

    • getGlobalInstance

      public static SessionConnectionStatistics.Global getGlobalInstance()
      Gets a snapshot of the global instance of the transaction information for the server.
    • clone

      protected SessionConnectionStatistics clone()
      Clones this instance.
      Overrides:
      clone in class Object
    • getState

      Gets the session state, when not the "last" connection, it indicates the last state of this connection.
    • getDormantStartTime

      public long getDormantStartTime()
      Gets the time when the session began to be dormant.
      Returns:
      Zero if session is not dormant.
    • getProperties

      public Map<String,String> getProperties()
      Gets a copy of all properties of the last or current connection.
      Returns:
      The copy of the properties, or null if none are present.
    • transferProperties

      public void transferProperties(SessionConnectionStatistics other)
      Transfers properties from another instance, used when reconnecting a session.