grafana / grafana/pyroscope-nodejs

Add support for Windows

Open
#87 2 comments 4 reactions 0 assignees View on GitHub
enhancement
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.