diff options
| author | Kamen Mladenov <kamen@syndamia.com> | 2025-04-30 14:27:19 +0300 |
|---|---|---|
| committer | Kamen Mladenov <kamen@syndamia.com> | 2025-05-02 15:32:54 +0300 |
| commit | ef3bec98c7ad44672dc5e6816acb2143130ebf72 (patch) | |
| tree | b54aad989c4df475f4dcb4402408b050772018b2 | |
| parent | e7ab4fd7b8b1bc870630b95c8d872131f4a8ea45 (diff) | |
| download | zkVMs-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
| -rw-r--r-- | flake.nix | 1 | ||||
| -rw-r--r-- | zkvms_guest_io/default.nix | 13 | ||||
| -rw-r--r-- | zkvms_guest_io/src/main.rs | 19 |
3 files changed, 27 insertions, 6 deletions
@@ -70,6 +70,7 @@ inherit zkvms; inherit hostPackages; inherit craneLib-default; + rev = self.rev or self.dirtyRev; }; }) { } guests; in { 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); |
