From 59241647abeb46eec288f231a4ace9022be5046d Mon Sep 17 00:00:00 2001 From: Richard Melkonian Date: Thu, 10 Apr 2025 13:43:54 +0100 Subject: [PATCH 1/6] feat: make howzit run local or live net --- Cargo.lock | 2 + benches/howzit/Cargo.toml | 18 ++++---- benches/howzit/howzit/Move.toml | 4 +- benches/howzit/src/bin/howzit-bench.rs | 63 +++++++++++++++++++++----- benches/howzit/src/howzit.rs | 30 +++++++----- 5 files changed, 84 insertions(+), 33 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8d3818e70..afe8d9fbc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8468,6 +8468,8 @@ dependencies = [ "chrono", "futures", "godfig", + "movement-config", + "once_cell", "rand 0.7.3", "serde", "tokio", diff --git a/benches/howzit/Cargo.toml b/benches/howzit/Cargo.toml index 91aa30480..4c7c2e059 100644 --- a/benches/howzit/Cargo.toml +++ b/benches/howzit/Cargo.toml @@ -16,21 +16,23 @@ name = "howzit-bench" path = "src/bin/howzit-bench.rs" [dependencies] +anyhow = { workspace = true } +aptos-cached-packages = { workspace = true } +aptos-framework = { workspace = true } aptos-sdk = { workspace = true } aptos-types = { workspace = true } -aptos-framework = { workspace = true } -aptos-cached-packages = { workspace = true } -tokio = { workspace = true } -serde = { workspace = true, features = ["derive"] } -anyhow = { workspace = true } bcs = { workspace = true } +chrono = { workspace = true } +futures = { workspace = true } godfig = { workspace = true } +movement-config = { workspace = true } rand = { workspace = true } -futures = { workspace = true } -url = { workspace = true } +serde = { workspace = true, features = ["derive"] } +tokio = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true } -chrono = { workspace = true } +url = { workspace = true } +once_cell = { workspace = true } [lints] diff --git a/benches/howzit/howzit/Move.toml b/benches/howzit/howzit/Move.toml index d7f8ed030..f09664944 100644 --- a/benches/howzit/howzit/Move.toml +++ b/benches/howzit/howzit/Move.toml @@ -9,8 +9,8 @@ howzit = '_' [dev-addresses] [dependencies.AptosFramework] -git = "https://github.com/aptos-labs/aptos-core.git" -rev = "mainnet" +git = "https://github.com/movementlabsxyz/aptos-core" +rev = "movement" subdir = "aptos-move/framework/aptos-framework" [dev-dependencies] diff --git a/benches/howzit/src/bin/howzit-bench.rs b/benches/howzit/src/bin/howzit-bench.rs index 32f5d7fec..c228f4a23 100644 --- a/benches/howzit/src/bin/howzit-bench.rs +++ b/benches/howzit/src/bin/howzit-bench.rs @@ -1,8 +1,52 @@ -use anyhow::Context; -use aptos_sdk::rest_client::{AptosBaseUrl, Client}; +//use anyhow::Context; +use aptos_sdk::coin_client::CoinClient; +use aptos_sdk::rest_client::{AptosBaseUrl, Client, FaucetClient}; use howzit::Howzit; +use once_cell::sync::Lazy; use std::io::Write; use std::{env, path::PathBuf}; +use url::Url; + +static SUZUKA_CONFIG: Lazy = Lazy::new(|| { + let dot_movement = dot_movement::DotMovement::try_from_env().unwrap(); + let config = dot_movement.try_get_config_from_json::().unwrap(); + config +}); + +static NODE_URL: Lazy = Lazy::new(|| { + let node_connection_address = SUZUKA_CONFIG + .execution_config + .maptos_config + .client + .maptos_rest_connection_hostname + .clone(); + let node_connection_port = SUZUKA_CONFIG + .execution_config + .maptos_config + .client + .maptos_rest_connection_port + .clone(); + let node_connection_url = + format!("http://{}:{}", node_connection_address, node_connection_port); + Url::from_str(node_connection_url.as_str()).unwrap() +}); + +static FAUCET_URL: Lazy = Lazy::new(|| { + let faucet_listen_address = SUZUKA_CONFIG + .execution_config + .maptos_config + .client + .maptos_faucet_rest_connection_hostname + .clone(); + let faucet_listen_port = SUZUKA_CONFIG + .execution_config + .maptos_config + .client + .maptos_faucet_rest_connection_port + .clone(); + let faucet_listen_url = format!("http://{}:{}", faucet_listen_address, faucet_listen_port); + Url::from_str(faucet_listen_url.as_str()).unwrap() +}); #[tokio::main] pub async fn main() -> Result<(), anyhow::Error> { @@ -14,24 +58,19 @@ pub async fn main() -> Result<(), anyhow::Error> { ) .init(); + let rest_client = Client::new(NODE_URL.clone()); + let faucet_client = FaucetClient::new(FAUCET_URL.clone(), NODE_URL.clone()); + let coin_client = CoinClient::new(&rest_client); + let crate_path = env!("CARGO_MANIFEST_DIR"); let crate_path_buf = PathBuf::from(crate_path); - let token = std::env::var("AUTH_TOKEN").context("AUTH_TOKEN not set")?; - let rest_url = std::env::var("REST_URL") - .unwrap_or("https://aptos.devnet.suzuka.movementlabs.xyz".to_string()); - let faucet_url = std::env::var("FAUCET_URL") - .unwrap_or("https://faucet.devnet.suzuka.movementlabs.xyz".to_string()); let bench_output_file = std::env::var("BENCH_OUTPUT_FILE").unwrap_or("howzit_bench_output.dat".to_string()); - let rest_client_builder = Client::builder(AptosBaseUrl::Custom(rest_url.parse()?)) - .header("Authorization", format!("Bearer {}", token).as_str())?; - let rest_client = rest_client_builder.build(); - let howzit = Howzit::generate( crate_path_buf.join("howzit"), rest_client.clone(), - faucet_url.parse()?, + FAUCET_URL.clone(), token, ); diff --git a/benches/howzit/src/howzit.rs b/benches/howzit/src/howzit.rs index c037f7b5d..176b16d31 100644 --- a/benches/howzit/src/howzit.rs +++ b/benches/howzit/src/howzit.rs @@ -80,21 +80,25 @@ pub struct Howzit { pub rest_client: Client, faucet_client_url: Url, pub faucet_client: FaucetClient, - pub faucet_auth_token: String, + /// Only required if using on a live network + pub faucet_auth_token: Option, } impl Clone for Howzit { fn clone(&self) -> Self { + let mut faucet_client = FaucetClient::new_from_rest_client( + self.faucet_client_url.clone(), + self.rest_client.clone(), + ); + if let Some(ref token) = self.faucet_auth_token { + faucet_client = faucet_client.with_auth_token(token.clone()); + }; Howzit { howzit_package_path: self.howzit_package_path.clone(), wallet: self.wallet.clone(), rest_client: self.rest_client.clone(), faucet_client_url: self.faucet_client_url.clone(), - faucet_client: FaucetClient::new_from_rest_client( - self.faucet_client_url.clone(), - self.rest_client.clone(), - ) - .with_auth_token(self.faucet_auth_token.clone()), + faucet_client, faucet_auth_token: self.faucet_auth_token.clone(), } } @@ -106,16 +110,20 @@ impl Howzit { howzit_package_path: PathBuf, rest_client: Client, faucet_client_url: Url, - faucet_auth_token: String, + faucet_auth_token: Option, ) -> Self { let wallet = LocalAccount::generate(&mut rand::rngs::OsRng); + let mut faucet_client = + FaucetClient::new_from_rest_client(faucet_client_url.clone(), rest_client.clone()); + if let Some(ref token) = faucet_auth_token { + faucet_client = faucet_client.with_auth_token(token.clone()); + } Howzit { howzit_package_path, wallet: Arc::new(RwLock::new(wallet)), - rest_client: rest_client.clone(), - faucet_client_url: faucet_client_url.clone(), - faucet_client: FaucetClient::new_from_rest_client(faucet_client_url, rest_client) - .with_auth_token(faucet_auth_token.clone()), + rest_client, + faucet_client_url, + faucet_client, faucet_auth_token, } } From 12480695ef4ffc68ddb11e0d8c821535151ce2e9 Mon Sep 17 00:00:00 2001 From: Richard Melkonian Date: Thu, 10 Apr 2025 14:26:16 +0100 Subject: [PATCH 2/6] fix: types --- Cargo.lock | 1 + benches/howzit/Cargo.toml | 1 + benches/howzit/src/bin/howzit-bench.rs | 12 ++++-------- benches/howzit/src/howzit.rs | 7 +++---- ...it.yml => process-compose.bench-howzit-local.yml} | 2 +- 5 files changed, 10 insertions(+), 13 deletions(-) rename process-compose/movement-full-node/{process-compose.howzit.yml => process-compose.bench-howzit-local.yml} (93%) diff --git a/Cargo.lock b/Cargo.lock index afe8d9fbc..20d2733f2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8466,6 +8466,7 @@ dependencies = [ "aptos-types", "bcs 0.1.6 (git+https://github.com/movementlabsxyz/bcs.git?rev=bc16d2d39cabafaabd76173dd1b04b2aa170cf0c)", "chrono", + "dot-movement", "futures", "godfig", "movement-config", diff --git a/benches/howzit/Cargo.toml b/benches/howzit/Cargo.toml index 4c7c2e059..8d352cc35 100644 --- a/benches/howzit/Cargo.toml +++ b/benches/howzit/Cargo.toml @@ -25,6 +25,7 @@ bcs = { workspace = true } chrono = { workspace = true } futures = { workspace = true } godfig = { workspace = true } +dot-movement = { workspace = true } movement-config = { workspace = true } rand = { workspace = true } serde = { workspace = true, features = ["derive"] } diff --git a/benches/howzit/src/bin/howzit-bench.rs b/benches/howzit/src/bin/howzit-bench.rs index c228f4a23..d56b4bfbb 100644 --- a/benches/howzit/src/bin/howzit-bench.rs +++ b/benches/howzit/src/bin/howzit-bench.rs @@ -1,10 +1,10 @@ //use anyhow::Context; use aptos_sdk::coin_client::CoinClient; -use aptos_sdk::rest_client::{AptosBaseUrl, Client, FaucetClient}; +use aptos_sdk::rest_client::{Client, FaucetClient}; use howzit::Howzit; use once_cell::sync::Lazy; use std::io::Write; -use std::{env, path::PathBuf}; +use std::{env, path::PathBuf, str::FromStr}; use url::Url; static SUZUKA_CONFIG: Lazy = Lazy::new(|| { @@ -58,10 +58,6 @@ pub async fn main() -> Result<(), anyhow::Error> { ) .init(); - let rest_client = Client::new(NODE_URL.clone()); - let faucet_client = FaucetClient::new(FAUCET_URL.clone(), NODE_URL.clone()); - let coin_client = CoinClient::new(&rest_client); - let crate_path = env!("CARGO_MANIFEST_DIR"); let crate_path_buf = PathBuf::from(crate_path); let bench_output_file = @@ -69,9 +65,9 @@ pub async fn main() -> Result<(), anyhow::Error> { let howzit = Howzit::generate( crate_path_buf.join("howzit"), - rest_client.clone(), + NODE_URL.clone(), FAUCET_URL.clone(), - token, + None, // For now we are going to run local. A var can be used to set this to a testnet later. ); howzit.build_and_publish().await?; diff --git a/benches/howzit/src/howzit.rs b/benches/howzit/src/howzit.rs index 176b16d31..e9d9e3f67 100644 --- a/benches/howzit/src/howzit.rs +++ b/benches/howzit/src/howzit.rs @@ -108,20 +108,19 @@ impl Howzit { /// Generates a new Howzit instance with a random wallet pub fn generate( howzit_package_path: PathBuf, - rest_client: Client, + node_url: Url, faucet_client_url: Url, faucet_auth_token: Option, ) -> Self { let wallet = LocalAccount::generate(&mut rand::rngs::OsRng); - let mut faucet_client = - FaucetClient::new_from_rest_client(faucet_client_url.clone(), rest_client.clone()); + let mut faucet_client = FaucetClient::new(faucet_client_url.clone(), node_url.clone()); if let Some(ref token) = faucet_auth_token { faucet_client = faucet_client.with_auth_token(token.clone()); } Howzit { howzit_package_path, wallet: Arc::new(RwLock::new(wallet)), - rest_client, + rest_client: Client::new(node_url.clone()), faucet_client_url, faucet_client, faucet_auth_token, diff --git a/process-compose/movement-full-node/process-compose.howzit.yml b/process-compose/movement-full-node/process-compose.bench-howzit-local.yml similarity index 93% rename from process-compose/movement-full-node/process-compose.howzit.yml rename to process-compose/movement-full-node/process-compose.bench-howzit-local.yml index f3363cfcd..b66104457 100644 --- a/process-compose/movement-full-node/process-compose.howzit.yml +++ b/process-compose/movement-full-node/process-compose.bench-howzit-local.yml @@ -16,4 +16,4 @@ processes: movement-faucet: condition: process_healthy availability: - exit_on_end: true \ No newline at end of file + exit_on_end: true From 238a59e769aacb0f4efcde9b2d39e08f2dc2bfa3 Mon Sep 17 00:00:00 2001 From: Richard Melkonian Date: Thu, 10 Apr 2025 14:31:33 +0100 Subject: [PATCH 3/6] fix: remove unused --- benches/howzit/src/bin/howzit-bench.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/benches/howzit/src/bin/howzit-bench.rs b/benches/howzit/src/bin/howzit-bench.rs index d56b4bfbb..851970e7f 100644 --- a/benches/howzit/src/bin/howzit-bench.rs +++ b/benches/howzit/src/bin/howzit-bench.rs @@ -1,6 +1,4 @@ //use anyhow::Context; -use aptos_sdk::coin_client::CoinClient; -use aptos_sdk::rest_client::{Client, FaucetClient}; use howzit::Howzit; use once_cell::sync::Lazy; use std::io::Write; From 6c700094bb5d2abb35682777985ae615c32209df Mon Sep 17 00:00:00 2001 From: Richard Melkonian Date: Thu, 10 Apr 2025 16:11:11 +0100 Subject: [PATCH 4/6] fix: add authkey --- benches/howzit/src/bin/howzit-bench.rs | 8 ++++++-- benches/howzit/src/howzit.rs | 14 +++++--------- .../process-compose.bench-howzit-local.yml | 13 ++++++++++--- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/benches/howzit/src/bin/howzit-bench.rs b/benches/howzit/src/bin/howzit-bench.rs index 851970e7f..b81c7ec82 100644 --- a/benches/howzit/src/bin/howzit-bench.rs +++ b/benches/howzit/src/bin/howzit-bench.rs @@ -1,4 +1,4 @@ -//use anyhow::Context; +use anyhow::Context; use howzit::Howzit; use once_cell::sync::Lazy; use std::io::Write; @@ -56,6 +56,10 @@ pub async fn main() -> Result<(), anyhow::Error> { ) .init(); + let token = std::env::var("AUTH_TOKEN").context("AUTH_TOKEN not set")?; + let bench_output_file = + std::env::var("BENCH_OUTPUT_FILE").unwrap_or("howzit_bench_output.dat".to_string()); + let crate_path = env!("CARGO_MANIFEST_DIR"); let crate_path_buf = PathBuf::from(crate_path); let bench_output_file = @@ -65,7 +69,7 @@ pub async fn main() -> Result<(), anyhow::Error> { crate_path_buf.join("howzit"), NODE_URL.clone(), FAUCET_URL.clone(), - None, // For now we are going to run local. A var can be used to set this to a testnet later. + token, ); howzit.build_and_publish().await?; diff --git a/benches/howzit/src/howzit.rs b/benches/howzit/src/howzit.rs index e9d9e3f67..10f76f842 100644 --- a/benches/howzit/src/howzit.rs +++ b/benches/howzit/src/howzit.rs @@ -81,7 +81,7 @@ pub struct Howzit { faucet_client_url: Url, pub faucet_client: FaucetClient, /// Only required if using on a live network - pub faucet_auth_token: Option, + pub faucet_auth_token: String, } impl Clone for Howzit { @@ -90,9 +90,7 @@ impl Clone for Howzit { self.faucet_client_url.clone(), self.rest_client.clone(), ); - if let Some(ref token) = self.faucet_auth_token { - faucet_client = faucet_client.with_auth_token(token.clone()); - }; + faucet_client = faucet_client.with_auth_token(self.faucet_auth_token.clone()); Howzit { howzit_package_path: self.howzit_package_path.clone(), wallet: self.wallet.clone(), @@ -110,20 +108,18 @@ impl Howzit { howzit_package_path: PathBuf, node_url: Url, faucet_client_url: Url, - faucet_auth_token: Option, + token: String, ) -> Self { let wallet = LocalAccount::generate(&mut rand::rngs::OsRng); let mut faucet_client = FaucetClient::new(faucet_client_url.clone(), node_url.clone()); - if let Some(ref token) = faucet_auth_token { - faucet_client = faucet_client.with_auth_token(token.clone()); - } + faucet_client = faucet_client.with_auth_token(token.clone()); Howzit { howzit_package_path, wallet: Arc::new(RwLock::new(wallet)), rest_client: Client::new(node_url.clone()), faucet_client_url, faucet_client, - faucet_auth_token, + faucet_auth_token: token.clone(), } } diff --git a/process-compose/movement-full-node/process-compose.bench-howzit-local.yml b/process-compose/movement-full-node/process-compose.bench-howzit-local.yml index b66104457..fc0c04963 100644 --- a/process-compose/movement-full-node/process-compose.bench-howzit-local.yml +++ b/process-compose/movement-full-node/process-compose.bench-howzit-local.yml @@ -3,11 +3,18 @@ version: "3" processes: + # setup: + # environment: + # - APTOS_ACCOUNT_WHITELIST=$DOT_MOVEMENT_PATH/default_signer_address_whitelist + # - MAPTOS_PRIVATE_KEY=random + # + # movement-faucet: + # command : | + # movement-faucet-service run-simple --do-not-delegate + howzit: environment: - - "AUTH_TOKEN=notrealnotneeded" - - "REST_URL=http://0.0.0.0:30731" - - "FAUCET_URL=http://0.0.0.0:30732" + - "AUTH_TOKEN=notreal" command: | cargo run --bin howzit-bench depends_on: From b78078cdd35ed03f788c72ffb4d217a66a6e1cd5 Mon Sep 17 00:00:00 2001 From: Richard Melkonian Date: Thu, 24 Apr 2025 16:25:02 +0100 Subject: [PATCH 5/6] fix: updates --- benches/howzit/src/bin/howzit-bench.rs | 24 +++++++++++++----- benches/howzit/src/howzit.rs | 8 +++--- .../01JRDQXJ36S31WV83Z48WA0Z4K/chunks/000001 | Bin 0 -> 5815 bytes .../data/01JRDQXJ36S31WV83Z48WA0Z4K/index | Bin 0 -> 1017 bytes .../data/01JRDQXJ36S31WV83Z48WA0Z4K/meta.json | 17 +++++++++++++ .../01JRDQXJ36S31WV83Z48WA0Z4K/tombstones | Bin 0 -> 9 bytes 6 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/chunks/000001 create mode 100644 tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/index create mode 100644 tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/meta.json create mode 100644 tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/tombstones diff --git a/benches/howzit/src/bin/howzit-bench.rs b/benches/howzit/src/bin/howzit-bench.rs index b81c7ec82..a066d93b8 100644 --- a/benches/howzit/src/bin/howzit-bench.rs +++ b/benches/howzit/src/bin/howzit-bench.rs @@ -12,38 +12,50 @@ static SUZUKA_CONFIG: Lazy = Lazy::new(|| { }); static NODE_URL: Lazy = Lazy::new(|| { - let node_connection_address = SUZUKA_CONFIG + let mut node_connection_address = SUZUKA_CONFIG .execution_config .maptos_config .client .maptos_rest_connection_hostname .clone(); + + if node_connection_address == "0.0.0.0" { + node_connection_address = "127.0.0.1".to_string(); + } + let node_connection_port = SUZUKA_CONFIG .execution_config .maptos_config .client .maptos_rest_connection_port .clone(); + let node_connection_url = format!("http://{}:{}", node_connection_address, node_connection_port); - Url::from_str(node_connection_url.as_str()).unwrap() + Url::from_str(&node_connection_url).unwrap() }); static FAUCET_URL: Lazy = Lazy::new(|| { - let faucet_listen_address = SUZUKA_CONFIG + let mut faucet_listen_address = SUZUKA_CONFIG .execution_config .maptos_config .client .maptos_faucet_rest_connection_hostname .clone(); + + if faucet_listen_address == "0.0.0.0" { + faucet_listen_address = "127.0.0.1".to_string(); + } + let faucet_listen_port = SUZUKA_CONFIG .execution_config .maptos_config .client .maptos_faucet_rest_connection_port .clone(); + let faucet_listen_url = format!("http://{}:{}", faucet_listen_address, faucet_listen_port); - Url::from_str(faucet_listen_url.as_str()).unwrap() + Url::from_str(&faucet_listen_url).unwrap() }); #[tokio::main] @@ -57,8 +69,6 @@ pub async fn main() -> Result<(), anyhow::Error> { .init(); let token = std::env::var("AUTH_TOKEN").context("AUTH_TOKEN not set")?; - let bench_output_file = - std::env::var("BENCH_OUTPUT_FILE").unwrap_or("howzit_bench_output.dat".to_string()); let crate_path = env!("CARGO_MANIFEST_DIR"); let crate_path_buf = PathBuf::from(crate_path); @@ -72,6 +82,8 @@ pub async fn main() -> Result<(), anyhow::Error> { token, ); + tracing::info!("Generated howzit"); + howzit.build_and_publish().await?; // fund the accounts in an orderly manner diff --git a/benches/howzit/src/howzit.rs b/benches/howzit/src/howzit.rs index 10f76f842..d5a2d1eb5 100644 --- a/benches/howzit/src/howzit.rs +++ b/benches/howzit/src/howzit.rs @@ -119,7 +119,7 @@ impl Howzit { rest_client: Client::new(node_url.clone()), faucet_client_url, faucet_client, - faucet_auth_token: token.clone(), + faucet_auth_token: token, } } @@ -223,7 +223,8 @@ impl Howzit { tracing::info!("Funding Alice"); let start_time = chrono::Utc::now(); match self.faucet_client.fund(alice.address(), 10_000_000_000).await { - Ok(_) => { + Ok(v) => { + tracing::info!("Successfully created Alice account: {:?}", v); let end_time = chrono::Utc::now(); let mut results = results.write().await; results.push(( @@ -252,7 +253,8 @@ impl Howzit { tracing::info!("Funding Bob"); let start_time = chrono::Utc::now(); match self.faucet_client.fund(bob.address(), 10_000_000_000).await { - Ok(_) => { + Ok(v) => { + tracing::info!("Successfully created Bob account: {:?}", v); let end_time = chrono::Utc::now(); let mut results = results.write().await; results.push(( diff --git a/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/chunks/000001 b/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/chunks/000001 new file mode 100644 index 0000000000000000000000000000000000000000..f9abb4a12d2da7f9ef171fc6e18e038c1dec4885 GIT binary patch literal 5815 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 literal 0 HcmV?d00001 diff --git a/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/meta.json b/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/meta.json new file mode 100644 index 000000000..e9abcbb0d --- /dev/null +++ b/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/meta.json @@ -0,0 +1,17 @@ +{ + "ulid": "01JRDQXJ36S31WV83Z48WA0Z4K", + "minTime": 1744207200858, + "maxTime": 1744214400000, + "stats": { + "numSamples": 2400, + "numSeries": 5, + "numChunks": 20 + }, + "compaction": { + "level": 1, + "sources": [ + "01JRDQXJ36S31WV83Z48WA0Z4K" + ] + }, + "version": 1 +} \ No newline at end of file diff --git a/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/tombstones b/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/tombstones new file mode 100644 index 0000000000000000000000000000000000000000..95fb83272e6f55edeee7e5d86bdec5fcd217eae0 GIT binary patch literal 9 OcmZQH*k!=T00aOB%>f+% literal 0 HcmV?d00001 From 54459b52b782c4d543416b6de50650c27ef193b9 Mon Sep 17 00:00:00 2001 From: Mikhail Zabaluev Date: Thu, 24 Apr 2025 19:15:33 +0300 Subject: [PATCH 6/6] chore: remove spuriously added files --- .../01JRDQXJ36S31WV83Z48WA0Z4K/chunks/000001 | Bin 5815 -> 0 bytes .../data/01JRDQXJ36S31WV83Z48WA0Z4K/index | Bin 1017 -> 0 bytes .../data/01JRDQXJ36S31WV83Z48WA0Z4K/meta.json | 17 ----------------- .../data/01JRDQXJ36S31WV83Z48WA0Z4K/tombstones | Bin 9 -> 0 bytes 4 files changed, 17 deletions(-) delete mode 100644 tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/chunks/000001 delete mode 100644 tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/index delete mode 100644 tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/meta.json delete mode 100644 tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/tombstones diff --git a/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/chunks/000001 b/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/chunks/000001 deleted file mode 100644 index f9abb4a12d2da7f9ef171fc6e18e038c1dec4885..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5815 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 diff --git a/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/meta.json b/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/meta.json deleted file mode 100644 index e9abcbb0d..000000000 --- a/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/meta.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "ulid": "01JRDQXJ36S31WV83Z48WA0Z4K", - "minTime": 1744207200858, - "maxTime": 1744214400000, - "stats": { - "numSamples": 2400, - "numSeries": 5, - "numChunks": 20 - }, - "compaction": { - "level": 1, - "sources": [ - "01JRDQXJ36S31WV83Z48WA0Z4K" - ] - }, - "version": 1 -} \ No newline at end of file diff --git a/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/tombstones b/tmp/prometheus/data/01JRDQXJ36S31WV83Z48WA0Z4K/tombstones deleted file mode 100644 index 95fb83272e6f55edeee7e5d86bdec5fcd217eae0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9 OcmZQH*k!=T00aOB%>f+%