aboutsummaryrefslogtreecommitdiff
path: root/zkvms_guest_io
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-04-30 14:27:19 +0300
committerKamen Mladenov <kamen@syndamia.com>2025-05-02 15:32:54 +0300
commitef3bec98c7ad44672dc5e6816acb2143130ebf72 (patch)
treeb54aad989c4df475f4dcb4402408b050772018b2 /zkvms_guest_io
parente7ab4fd7b8b1bc870630b95c8d872131f4a8ea45 (diff)
downloadzkVMs-benchmarks-ef3bec98c7ad44672dc5e6816acb2143130ebf72.tar
zkVMs-benchmarks-ef3bec98c7ad44672dc5e6816acb2143130ebf72.tar.gz
zkVMs-benchmarks-ef3bec98c7ad44672dc5e6816acb2143130ebf72.zip
feat(zkvms_guest_io): Add "metadata" fields to metrics output
These are the zkvm name, rev, guest name and benchmarks repo rev
Diffstat (limited to 'zkvms_guest_io')
-rw-r--r--zkvms_guest_io/default.nix13
-rw-r--r--zkvms_guest_io/src/main.rs19
2 files changed, 26 insertions, 6 deletions
diff --git a/zkvms_guest_io/default.nix b/zkvms_guest_io/default.nix
index bce5a9c..b9ba3cc 100644
--- a/zkvms_guest_io/default.nix
+++ b/zkvms_guest_io/default.nix
@@ -1,4 +1,4 @@
-{ craneLib-default, guest, zkvms, hostPackages, lib, benchexec, }:
+{ rev, craneLib-default, guest, zkvms, hostPackages, lib, metacraft-labs, benchexec, }:
let
commonArgs = {
name = "${guest}";
@@ -13,7 +13,16 @@ let
};
PROGRAMS = lib.foldr (zkvm: accum:
- hostPackages."${zkvm}/${guest}" + "/bin/${zkvm}_${guest}," + accum) ""
+ (builtins.concatStringsSep
+ "|"
+ [
+ zkvm
+ metacraft-labs.${zkvm}.src.rev
+ guest
+ rev
+ (hostPackages."${zkvm}/${guest}" + "/bin/${zkvm}_${guest}")
+ ]
+ ) + "," + accum) ""
zkvms;
postPatch = ''
diff --git a/zkvms_guest_io/src/main.rs b/zkvms_guest_io/src/main.rs
index 0b01e60..fdd0362 100644
--- a/zkvms_guest_io/src/main.rs
+++ b/zkvms_guest_io/src/main.rs
@@ -122,16 +122,27 @@ fn main() {
}
}
- 'guest_iter: for zkvm_guest_command in zkvm_guest_commands.into_iter() {
- if ignored.iter().any(|i| zkvm_guest_command.contains(i)) {
+ 'guest_iter: for zkvm_info in zkvm_guest_commands.into_iter() {
+ let zkvm_info_fields: Vec<&str> = zkvm_info.split('|').collect();
+ let zkvm = zkvm_info_fields[0];
+
+ if ignored.iter().any(|i| zkvm.contains(i)) {
continue;
}
+ let zkvmRev = zkvm_info_fields[1];
+ let guest = zkvm_info_fields[2];
+ let commit = zkvm_info_fields[3];
+ let zkvm_guest_command = zkvm_info_fields[4];
+
let mut run = JsonValue::new_object();
- run["name"] = zkvm_guest_command.into();
+ run["zkvmName"] = zkvm.into();
+ run["zkvmRev"] = zkvmRev.into();
+ run["programName"] = guest.into();
+ run["commit"] = commit.into();
for operation in ["execute", "prove", "verify"] {
- println!("== {operation} {zkvm_guest_command} ==");
+ println!("== {operation} {zkvm} ==");
let output = run_command(zkvm_guest_command, operation);