Alloy with eBPF profiling on Docker: build ID section not found

Shortly after starting Alloy following the directions for setting up eBPF profiling on Docker, I noticed some logs pertaining to “build ID sections”:

{"ts":"2025-01-19T17:53:35.561086257Z","level":"error","msg":"failed to get build id","component_path":"/","component_id":"pyroscope.ebpf.default","err":"build ID section not found","f":"/lib/ld-musl-x86_64.so.1","fs":"/proc/2316781/root"}
{"ts":"2025-01-19T17:54:05.570196904Z","level":"error","msg":"failed to get build id","component_path":"/","component_id":"pyroscope.ebpf.default","err":"build ID section not found","f":"/usr/local/sbin/haproxy","fs":"/proc/2316781/root"}
{"ts":"2025-01-19T17:54:05.579173338Z","level":"error","msg":"failed to get build id","component_path":"/","component_id":"pyroscope.ebpf.default","err":"build ID section not found","f":"/lib/ld-musl-x86_64.so.1","fs":"/proc/2316398/root"}
{"ts":"2025-01-19T18:09:50.569812108Z","level":"error","msg":"failed to get build id","component_path":"/","component_id":"pyroscope.ebpf.default","err":"build ID section not found","f":"/lib/ld-musl-x86_64.so.1","fs":"/proc/2316269/root"}

TBH I am not well versed at all in eBPF so not sure what a “build ID” is referring to here. I see data actively flowing through to Pyroscope though, and I can see flame graphs in Grafana. So I’m inclined to think this error isn’t too serious. But I’d love some help in understanding what this is really complaining about, and ideally I can fix the root cause in my environment to stop this error altogether.

Here’s the ebpf related section in my alloy config.

discovery.docker "default" {
  host             = "tcp://socket-proxy:2375"
  refresh_interval = "1m"
}

pyroscope.ebpf "default" {
  targets = discovery.docker.default.targets

  forward_to = [
    pyroscope.write.default.receiver,
  ]
}

pyroscope.write "default" {
  endpoint {
    url = "http://pyroscope:4040"
  }
}

(The socket-proxy referred above is a separate container that’s just running HAProxy with a bunch of rules for securing the actual docker socket.)

The Alloy container is based on image docker.io/grafana/alloy:v1.5.1 and the compose service definition assigns pid: host and privileged: true as directed.