Package oracle.nosql.driver.ops

# Class ReplicaStatsRequest

java.lang.Object
oracle.nosql.driver.ops.Request
oracle.nosql.driver.ops.ReplicaStatsRequest

public class ReplicaStatsRequest extends Request
Cloud service only.

Represents the argument of a `NoSQLHandle.getReplicaStats(oracle.nosql.driver.ops.ReplicaStatsRequest)` operation which returns stats information for one, or all replicas of a replicated table, returned in `ReplicaStatsResult`. This information includes a time series of replica stats, as found in `ReplicaStatsResult.ReplicaStats`.

It is possible to return a range of stats records or, by default, only the most recent stats records if startTime is not specified. Replica stats records are created on a regular basis and maintained for a period of time. Only records for time periods that have completed are returned so that a user never sees changing data for a specific range.

Since:
  5.4.13
See Also:
  - `NoSQLHandle.getReplicaStats(oracle.nosql.driver.ops.ReplicaStatsRequest)`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ReplicaStatsRequest()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `oracle.nosql.driver.ops.serde.Serializer`
  `createDeserializer(oracle.nosql.driver.ops.serde.SerializerFactory factory)`
  `oracle.nosql.driver.ops.serde.Serializer`
  `createSerializer(oracle.nosql.driver.ops.serde.SerializerFactory factory)`
  `int`
  `getLimit()`
  Returns the limit to the number of replica stats records desired.
  `String`
  `getReplicaName()`
  Gets the replica name to query the stats information or null if not set
  `long`
  `getStartTime()`
  Returns the start time to use for the request in milliseconds since the Epoch.
  `String`
  `getStartTimeString()`
  Returns the start time as an ISO 8601 formatted string.
  `String`
  `getTypeName()`
  Returns the type name of the request.
  `ReplicaStatsRequest`
  `setCompartment(String compartment)`
  Cloud service only.
  `ReplicaStatsRequest`
  `setLimit(int limit)`
  Sets the limit to the number of replica stats records per region, the default value is 1000.
  `ReplicaStatsRequest`
  `setReplicaName(String replicaName)`
  Sets the replica name to query the stats information.
  `ReplicaStatsRequest`
  `setStartTime(long startTime)`
  Sets the start time to use for the request in milliseconds since the Epoch in UTC time.
  `ReplicaStatsRequest`
  `setStartTime(String startTime)`
  Sets the start time from an ISO 8601 formatted string.
  `ReplicaStatsRequest`
  `setTableName(String tableName)`
  Sets the table name to use for the operation.
  `ReplicaStatsRequest`
  `setTimeout(int timeoutMs)`
  Sets the request timeout value, in milliseconds.
  `void`
  `validate()`

  ### Methods inherited from class oracle.nosql.driver.ops.Request

  `getCompartment, getNamespace, getRateLimitDelayedMs, getReadRateLimiter, getRetryStats, getTableName, getWriteRateLimiter, setReadRateLimiter, setWriteRateLimiter`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ReplicaStatsRequest

    public ReplicaStatsRequest()

- ## Method Details

  - ### setTableName

    public ReplicaStatsRequest setTableName(String tableName)
    Sets the table name to use for the operation.
    Parameters:
      `tableName` - the name
    Returns:
      this

  - ### setReplicaName

    public ReplicaStatsRequest setReplicaName(String replicaName)
    Sets the replica name to query the stats information. If not set, information for all replicas is returned.
    Parameters:
      `replicaName` - the replica name
    Returns:
      this

  - ### getReplicaName

    public String getReplicaName()
    Gets the replica name to query the stats information or null if not set
    Returns:
      replica name

  - ### setStartTime

    public ReplicaStatsRequest setStartTime(long startTime)
    Sets the start time to use for the request in milliseconds since the Epoch in UTC time. If no start time is set for this request the most recent complete stats records are returned, the number of records is up to limit `setLimit(int)`
    Parameters:
      `startTime` - the start time
    Returns:
      this

  - ### setStartTime

    public ReplicaStatsRequest setStartTime(String startTime)
    Sets the start time from an ISO 8601 formatted string. If timezone is not specified it is interpreted as UTC.
    Parameters:
      `startTime` - the string of a Timestamp in ISO 8601 format "uuuu-MM-dd['T'HH:mm:ss[.f..f]]".
    Returns:
      this
    Throws:
      `IllegalArgumentException` - if the startTime string is not in valid format.

  - ### getStartTime

    public long getStartTime()
    Returns the start time to use for the request in milliseconds since the Epoch.
    Returns:
      the start time

  - ### getStartTimeString

    public String getStartTimeString()
    Returns the start time as an ISO 8601 formatted string. If the start timestamp is not set, null is returned.
    Returns:
      the start time, or null if not set.

  - ### setLimit

    public ReplicaStatsRequest setLimit(int limit)
    Sets the limit to the number of replica stats records per region, the default value is 1000.
    Parameters:
      `limit` - the numeric limit
    Returns:
      this

  - ### getLimit

    public int getLimit()
    Returns the limit to the number of replica stats records desired.
    Returns:
      the end time

  - ### setCompartment

    public ReplicaStatsRequest setCompartment(String compartment)
    Cloud service only.

    Sets the name or id of a compartment to be used for this operation.

    The compartment may be specified as either a name (or path for nested compartments) or as an id (OCID). A name (vs id) can only be used when authenticated using a specific user identity. It is not available if authenticated as an Instance Principal which can be done when calling the service from a compute instance in the Oracle Cloud Infrastructure. See `SignatureProvider.createWithInstancePrincipal()`

    Parameters:
      `compartment` - the name or id. If using a nested compartment, specify the full compartment path `compartmentA.compartmentB`, but exclude the name of the root compartment (tenant).
    Returns:
      this

  - ### setTimeout

    public ReplicaStatsRequest setTimeout(int timeoutMs)
    Sets the request timeout value, in milliseconds. This overrides any default value set with `NoSQLHandleConfig.setRequestTimeout(int)`. The value must be positive.
    Parameters:
      `timeoutMs` - the timeout value, in milliseconds
    Returns:
      this
    Throws:
      `IllegalArgumentException` - if the timeout value is less than or equal to 0

  - ### validate

    public void validate()

  - ### createSerializer

    public oracle.nosql.driver.ops.serde.Serializer createSerializer(oracle.nosql.driver.ops.serde.SerializerFactory factory)

  - ### createDeserializer

    public oracle.nosql.driver.ops.serde.Serializer createDeserializer(oracle.nosql.driver.ops.serde.SerializerFactory factory)

  - ### getTypeName

    public String getTypeName()
    Description copied from class: `Request`
    Returns the type name of the request. This is used for stats.
    Specified by:
      `getTypeName` in class `Request`
    Returns:
      the type name of the request