This is an automated email from the ASF dual-hosted git repository.

pingtimeout pushed a commit to branch benchmarks-ppc
in repository https://gitbox.apache.org/repos/asf/polaris-tools.git

commit 83db995aa896bd900b787eb8625c48a0d27fa42a
Author: Pierre Laporte <pie...@pingtimeout.fr>
AuthorDate: Mon Jun 2 18:12:05 2025 +0200

    Add a parameter for namespace throughput reads
---
 benchmarks/src/gatling/resources/benchmark-defaults.conf             | 5 +++++
 .../org/apache/polaris/benchmarks/parameters/BenchmarkConfig.scala   | 1 +
 .../polaris/benchmarks/parameters/ReadTreeDatasetParameters.scala    | 3 +++
 .../org/apache/polaris/benchmarks/simulations/ReadTreeDataset.scala  | 3 ++-
 4 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/benchmarks/src/gatling/resources/benchmark-defaults.conf 
b/benchmarks/src/gatling/resources/benchmark-defaults.conf
index e25937d..dced98c 100644
--- a/benchmarks/src/gatling/resources/benchmark-defaults.conf
+++ b/benchmarks/src/gatling/resources/benchmark-defaults.conf
@@ -138,6 +138,11 @@ workload {
 
   # Configuration for the ReadTreeDataset simulation
   read-tree-dataset {
+    # Number of namespace operations to perform simultaneously
+    # This controls the concurrency level for namespace operations
+    # Default: 20
+    namespace-concurrency = 20
+
     # Number of table operations to perform simultaneously
     # This controls the concurrency level for table operations
     # Default: 20
diff --git 
a/benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/parameters/BenchmarkConfig.scala
 
b/benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/parameters/BenchmarkConfig.scala
index 728b7c5..40d841b 100644
--- 
a/benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/parameters/BenchmarkConfig.scala
+++ 
b/benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/parameters/BenchmarkConfig.scala
@@ -51,6 +51,7 @@ object BenchmarkConfig {
           ccConfig.getInt("duration-in-minutes")
         ),
         ReadTreeDatasetParameters(
+          rtdConfig.getInt("namespace-concurrency"),
           rtdConfig.getInt("table-concurrency"),
           rtdConfig.getInt("view-concurrency")
         ),
diff --git 
a/benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/parameters/ReadTreeDatasetParameters.scala
 
b/benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/parameters/ReadTreeDatasetParameters.scala
index 82c1aa0..4af93e3 100644
--- 
a/benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/parameters/ReadTreeDatasetParameters.scala
+++ 
b/benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/parameters/ReadTreeDatasetParameters.scala
@@ -22,13 +22,16 @@ package org.apache.polaris.benchmarks.parameters
 /**
  * Case class to hold the parameters for the ReadTreeDataset simulation.
  *
+ * @param namespaceThroughput The number of namespace operations to perform 
per second.
  * @param tableThroughput The number of table operations to perform per second.
  * @param viewThroughput The number of view operations to perform per second.
  */
 case class ReadTreeDatasetParameters(
+    namespaceThroughput: Int,
     tableThroughput: Int,
     viewThroughput: Int
 ) {
+  require(namespaceThroughput >= 0, "Namespace throughput cannot be negative")
   require(tableThroughput >= 0, "Table throughput cannot be negative")
   require(viewThroughput >= 0, "View throughput cannot be negative")
 }
diff --git 
a/benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/simulations/ReadTreeDataset.scala
 
b/benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/simulations/ReadTreeDataset.scala
index 6c04cb6..379f6e3 100644
--- 
a/benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/simulations/ReadTreeDataset.scala
+++ 
b/benchmarks/src/gatling/scala/org/apache/polaris/benchmarks/simulations/ReadTreeDataset.scala
@@ -155,6 +155,7 @@ class ReadTreeDataset extends Simulation {
     .disableCaching
 
   // Get the configured throughput for tables and views
+  private val namespaceThroughput = wp.readTreeDataset.namespaceThroughput
   private val tableThroughput = wp.readTreeDataset.tableThroughput
   private val viewThroughput = wp.readTreeDataset.viewThroughput
 
@@ -163,7 +164,7 @@ class ReadTreeDataset extends Simulation {
     waitForAuthentication
       .inject(atOnceUsers(1))
       .andThen(verifyCatalogs.inject(atOnceUsers(1)).protocols(httpProtocol))
-      
.andThen(verifyNamespaces.inject(atOnceUsers(dp.nsDepth)).protocols(httpProtocol))
+      
.andThen(verifyNamespaces.inject(atOnceUsers(namespaceThroughput)).protocols(httpProtocol))
       
.andThen(verifyTables.inject(atOnceUsers(tableThroughput)).protocols(httpProtocol))
       
.andThen(verifyViews.inject(atOnceUsers(viewThroughput)).protocols(httpProtocol))
       
.andThen(stopRefreshingToken.inject(atOnceUsers(1)).protocols(httpProtocol))

Reply via email to