From 7cf536d1ad82cba21762cd82a7045e02153d46f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Miko=C5=82ajczyk?= Date: Tue, 15 Oct 2024 10:43:56 +0200 Subject: [PATCH] Improve logging --- src/logging.rs | 14 ++++++++++---- src/main.rs | 29 ++++++++++------------------- src/scenario_config.rs | 3 ++- 3 files changed, 22 insertions(+), 24 deletions(-) diff --git a/src/logging.rs b/src/logging.rs index 76d7b40..88dd238 100644 --- a/src/logging.rs +++ b/src/logging.rs @@ -1,8 +1,15 @@ -use std::io; +use std::{io, time::Instant}; -use tracing::level_filters::LevelFilter; +use tracing::{info, level_filters::LevelFilter}; use tracing_subscriber::{EnvFilter, fmt::format::FmtSpan}; +pub fn measure T>(action_name: &str, action: Action) -> T { + let start = Instant::now(); + let result = action(); + info!("{action_name}: {:?}", start.elapsed()); + result +} + fn get_filter() -> EnvFilter { EnvFilter::builder() .with_default_directive(LevelFilter::WARN.into()) @@ -14,9 +21,8 @@ pub fn init_logging() { tracing_subscriber::fmt() .with_writer(io::stdout) .with_target(false) - .without_time() .with_env_filter(get_filter()) - .with_span_events(FmtSpan::ENTER | FmtSpan::CLOSE) + .with_span_events(FmtSpan::CLOSE) .with_level(false) .json() .try_init() diff --git a/src/main.rs b/src/main.rs index 915cae8..0854d29 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,12 +1,10 @@ -use std::time::Instant; - use scenario_config::ScenarioConfig; -use tracing::info; use crate::{ folding::{prepare_folding, verify_folding, FoldingSchemeExt, HyperNovaFolding, NovaFolding}, logging::init_logging, }; +use crate::logging::measure; mod circuit; mod logging; @@ -15,14 +13,12 @@ mod folding; mod input; mod scenario_config; -fn measure T>(action_name: &str, action: Action) -> T { - let start = Instant::now(); - let result = action(); - info!("{action_name}: {:?}", start.elapsed()); - result -} - -fn scenario(config: ScenarioConfig, rng: &mut impl rand::RngCore) { +#[tracing::instrument(skip(config, rng))] +fn scenario( + config: ScenarioConfig, + rng: &mut impl rand::RngCore, + folding_scheme: &str, +) { // ============== FOLDING PREPARATION ========================================================== let start_state = config.start_ivc_state.clone(); @@ -65,12 +61,7 @@ fn main() { let mut rng = rand::rngs::OsRng; let config = ScenarioConfig::new(); - println!("========== Nova folding scheme ===================="); - scenario::(config.clone(), &mut rng); - - println!("========== HyperNova<1,1> folding scheme =========="); - scenario::>(config.clone(), &mut rng); - - println!("========== HyperNova<2,2> folding scheme =========="); - scenario::>(config, &mut rng); + scenario::(config.clone(), &mut rng, "Nova"); + scenario::>(config.clone(), &mut rng, "HyperNova<1,1>"); + scenario::>(config.clone(), &mut rng, "HyperNova<2,2>"); } diff --git a/src/scenario_config.rs b/src/scenario_config.rs index e4311a4..0387d63 100644 --- a/src/scenario_config.rs +++ b/src/scenario_config.rs @@ -2,7 +2,8 @@ use ark_bn254::Fr; use num_traits::Zero; use sonobe::frontend::circom::CircomFCircuit; -use crate::{circuit::create_circuit, input::prepare_input, measure}; +use crate::{circuit::create_circuit, input::prepare_input}; +use crate::logging::measure; #[derive(Clone)] pub struct ScenarioConfig {