google / pprof

pprof is a tool for visualization and analysis of profiling data
Apache License 2.0
8.02k stars 607 forks source link

Module did not self-register: Worker Threads #788

Closed en-tcelvi closed 1 year ago

en-tcelvi commented 1 year ago

Please answer these questions before submitting your issue. Thanks!

What version of pprof are you using?

3.2.0

What operating system and processor architecture are you using?

MacOS Ventura 13.4.1 (M1 Chip) Alpine Linux 16

What did you do?

We run the Cloud Profiler product for Google Cloud in production. We wanted to move some operations into worker threads. These operations are currently ones we would like to profile.

What did you expect to see?

I expected everything to work fine when running our code inside a worker thread, and that pulling in this dependency would be no problem.

What did you see instead?

On Linux: Module did not self-register: /opt/crdt/node_modules/pprof/build/node-v108-linux-x64-musl/pprof.node On Mac: node_modules/pprof/build/node-v108-darwin-arm64-unknown/pprof.node

Additional Information

Once we remove the Cloud Profiler tool (which uses pprof) from the dependency chain, our worker thread starts up with no problems. Perhaps this helps? https://github.com/nodejs/node/blob/main/doc/api/addons.md#context-aware-addons

nolanmar511 commented 1 year ago

I think this issue is for https://github.com/google/pprof-nodejs, not the golang pprof CLI.

I'd suggest re-filing this issue there.