gvisor
gvisor copied to clipboard
Default benchmark profiling options fail
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