From 51b53cf60b41170bcc31948b92d8f1392c31bb7f Mon Sep 17 00:00:00 2001 From: criyle Date: Thu, 20 Feb 2025 03:12:28 +0000 Subject: [PATCH] runner: add procPeak as measurement of peak process count --- cmd/runprog/main_linux.go | 3 +++ runner/result.go | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/cmd/runprog/main_linux.go b/cmd/runprog/main_linux.go index e5b5978..5002d09 100644 --- a/cmd/runprog/main_linux.go +++ b/cmd/runprog/main_linux.go @@ -426,6 +426,9 @@ func start() (*runner.Result, error) { if memory > 0 { rt.Memory = runner.Size(memory) } + if procPeak > 0 { + rt.ProcPeak = procPeak + } debug("cgroup:", rt) } return &rt, nil diff --git a/runner/result.go b/runner/result.go index 8a8a343..0a6e2eb 100644 --- a/runner/result.go +++ b/runner/result.go @@ -11,8 +11,9 @@ type Result struct { ExitStatus int // exit status (signal number if signalled) Error string // potential detailed error message (for program runner error) - Time time.Duration // used user CPU time (underlying type int64 in ns) - Memory Size // used user memory (underlying type uint64 in bytes) + Time time.Duration // used user CPU time (underlying type int64 in ns) + Memory Size // used user memory (underlying type uint64 in bytes) + ProcPeak uint64 // maximum processes // metrics for the program runner SetUpTime time.Duration