Class ServerLoad

java.lang.Object
org.apache.geode.cache.server.ServerLoad
All Implemented Interfaces:
Serializable, DataSerializable

public final class ServerLoad extends Object implements DataSerializable
A data object containing the load information for a cache server. This object is returned from ServerLoadProbe.getLoad(ServerMetrics) and indicates how heavily loaded the server is. The values returned by getConnectionLoad() and getSubscriptionConnectionLoad() can be any number greater than 0. A larger load value means that the server has more load. The values returned by getLoadPerConnection() and getLoadPerSubscriptionConnection are used to estimate the effect of new connections before the connects are actually made to this server. The load is estimated as load + loadPerConnection*numAdditionalConnections.
Since:
GemFire 5.7
See Also:
  • Constructor Details

    • ServerLoad

      public ServerLoad(float connectionLoad, float loadPerConnection, float subscriptionConnectionLoad, float loadPerSubscriptionConnection)
    • ServerLoad

      public ServerLoad()
  • Method Details

    • getConnectionLoad

      public float getConnectionLoad()
      Get the load on the server due to client to server connections.
      Returns:
      a float greater than or equals to 0
    • getLoadPerConnection

      public float getLoadPerConnection()
      Get an estimate of the how much load each new connection will add to this server. The locator uses this information to estimate the load on the server before it receives a new load snapshot.
      Returns:
      a float greater than or equals to 0
    • getSubscriptionConnectionLoad

      public float getSubscriptionConnectionLoad()
      Get the load on the server due to subscription connections.
      Returns:
      a float greater than or equals to 0
    • getLoadPerSubscriptionConnection

      public float getLoadPerSubscriptionConnection()
      Get an estimate of the how much load each new subscriber will add to this server. The locator uses this information to estimate the load on the server before it receives a new load snapshot.
      Returns:
      a float greater than or equals to 0
    • setConnectionLoad

      public void setConnectionLoad(float connectionLoad)
      Set the load due to client to server connections.
      Parameters:
      connectionLoad - the load due to client to server connections
    • setSubscriptionConnectionLoad

      public void setSubscriptionConnectionLoad(float subscriberLoad)
      Set the load due to client subscriptions.
      Parameters:
      subscriberLoad - he load due to client subscriptions
    • setLoadPerConnection

      public void setLoadPerConnection(float loadPerConnection)
      Set the estimated load per connection.
      Parameters:
      loadPerConnection - the estimated load per connection
    • setLoadPerSubscriptionConnection

      public void setLoadPerSubscriptionConnection(float loadPerSubscriber)
      Set the estimated load per subscription connection.
      Parameters:
      loadPerSubscriber - the estimated load per subscription connection
    • toData

      public void toData(DataOutput out) throws IOException
      Description copied from interface: DataSerializable
      Writes the state of this object as primitive data to the given DataOutput.

      Since 5.7 it is possible for any method call to the specified DataOutput to throw GemFireRethrowable. It should not be caught by user code. If it is it must be rethrown.

      Specified by:
      toData in interface DataSerializable
      Parameters:
      out - the DataOutput to write to
      Throws:
      IOException - A problem occurs while writing to out
    • fromData

      public void fromData(DataInput in) throws IOException, ClassNotFoundException
      Description copied from interface: DataSerializable
      Reads the state of this object as primitive data from the given DataInput.
      Specified by:
      fromData in interface DataSerializable
      Parameters:
      in - the DataInput to read from
      Throws:
      IOException - A problem occurs while reading from in
      ClassNotFoundException - A class could not be loaded while reading from in
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object