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(())
}