fn launch_asprof()

in src/data/java_profile.rs [42:80]


    fn launch_asprof(&self, jids: Vec<String>, params: &CollectorParams) -> Result<()> {
        for jid in &jids {
            match Command::new("asprof")
                .args([
                    "-d",
                    &(params.collection_time - params.elapsed_time).to_string(),
                    "-f",
                    format!(
                        "{}/{}-java-flamegraph-{}.html",
                        params.tmp_dir.display(),
                        params.run_name,
                        jid
                    )
                    .as_str(),
                    jid.as_str(),
                ])
                .spawn()
            {
                Err(e) => {
                    return Err(PDError::DependencyError(format!(
                        "'asprof' command failed. {}",
                        e
                    ))
                    .into());
                }
                Ok(child) => {
                    debug!(
                        "Recording asprof profiling data for '{}' with PID, {}.",
                        self.process_map
                            .get(jid.as_str())
                            .unwrap_or(&vec![String::from("JVM")])[0],
                        jid
                    );
                    ASPROF_CHILDREN.lock().unwrap().push(child);
                }
            }
        }
        Ok(())
    }