From 73080ab31ce83554b5ffe652039e0f198dc96e14 Mon Sep 17 00:00:00 2001 From: Kevin Heavey Date: Mon, 13 Jan 2025 21:28:07 +0100 Subject: [PATCH] make solana-metrics optional in vote and stake programs (#4425) --- Cargo.toml | 4 ++-- programs/stake/Cargo.toml | 6 +++++- programs/vote/Cargo.toml | 4 +++- programs/vote/src/lib.rs | 3 ++- programs/vote/src/vote_state/mod.rs | 1 + svm/examples/Cargo.lock | 1 - 6 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index ed2028d4f2f8b9..f096478c54e9b8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -590,7 +590,7 @@ solana-send-transaction-service = { path = "send-transaction-service", version = solana-short-vec = { path = "sdk/short-vec", version = "=2.2.0" } solana-shred-version = { path = "sdk/shred-version", version = "=2.2.0" } solana-stable-layout = { path = "sdk/stable-layout", version = "=2.2.0" } -solana-stake-program = { path = "programs/stake", version = "=2.2.0" } +solana-stake-program = { path = "programs/stake", version = "=2.2.0", default-features = false } solana-storage-bigtable = { path = "storage-bigtable", version = "=2.2.0" } solana-storage-proto = { path = "storage-proto", version = "=2.2.0" } solana-streamer = { path = "streamer", version = "=2.2.0" } @@ -619,7 +619,7 @@ solana-udp-client = { path = "udp-client", version = "=2.2.0" } solana-validator-exit = { path = "sdk/validator-exit", version = "=2.2.0" } solana-version = { path = "version", version = "=2.2.0" } solana-vote = { path = "vote", version = "=2.2.0" } -solana-vote-program = { path = "programs/vote", version = "=2.2.0" } +solana-vote-program = { path = "programs/vote", version = "=2.2.0", default-features = false } solana-wen-restart = { path = "wen-restart", version = "=2.2.0" } solana-zk-elgamal-proof-program = { path = "programs/zk-elgamal-proof", version = "=2.2.0" } solana-zk-keygen = { path = "zk-keygen", version = "=2.2.0" } diff --git a/programs/stake/Cargo.toml b/programs/stake/Cargo.toml index adbcc8717596fb..ed13f571ad4f32 100644 --- a/programs/stake/Cargo.toml +++ b/programs/stake/Cargo.toml @@ -20,7 +20,7 @@ solana-program-runtime = { workspace = true } solana-pubkey = { workspace = true } solana-sdk = { workspace = true } solana-type-overrides = { workspace = true } -solana-vote-program = { workspace = true } +solana-vote-program = { workspace = true, default-features = false } [dev-dependencies] assert_matches = { workspace = true } @@ -30,6 +30,10 @@ solana-compute-budget = { workspace = true } solana-logger = { workspace = true } test-case = { workspace = true } +[features] +default = ["metrics"] +metrics = ["solana-vote-program/metrics"] + [lib] crate-type = ["lib"] name = "solana_stake_program" diff --git a/programs/vote/Cargo.toml b/programs/vote/Cargo.toml index 4ab1c4e6c3a2eb..e5ff913ade6935 100644 --- a/programs/vote/Cargo.toml +++ b/programs/vote/Cargo.toml @@ -30,7 +30,7 @@ solana-frozen-abi-macro = { workspace = true, optional = true, features = [ solana-hash = { workspace = true } solana-instruction = { workspace = true } solana-keypair = { workspace = true } -solana-metrics = { workspace = true } +solana-metrics = { workspace = true, optional = true } solana-packet = { workspace = true } solana-program = { workspace = true } solana-program-runtime = { workspace = true } @@ -58,12 +58,14 @@ name = "solana_vote_program" targets = ["x86_64-unknown-linux-gnu"] [features] +default = ["metrics"] frozen-abi = [ "dep:solana-frozen-abi", "dep:solana-frozen-abi-macro", "solana-program/frozen-abi", "solana-program-runtime/frozen-abi" ] +metrics = ["dep:solana-metrics"] [lints] workspace = true diff --git a/programs/vote/src/lib.rs b/programs/vote/src/lib.rs index 9e43defeceb5e6..b60f9f884dd178 100644 --- a/programs/vote/src/lib.rs +++ b/programs/vote/src/lib.rs @@ -4,7 +4,8 @@ pub mod vote_processor; pub mod vote_state; pub mod vote_transaction; -#[macro_use] +#[cfg_attr(feature = "metrics", macro_use)] +#[cfg(feature = "metrics")] extern crate solana_metrics; #[cfg_attr(feature = "frozen-abi", macro_use)] diff --git a/programs/vote/src/vote_state/mod.rs b/programs/vote/src/vote_state/mod.rs index d2fed0fc0bceb7..cdc7398b5f9d5e 100644 --- a/programs/vote/src/vote_state/mod.rs +++ b/programs/vote/src/vote_state/mod.rs @@ -397,6 +397,7 @@ fn check_and_filter_proposed_vote_state( proposed_hash, slot_hashes[slot_hashes_index].1 ); + #[cfg(feature = "metrics")] inc_new_counter_info!("dropped-vote-hash", 1); return Err(VoteError::SlotHashMismatch); } diff --git a/svm/examples/Cargo.lock b/svm/examples/Cargo.lock index 3869c4c0f690b6..1dd05b5830194d 100644 --- a/svm/examples/Cargo.lock +++ b/svm/examples/Cargo.lock @@ -7855,7 +7855,6 @@ dependencies = [ "solana-hash", "solana-instruction", "solana-keypair", - "solana-metrics", "solana-packet", "solana-program", "solana-program-runtime",