fn save_report()

in hf_xet/src/profiling.rs [55:103]


    fn save_report(&self) {
        let Some(guard) = &self.guard else {
            return;
        };

        // Build the report from the guard
        let report = match guard.report().build() {
            Ok(r) => r,
            Err(e) => {
                eprintln!("Profiler: Error building profiler report: {e:?}");
                return;
            },
        };

        let date_str = Local::now().format("%Y-%m-%d_%H-%M-%S").to_string();
        let output_dir = PathBuf::from("profiles").join(date_str);

        let Ok(_) = fs::create_dir_all(&output_dir)
            .inspect_err(|e| eprintln!("Profiler: Error creating profile output directory: {e:?}"))
        else {
            return;
        };

        // Write flamegraph.svg
        let flame_path = output_dir.join("flamegraph.svg");
        if let Ok(mut fg_file) =
            fs::File::create(&flame_path).inspect_err(|e| eprintln!("Profiler: Error writing flamegraph file: {e:?}"))
        {
            let _ = report.flamegraph(&mut fg_file).inspect_err(|e| {
                eprintln!("Profiler: Failed writing flamegraph: {e:?}");
            });
        }

        let pb_path = output_dir.join("pprof.pb");
        if let Ok(mut pb_file) =
            fs::File::create(pb_path).inspect_err(|e| eprintln!("Profiler: Failed opening pperf out file: {e:?}"))
        {
            if let Ok(profile) = report
                .pprof()
                .inspect_err(|e| eprintln!("Profiler: Error creating pprof profile report: {e:?}"))
            {
                let _ = profile.write_to_writer(&mut pb_file).inspect_err(|e| {
                    eprintln!("Profiler: Failed writing protobuf gperf out file: {e:?}");
                });
            }
        }

        eprintln!("Profiler: Saved run profile to {output_dir:?}");
    }