def apply()

in benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/parameters/BenchmarkConfig.scala [27:81]


  def apply(): BenchmarkConfig = {
    val config: Config = ConfigFactory.load().withFallback(ConfigFactory.load("benchmark-defaults"))

    val http: Config = config.getConfig("http")
    val auth: Config = config.getConfig("auth")
    val dataset: Config = config.getConfig("dataset.tree")
    val workload: Config = config.getConfig("workload")

    val connectionParams = ConnectionParameters(
      auth.getString("client-id"),
      auth.getString("client-secret"),
      http.getString("base-url")
    )

    val workloadParams = {
      val rtdConfig = workload.getConfig("read-tree-dataset")
      val ctdConfig = workload.getConfig("create-tree-dataset")
      val rutdConfig = workload.getConfig("read-update-tree-dataset")

      WorkloadParameters(
        ReadTreeDatasetParameters(
          rtdConfig.getInt("table-concurrency"),
          rtdConfig.getInt("view-concurrency")
        ),
        CreateTreeDatasetParameters(
          ctdConfig.getInt("table-concurrency"),
          ctdConfig.getInt("view-concurrency")
        ),
        ReadUpdateTreeDatasetParameters(
          rutdConfig.getDouble("read-write-ratio"),
          rutdConfig.getInt("throughput"),
          rutdConfig.getInt("duration-in-minutes")
        )
      )
    }

    val datasetParams = DatasetParameters(
      dataset.getInt("num-catalogs"),
      dataset.getString("default-base-location"),
      dataset.getInt("namespace-width"),
      dataset.getInt("namespace-depth"),
      dataset.getInt("namespace-properties"),
      dataset.getInt("tables-per-namespace"),
      dataset.getInt("max-tables"),
      dataset.getInt("columns-per-table"),
      dataset.getInt("table-properties"),
      dataset.getInt("views-per-namespace"),
      dataset.getInt("max-views"),
      dataset.getInt("columns-per-view"),
      dataset.getInt("view-properties"),
      dataset.getString("storage-config-info")
    )

    BenchmarkConfig(connectionParams, workloadParams, datasetParams)
  }