google / google/gvisor

Support `perf_event_open` to enable use of `ddprof`

Open
#12,241 4 comments 0 reactions 0 assignees View on GitHub
type: enhancement
Dominant language
Go
Stars
19.3k
Forks
2k
Avg merge
3d 5h
Merged PRs (30d)
264

Description

### Description

`ddprof` is DataDog's profiler, [which relies on `perf_event_open`](https://docs.datadoghq.com/profiler/profiler_troubleshooting/ddprof/#error-error-calling-perfopen-on-watcher). gvisor does not handle `perf_event_open`.

I use gvisor to satisfy security requirements for various workloads, some of which are quite heavy with resources. I recently tried to use `ddprof` to collect performance profiles but was unable to run it because gvisor does not handle `perf_event_open`.

### Is this feature related to a specific bug?

_No response_

### Do you have a specific solution in mind?

I surmise that implementing this syscall is not straightforward. If implementation is infeasible, is there a way to pass `perf_event_open` syscalls through to the kernel, perhaps by modifying seccomp rules?

Thanks!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.