From 54e9e1489a615376d7878e2f67d347d1aed9d6e8 Mon Sep 17 00:00:00 2001 From: xnuter Date: Fri, 20 Jan 2023 18:08:42 -0800 Subject: [PATCH] Rust version bump, address new clippy warnings --- Cargo.toml | 2 +- src/bench_run.rs | 17 ++++++++--------- src/configuration.rs | 8 ++++---- src/http_bench_session.rs | 32 ++++++++++++++++---------------- src/main.rs | 7 ++----- src/metrics.rs | 16 +++------------- src/prometheus_reporter.rs | 12 ++++++------ src/rate_limiter.rs | 10 ++++------ 8 files changed, 44 insertions(+), 60 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a716674..d2b40e8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "perf-gauge" -version = "0.1.18" +version = "0.1.19" authors = ["Eugene Retunsky"] license = "MIT OR Apache-2.0" edition = "2021" diff --git a/src/bench_run.rs b/src/bench_run.rs index 6fd6a05..2c2ad78 100644 --- a/src/bench_run.rs +++ b/src/bench_run.rs @@ -116,7 +116,7 @@ impl BenchRun { metrics_channel .try_send(request_stats) .map_err(|e| { - error!("Error sending metrics: {}", e); + error!("Error sending metrics: {e}"); }) .unwrap_or_default(); failed @@ -172,11 +172,11 @@ mod tests { .create(); let url = mockito::server_url().to_string(); - println!("Url: {}", url); + println!("Url: {url}"); let http_adapter = HttpBenchAdapterBuilder::default() .request( HttpRequestBuilder::default() - .url(vec![format!("{}/1", url)]) + .url(vec![format!("{url}/1")]) .build() .unwrap(), ) @@ -226,8 +226,7 @@ mod tests { let time_delta = (elapsed - 1.).abs(); assert!( time_delta < 0.3, - "Expected to finish in ~1s, but it took: {}", - elapsed + "Expected to finish in ~1s, but it took: {elapsed}" ); let stats = bench_result.unwrap(); @@ -254,11 +253,11 @@ mod tests { .create(); let url = mockito::server_url().to_string(); - println!("Url: {}", url); + println!("Url: {url}"); let http_adapter = HttpBenchAdapterBuilder::default() .request( HttpRequestBuilder::default() - .url(vec![format!("{}/1", url)]) + .url(vec![format!("{url}/1")]) .build() .unwrap(), ) @@ -319,11 +318,11 @@ mod tests { .create(); let url = mockito::server_url().to_string(); - println!("Url: {}", url); + println!("Url: {url}"); let http_adapter = HttpBenchAdapterBuilder::default() .request( HttpRequestBuilder::default() - .url(vec![format!("{}/1", url)]) + .url(vec![format!("{url}/1")]) .build() .unwrap(), ) diff --git a/src/configuration.rs b/src/configuration.rs index 1b5e712..3f17395 100644 --- a/src/configuration.rs +++ b/src/configuration.rs @@ -227,7 +227,7 @@ impl BenchmarkConfig { if let Some(prometheus_addr) = &args.prometheus { if SocketAddr::from_str(prometheus_addr.as_str()).is_err() { - panic!("Illegal Prometheus Gateway addr `{}`", prometheus_addr); + panic!("Illegal Prometheus Gateway addr `{prometheus_addr}`"); } metrics_destinations.push(Arc::new(PrometheusReporter::new( test_case_name, @@ -310,7 +310,7 @@ impl BenchmarkConfig { } else if let Some(filename) = body_value.strip_prefix(FILE_PREFIX) { BenchmarkConfig::read_file_as_vec(filename) } else { - panic!("Unsupported format: {}", body_value); + panic!("Unsupported format: {body_value}"); } } else { Vec::new() @@ -331,7 +331,7 @@ impl BenchmarkConfig { let metadata = fs::metadata(filename).expect("Cannot get metadata"); let mut buffer = vec![0; metadata.len() as usize]; f.read_exact(&mut buffer) - .map_err(|e| panic!("Error reading file {}: {}", filename, e)) + .map_err(|e| panic!("Error reading file {filename}: {e}")) .unwrap(); buffer @@ -362,7 +362,7 @@ impl fmt::Display for BenchmarkMode { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { BenchmarkMode::Http(mode) => { - writeln!(f, "{}", mode) + writeln!(f, "{mode}") } } } diff --git a/src/http_bench_session.rs b/src/http_bench_session.rs index b4e7936..23b1401 100644 --- a/src/http_bench_session.rs +++ b/src/http_bench_session.rs @@ -258,11 +258,11 @@ mod tests { .create(); let url = mockito::server_url().to_string(); - println!("Url: {}", url); + println!("Url: {url}"); let http_bench = HttpBenchAdapterBuilder::default() .request( HttpRequestBuilder::default() - .url(vec![format!("{}/1", url)]) + .url(vec![format!("{url}/1")]) .headers(vec![ ("x-header".to_string(), vec!["value1".to_string()]), ("x-another-header".to_string(), vec!["value2".to_string()]), @@ -277,7 +277,7 @@ mod tests { let client = http_bench.build_client().expect("Client is built"); let stats = http_bench.send_request(&client).await; - println!("{:?}", stats); + println!("{stats:?}"); assert_eq!(body.len(), stats.bytes_processed); assert_eq!("200 OK".to_string(), stats.status); } @@ -296,11 +296,11 @@ mod tests { .create(); let url = mockito::server_url().to_string(); - println!("Url: {}", url); + println!("Url: {url}"); let http_bench = HttpBenchAdapterBuilder::default() .request( HttpRequestBuilder::default() - .url(vec![format!("{}/1", url)]) + .url(vec![format!("{url}/1")]) .method("PUT".to_string()) .headers(vec![ ("x-header".to_string(), vec!["value1".to_string()]), @@ -317,7 +317,7 @@ mod tests { let client = http_bench.build_client().expect("Client is built"); let stats = http_bench.send_request(&client).await; - println!("{:?}", stats); + println!("{stats:?}"); assert_eq!(body.len(), stats.bytes_processed); assert_eq!("200 OK".to_string(), stats.status); } @@ -336,11 +336,11 @@ mod tests { .create(); let url = mockito::server_url().to_string(); - println!("Url: {}", url); + println!("Url: {url}"); let http_bench = HttpBenchAdapterBuilder::default() .request( HttpRequestBuilder::default() - .url(vec![format!("{}/1", url)]) + .url(vec![format!("{url}/1")]) .method("POST".to_string()) .headers(vec![ ("x-header".to_string(), vec!["value1".to_string()]), @@ -357,7 +357,7 @@ mod tests { let client = http_bench.build_client().expect("Client is built"); let stats = http_bench.send_request(&client).await; - println!("{:?}", stats); + println!("{stats:?}"); assert_eq!(body.len(), stats.bytes_processed); assert_eq!("200 OK".to_string(), stats.status); } @@ -381,11 +381,11 @@ mod tests { .create(); let url = mockito::server_url().to_string(); - println!("Url: {}", url); + println!("Url: {url}"); let http_bench = HttpBenchAdapterBuilder::default() .request( HttpRequestBuilder::default() - .url(vec![format!("{}/1", url)]) + .url(vec![format!("{url}/1")]) .method("GET".to_string()) .headers(vec![( "x-header".to_string(), @@ -419,11 +419,11 @@ mod tests { .create(); let url = mockito::server_url().to_string(); - println!("Url: {}", url); + println!("Url: {url}"); let http_bench = HttpBenchAdapterBuilder::default() .request( HttpRequestBuilder::default() - .url(vec![format!("{}/1", url)]) + .url(vec![format!("{url}/1")]) .build() .unwrap(), ) @@ -434,7 +434,7 @@ mod tests { let client = http_bench.build_client().expect("Client is built"); let stats = http_bench.send_request(&client).await; - println!("{:?}", stats); + println!("{stats:?}"); assert_eq!(body.len(), stats.bytes_processed); assert_eq!("500 Internal Server Error".to_string(), stats.status); } @@ -450,11 +450,11 @@ mod tests { .create(); let url = mockito::server_url().to_string(); - println!("Url: {}", url); + println!("Url: {url}"); let http_bench: HttpBenchAdapter = HttpBenchAdapterBuilder::default() .request( HttpRequestBuilder::default() - .url(vec![format!("{}/1", url)]) + .url(vec![format!("{url}/1")]) .build() .unwrap(), ) diff --git a/src/main.rs b/src/main.rs index 918d259..1d7205e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -36,7 +36,7 @@ use tokio::io; async fn main() -> io::Result<()> { // terminate on panic panic::set_hook(Box::new(|info| { - eprintln!("Exiting on panic: {}", info); + eprintln!("Exiting on panic: {info}"); process::exit(0x1); })); @@ -112,10 +112,7 @@ fn create_async_metrics_channel( fn init_logger() { let logger_configuration = "./config/log4rs.yaml"; if log4rs::init_file(logger_configuration, Default::default()).is_err() { - println!( - "Cannot find logger configuration at {}. Logging to console.", - logger_configuration - ); + println!("Cannot find logger configuration at {logger_configuration}. Logging to console."); let config = Config::builder() .appender( Appender::builder() diff --git a/src/metrics.rs b/src/metrics.rs index cbd22c8..c214f5b 100644 --- a/src/metrics.rs +++ b/src/metrics.rs @@ -235,7 +235,7 @@ impl fmt::Display for BenchRunReportItem { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let name = match self.test_case_name.as_ref() { None => String::new(), - Some(value) => format!("Test: {}\n", value), + Some(value) => format!("Test: {value}\n"), }; writeln!( f, @@ -283,20 +283,10 @@ impl fmt::Display for BenchRunReportItem { writeln!( f, "{label}{label_spacing}:{value_spacing}{value:.2}ms", - label = label, value = *value as f64 / 1000.0, - label_spacing = label_spacing, - value_spacing = value_spacing )?; } else { - writeln!( - f, - "{label}{label_spacing}:{value_spacing}{value}µs", - label = label, - value = value, - label_spacing = label_spacing, - value_spacing = value_spacing - )?; + writeln!(f, "{label}{label_spacing}:{value_spacing}{value}µs")?; } } Ok(()) @@ -310,7 +300,7 @@ impl fmt::Display for BenchRunReportItem { impl ExternalMetricsServiceReporter for DefaultConsoleReporter { fn report(&self, metrics: &BenchRunMetrics) -> io::Result<()> { let report = self.build_report(metrics); - println!("{}", report); + println!("{report}"); println!("{}", "=".repeat(50)); info!(target: "stats", "{}", serde_json::to_string(&report).expect("JSON serialization failed")); diff --git a/src/prometheus_reporter.rs b/src/prometheus_reporter.rs index 2ab8b29..30be375 100644 --- a/src/prometheus_reporter.rs +++ b/src/prometheus_reporter.rs @@ -76,7 +76,7 @@ impl PrometheusReporter { fn build_metric_name(operation_name: &Option, name: &str) -> String { operation_name .as_ref() - .map(|s| format!("{}_{}", s, name)) + .map(|s| format!("{s}_{name}")) .unwrap_or_else(|| name.to_string()) } @@ -207,7 +207,7 @@ impl PrometheusReporter { fn register_histogram_precalculated( registry: &Registry, name: String, - help: &str, + _help: &str, histogram: Histogram, ) { let percentiles = vec![ @@ -255,8 +255,8 @@ impl PrometheusReporter { for (label, value) in percentiles { PrometheusReporter::register_gauge( registry, - format!("{}_{}", name, label), - format!("{} {}", help, label).as_str(), + format!("{name}_{label}"), + format!("{name} {label}").as_str(), value as i64, ); } @@ -593,7 +593,7 @@ mod test { .create(); let url = mockito::server_url(); - println!("Url: {}", url); + println!("Url: {url}"); let reporter = PrometheusReporter::new( Some("test-prometheus".to_string()), @@ -615,6 +615,6 @@ mod test { let sent = reporter.report(&metrics); - assert!(sent.is_ok(), "{:?}", sent); + assert!(sent.is_ok(), "{sent:?}"); } } diff --git a/src/rate_limiter.rs b/src/rate_limiter.rs index 5b205e3..1dae9f5 100644 --- a/src/rate_limiter.rs +++ b/src/rate_limiter.rs @@ -26,9 +26,7 @@ impl RateLimiter { let (amount, interval) = RateLimiter::rate_to_refill_amount_and_duration(rate_per_second); debug!( - "Rate limiter: {} per {:?}. Per second: {}", - amount, - interval, + "Rate limiter: {amount} per {interval:?}. Per second: {}", amount / interval.as_secs_f64() ); @@ -97,7 +95,7 @@ mod tests { rate_limiter.acquire_one().await; } let elapsed = Instant::now().duration_since(begin); - println!("Elapsed: {:?}", elapsed); + println!("Elapsed: {elapsed:?}"); assert!((elapsed.as_secs_f64() - 1.).abs() < 0.2); } @@ -109,7 +107,7 @@ mod tests { rate_limiter.acquire_one().await; } let elapsed = Instant::now().duration_since(begin); - println!("Elapsed: {:?}", elapsed); + println!("Elapsed: {elapsed:?}"); // once per 2 seconds => 4 seconds for 2 permits assert!((elapsed.as_secs_f64() - 4.).abs() < 0.1); } @@ -122,7 +120,7 @@ mod tests { rate_limiter.acquire_one().await; } let elapsed = Instant::now().duration_since(begin); - println!("Elapsed: {:?}", elapsed); + println!("Elapsed: {elapsed:?}"); assert!(elapsed.as_secs_f64() < 1.); }