Class RepositoryAnalyzeRequest.Builder

All Implemented Interfaces:
WithJson<RepositoryAnalyzeRequest.Builder>, ObjectBuilder<RepositoryAnalyzeRequest>
Enclosing class:
RepositoryAnalyzeRequest

public static class RepositoryAnalyzeRequest.Builder extends RequestBase.AbstractBuilder<RepositoryAnalyzeRequest.Builder> implements ObjectBuilder<RepositoryAnalyzeRequest>
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • blobCount

      public final RepositoryAnalyzeRequest.Builder blobCount(@Nullable Integer value)
      The total number of blobs to write to the repository during the test. For realistic experiments, you should set it to at least 2000.

      API name: blob_count

    • concurrency

      public final RepositoryAnalyzeRequest.Builder concurrency(@Nullable Integer value)
      The number of operations to run concurrently during the test.

      API name: concurrency

    • detailed

      public final RepositoryAnalyzeRequest.Builder detailed(@Nullable Boolean value)
      Indicates whether to return detailed results, including timing information for every operation performed during the analysis. If false, it returns only a summary of the analysis.

      API name: detailed

    • earlyReadNodeCount

      public final RepositoryAnalyzeRequest.Builder earlyReadNodeCount(@Nullable Integer value)
      The number of nodes on which to perform an early read operation while writing each blob. Early read operations are only rarely performed.

      API name: early_read_node_count

    • maxBlobSize

      public final RepositoryAnalyzeRequest.Builder maxBlobSize(@Nullable String value)
      The maximum size of a blob to be written during the test. For realistic experiments, you should set it to at least 2gb.

      API name: max_blob_size

    • maxTotalDataSize

      public final RepositoryAnalyzeRequest.Builder maxTotalDataSize(@Nullable String value)
      An upper limit on the total size of all the blobs written during the test. For realistic experiments, you should set it to at least 1tb.

      API name: max_total_data_size

    • name

      public final RepositoryAnalyzeRequest.Builder name(String value)
      Required - The name of the repository.

      API name: repository

    • rareActionProbability

      public final RepositoryAnalyzeRequest.Builder rareActionProbability(@Nullable Double value)
      The probability of performing a rare action such as an early read, an overwrite, or an aborted write on each blob.

      API name: rare_action_probability

    • rarelyAbortWrites

      public final RepositoryAnalyzeRequest.Builder rarelyAbortWrites(@Nullable Boolean value)
      Indicates whether to rarely cancel writes before they complete.

      API name: rarely_abort_writes

    • readNodeCount

      public final RepositoryAnalyzeRequest.Builder readNodeCount(@Nullable Integer value)
      The number of nodes on which to read a blob after writing.

      API name: read_node_count

    • registerOperationCount

      public final RepositoryAnalyzeRequest.Builder registerOperationCount(@Nullable Integer value)
      The minimum number of linearizable register operations to perform in total. For realistic experiments, you should set it to at least 100.

      API name: register_operation_count

    • seed

      public final RepositoryAnalyzeRequest.Builder seed(@Nullable Integer value)
      The seed for the pseudo-random number generator used to generate the list of operations performed during the test. To repeat the same set of operations in multiple experiments, use the same seed in each experiment. Note that the operations are performed concurrently so might not always happen in the same order on each run.

      API name: seed

    • timeout

      public final RepositoryAnalyzeRequest.Builder timeout(@Nullable Time value)
      The period of time to wait for the test to complete. If no response is received before the timeout expires, the test is cancelled and returns an error.

      API name: timeout

    • timeout

      The period of time to wait for the test to complete. If no response is received before the timeout expires, the test is cancelled and returns an error.

      API name: timeout

    • self

      Specified by:
      self in class RequestBase.AbstractBuilder<RepositoryAnalyzeRequest.Builder>
    • build

      public RepositoryAnalyzeRequest build()
      Specified by:
      build in interface ObjectBuilder<RepositoryAnalyzeRequest>
      Throws:
      NullPointerException - if some of the required fields are null.