grafana / grafana/pyroscope-nodejs
Add support for Windows
- Dominant language
- TypeScript
- Stars
- 51
- Forks
- 36
- PR merge metrics
- No merged PRs in 30d
Description
Currently, we don't support Windows because of our usage of dynamic labels. The DataDog profiler doesn't support dynamic labels on Windows:
https://github.com/DataDog/pprof-nodejs/blob/e7d3e053d9816e64710533738ff827c0301b82fe/bindings/profilers/wall.cc#L33
The `DD_WALL_USE_SIGPROF` enables dynamic labels and if it is disabled, it throws an error here:
https://github.com/DataDog/pprof-nodejs/blob/e7d3e053d9816e64710533738ff827c0301b82fe/bindings/profilers/wall.cc#L609-L611
We always enable `withContexts` in or SDK:
https://github.com/grafana/pyroscope-nodejs/blob/e2d157cf22f931b27e28e5cbe9ec631353c44360/src/profilers/wall-profiler.ts#L88
We might be able to support Windows by disabling this configuration when we detect a Windows host, or by providing a way for users to turn it off. At the very least, we should provide a gentler failure case which is more helpful for users.
See https://github.com/grafana/pyroscope-nodejs/issues/85 for an example of the SDK not working on Windows.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.