aboutsummaryrefslogtreecommitdiff
path: root/zkvms_guest_io
diff options
context:
space:
mode:
Diffstat (limited to 'zkvms_guest_io')
-rw-r--r--zkvms_guest_io/src/main.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/zkvms_guest_io/src/main.rs b/zkvms_guest_io/src/main.rs
index fdd0362..0e0cd37 100644
--- a/zkvms_guest_io/src/main.rs
+++ b/zkvms_guest_io/src/main.rs
@@ -32,12 +32,15 @@ struct Cli {
append: bool,
}
+static COMMAND_LOG_PATH: &str = "/tmp/output.log";
+static METRICS_TEMP_OUTPUT_PATH: &str = "/tmp/current_metrics";
+
fn run_command(zkvm_guest_command: &str, operation: &str) -> Result<std::process::Output, Error> {
Command::new("runexec")
- .args(["--no-container", "--"])
+ .args(["--no-container", "--output", COMMAND_LOG_PATH, "--"])
.args([zkvm_guest_command, operation])
.arg("--benchmark")
- .args([ "--metrics-output", "/tmp/current_metrics" ])
+ .args([ "--metrics-output", METRICS_TEMP_OUTPUT_PATH ])
.stdout(Stdio::piped())
.output()
}
@@ -182,10 +185,13 @@ fn main() {
// The guest program ran but exited with non-zero status code
if get_runexec_value(&stdout, "returnvalue", '\n') != "0" {
run[operation] = Null;
+ if let Some(log) = read_to_string(COMMAND_LOG_PATH).ok() {
+ println!("{log}");
+ }
continue;
}
- let raw_data = &read_to_string("/tmp/current_metrics")
+ let raw_data = &read_to_string(METRICS_TEMP_OUTPUT_PATH)
.ok()
.unwrap();
run[operation] = json::parse(raw_data).unwrap();