gvisor icon indicating copy to clipboard operation
gvisor copied to clipboard

Default benchmark profiling options fail

Open EtiennePerot opened this issue 1 year ago • 0 comments

Description

Running a benchmark like:

$ make run-benchmark BENCHMARKS_TARGETS=test/benchmarks/base:syscallbench_test RUNTIME=runsc

(which uses the default value for BENCHMARKS_PROFILE which is -pprof-dir=/tmp/profile -pprof-cpu -pprof-heap -pprof-block -pprof-mutex)

... results in warnings about the profiling not working:

BenchmarkSyscallbench
BenchmarkSyscallbench/syscall.getpid
BenchmarkSyscallbench/syscall.getpid-20                  4328344              7638 ns/op
    container.go:563: warning: profile.Stop failed: exit status 128
BenchmarkSyscallbench/syscall.getpidopt
BenchmarkSyscallbench/syscall.getpidopt-20               4314039              7664 ns/op
    container.go:563: warning: profile.Stop failed: exit status 128
BenchmarkSyscallUnderSeccomp
BenchmarkSyscallUnderSeccomp/cacheable.false
BenchmarkSyscallUnderSeccomp/cacheable.false-20          4327574              7987 ns/op
    container.go:563: warning: profile.Stop failed: exit status 128
BenchmarkSyscallUnderSeccomp/cacheable.true
BenchmarkSyscallUnderSeccomp/cacheable.true-20           4307728              7908 ns/op
    container.go:563: warning: profile.Stop failed: exit status 128

... and no profiles stored under /tmp/profile.

Steps to reproduce

$ make run-benchmark BENCHMARKS_TARGETS=test/benchmarks/base:syscallbench_test RUNTIME=runsc

runsc version

Head

docker version (if using docker)

Unrelated

uname

6.6.15

kubectl (if using Kubernetes)

N/A

repo state (if built from source)

head

runsc debug logs (if available)

No response

EtiennePerot avatar May 11 '24 07:05 EtiennePerot