To enable your Erlang application to be able to be profiled by the Polar Signals Agent, you need Erlang/OTP 24+ and enable the
+JPperf map flag, which often can be specified via environment flags as well
Below are some situations and how to troubleshoot them. If you've tried these and still haven't been able to resolve the issue, please contact support.
All I can see is memory addresses
First make sure Erlang/OTP 24+ is used and that the
+JPperf map flag is set either directly or via the
ERL_FLAGS="+JPperf map" environment variable.
Then check that the process is successfully writing a perfmap. By default, perfmaps are written to
On Kubernetes for example this can be checked with:
kubectl exec --namespace <namespace-name> <pod-name> -- ls -la /tmp
$ kubectl exec -n default erlang-demo -- ls -la /tmp
drwxrwxrwt 1 root root 4096 Jul 12 08:59 .
drwxr-xr-x 1 root root 4096 Jul 12 08:59 ..
-rw-r--r-- 1 root root 131811 Jul 12 08:59 perf-1.map
In this example the file we're looking for is the
For you it should be called something similar.