diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-03-03 15:28:38 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-03-15 10:48:13 -0700 |
| commit | d695f36e70f162e4e84087df1ccad5430e53d786 (patch) | |
| tree | e6bc313e996099c9093df2a2804f4a00bd5f4060 /lib/build_runner.zig | |
| parent | 41a5ad28c9a651efd2822f43486a71ca48ace726 (diff) | |
| download | zig-d695f36e70f162e4e84087df1ccad5430e53d786.tar.gz zig-d695f36e70f162e4e84087df1ccad5430e53d786.zip | |
build runner supports reporting cached status and duration
Diffstat (limited to 'lib/build_runner.zig')
| -rw-r--r-- | lib/build_runner.zig | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/lib/build_runner.zig b/lib/build_runner.zig index aa846ce799..1c07efd944 100644 --- a/lib/build_runner.zig +++ b/lib/build_runner.zig @@ -501,8 +501,42 @@ fn printTreeStep( .success => { try ttyconf.setColor(stderr, .Green); - try stderr.writeAll(" success\n"); + if (s.result_cached) { + try stderr.writeAll(" cached"); + } else { + try stderr.writeAll(" success"); + } try ttyconf.setColor(stderr, .Reset); + if (s.result_duration_ns) |ns| { + try ttyconf.setColor(stderr, .Dim); + if (ns >= std.time.ns_per_min) { + try stderr.writer().print(" {d}m", .{ns / std.time.ns_per_min}); + } else if (ns >= std.time.ns_per_s) { + try stderr.writer().print(" {d}s", .{ns / std.time.ns_per_s}); + } else if (ns >= std.time.ns_per_ms) { + try stderr.writer().print(" {d}ms", .{ns / std.time.ns_per_ms}); + } else { + try stderr.writer().print(" {d}ns", .{ns}); + } + try ttyconf.setColor(stderr, .Reset); + } + if (s.result_peak_rss != 0) { + const rss = s.result_peak_rss; + try ttyconf.setColor(stderr, .Dim); + if (rss >= 1000_000_000_000) { + try stderr.writer().print(" {d}G MaxRSS", .{rss / 1000_000_000_000}); + } else if (rss >= 1000_000_000) { + try stderr.writer().print(" {d}M MaxRSS", .{rss / 1000_000_000}); + } else if (rss >= 1000_000) { + try stderr.writer().print(" {d}M MaxRSS", .{rss / 1000_000}); + } else if (rss >= 1000) { + try stderr.writer().print(" {d}K MaxRSS", .{rss / 1000}); + } else { + try stderr.writer().print(" {d}B MaxRSS", .{rss}); + } + try ttyconf.setColor(stderr, .Reset); + } + try stderr.writeAll("\n"); }, .skipped => { |
