You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**1. Setup**| Connect to system adapter via JSON-RPC (stdio or HTTP). Call `setup(run_id, datasets)` to provision the SUT, then `create_tables(run_id)`, then `query_method(run_id)` to get ADBC driver config. | No |
125
+
|**1. Setup**| Connect to system adapter via JSON-RPC (stdio or HTTP). Call `setup(run_id, datasets)` to provision the SUT and return ADBC driver config, then `create_tables(run_id)`. | No |
127
126
|**2. Benchmark (timed)**| Three sequential stages — warm-up (1× query set), baseline (10% of duration, 60s–600s), and load test (full duration with concurrent clients). | Yes |
128
127
|**3. Teardown**| Call `teardown(run_id)` via the adapter to deprovision resources and clean up. | No |
|**GitHub Actions**| Orchestrates Runs on schedule, PR, or manual dispatch. Manages the full Run lifecycle across phases. |
151
-
|**System Adapter Protocol**| JSON-RPC 2.0 interface (stdio or HTTP) for each platform. Methods: `setup`, `create_tables`, `query_method`, `teardown`, `metrics`. |
150
+
|**System Adapter Protocol**| JSON-RPC 2.0 interface (stdio or HTTP) for each platform. Methods: `setup`, `create_tables`, `teardown`, `metrics`.|
152
151
|**Query Executors**| Pluggable query execution: ADBC direct (FlightSQL/Databricks drivers), HTTP (`/v1/sql`), or distributed (`/v1/queries` with polling). |
153
152
|**Data Generator**| Standalone binary (`data-generation`) that produces TPC-H partitioned Parquet batches and writes them to S3. |
154
153
|**Test Framework**| Core engine managing the warm-up → baseline → load test pipeline, query sets (TPC-H, TPC-DS, ClickBench, parameterized, scenario), and statistics collection. |
@@ -218,9 +217,8 @@ To benchmark a new platform, implement the JSON-RPC 2.0 adapter with these metho
218
217
219
218
1.**`setup(run_id, datasets)`** — Provision infrastructure and configure the target system.
220
219
2.**`create_tables(run_id)`** — Create/register destination tables for the benchmark datasets.
221
-
3.**`query_method(run_id)`** — Return the ADBC driver type (`flightsql` or `databricks`) and connection kwargs so SpiceBench can establish a direct query connection.
222
-
4.**`teardown(run_id)`** — Clean up provisioned resources.
223
-
5.**`metrics(run_id)`***(optional)* — Return current resource usage (CPU, memory, disk, IOPS) and ingestion progress (rows, bytes, rows/s, active connections).
220
+
3.**`teardown(run_id)`** — Clean up provisioned resources.
221
+
4.**`metrics(run_id)`***(optional)* — Return current resource usage (CPU, memory, disk, IOPS) and ingestion progress (rows, bytes, rows/s, active connections).
224
222
225
223
The adapter can run as a **stdio** child process or as an **HTTP** server.
226
224
@@ -247,9 +245,8 @@ For each run, SpiceBench calls adapter JSON-RPC methods in this order:
247
245
248
246
1.`setup(run_id, datasets, metadata)`
249
247
2.`create_tables(run_id)`
250
-
3.`query_method(run_id)`
251
-
4. benchmark execution and optional periodic `metrics(run_id)` scraping
252
-
5.`teardown(run_id)`
248
+
3. benchmark execution and optional periodic `metrics(run_id)` scraping
0 commit comments