Question

How can I profile a linked-in port driver? OTP tools (fprof, etc.) apparently only profile Erlang code, and I don't have a C executable file to feed to gprof.

Was it helpful?

Solution

as far as linked-in port driver is .so library that is dynamically loaded into erl process (on linux) you can run valgrind --tool=callgrind --callgrind-out-file=file.out erl (see other options in docs for callgrind), then execute some tests from erl shell, exit from shell and load file.out in some tool like KCachegrind

OTHER TIPS

Can't you just profile the erl executable and then get that to the gprof tool? I am pretty sure this is how it is done by the Erlang devs anyway.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top