use std::io;
use std::path::PathBuf;
use clap::Parser;
use env_logger::Env;
use inferno::collapse::vsprof::Folder;
use inferno::collapse::Collapse;
#[derive(Debug, Parser)]
#[clap(
name = "inferno-collapse-vsprof",
about,
after_help = "\
[1] This processes the call tree summary of the built in Visual Studio profiler"
)]
struct Opt {
#[clap(short = 'q', long = "quiet")]
quiet: bool,
#[clap(short = 'v', long = "verbose", parse(from_occurrences))]
verbose: usize,
#[clap(value_name = "PATH")]
infile: Option<PathBuf>,
}
fn main() -> io::Result<()> {
let opt = Opt::parse();
if !opt.quiet {
env_logger::Builder::from_env(Env::default().default_filter_or(match opt.verbose {
0 => "warn",
1 => "info",
2 => "debug",
_ => "trace",
}))
.format_timestamp(None)
.init();
}
Folder::default().collapse_file_to_stdout(opt.infile)
}