From 0f8b4faa50a7eee7b95f73592cc79aa340e34f9b Mon Sep 17 00:00:00 2001 From: Christian Schwarz Date: Wed, 13 Dec 2023 13:34:14 +0000 Subject: [PATCH] pagebench: scaffold --- Cargo.lock | 10 ++++++++++ Cargo.toml | 1 + pageserver/pagebench/Cargo.toml | 13 +++++++++++++ pageserver/pagebench/src/main.rs | 18 ++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 pageserver/pagebench/Cargo.toml create mode 100644 pageserver/pagebench/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index 9a367effbb..a5c879454d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3056,6 +3056,16 @@ dependencies = [ "sha2", ] +[[package]] +name = "pagebench" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "pageserver", + "utils", +] + [[package]] name = "pagectl" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index b44544d626..d162b49bed 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,6 +6,7 @@ members = [ "pageserver", "pageserver/ctl", "pageserver/client", + "pageserver/pagebench", "proxy", "safekeeper", "storage_broker", diff --git a/pageserver/pagebench/Cargo.toml b/pageserver/pagebench/Cargo.toml new file mode 100644 index 0000000000..0ae6aff691 --- /dev/null +++ b/pageserver/pagebench/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "pagebench" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +anyhow.workspace = true +clap.workspace = true + +pageserver = { path = ".." } +utils = { path = "../../libs/utils/" } diff --git a/pageserver/pagebench/src/main.rs b/pageserver/pagebench/src/main.rs new file mode 100644 index 0000000000..645a18fc95 --- /dev/null +++ b/pageserver/pagebench/src/main.rs @@ -0,0 +1,18 @@ +use clap::Parser; + +/// Component-level performance test for pageserver. +#[derive(clap::Parser)] +enum Args { + Help, +} + +fn main() { + let args = Args::parse(); + match args { + Args::Help => { + eprintln!("use flag --help"); + anyhow::Ok(()) + } + } + .unwrap() +}