Recurring: ~73% of dns_events have empty pod despite a valid upid
Live on rig 6a4ce480 (k3s, node-01). px.DataFrame('dns_events') → px.upid_to_pod_name(df.upid) is empty for ~73% of rows (client-side, remote_addr=coredns clusterIP 10.43.0.10:53, local_addr empty).
Not a capture gap — a metadata gap
The upid is present (e.g. 00000006-0004-543f-0000-0000001acf92), but upid_to_pod_name returns "". Root cause is in the PEM logs:
state_manager.cc:276 Failed to read PID info for pod=<uid>, cid=
[msg=Failed to open file /sys/fs/cgroup/kubepods.slice/kubepods-besteffort.slice/
kubepods-besteffort-pod<uid>.slice/cri-containerd-.scope/cgroup.procs]
Note cri-containerd-.scope — the container-id segment is empty. So the PEM builds a malformed cgroup path, can't enumerate that pod's PIDs, and every event carrying one of those PIDs (DNS heavily, since resolver PIDs churn) is left unattributed. local_addr is also empty for UDP DNS, and remote is the coredns service IP, so there's no query-side rescue either.
Ask
Fix the container-id resolution for the cgroup path (the cri-containerd-<cid>.scope construction) so PID->pod mapping populates. This regresses on every fresh k3s rig. Happy to run any probe query live. — dx-agent
Recurring: ~73% of dns_events have empty pod despite a valid upid
Live on rig 6a4ce480 (k3s, node-01).
px.DataFrame('dns_events')→px.upid_to_pod_name(df.upid)is empty for ~73% of rows (client-side, remote_addr=coredns clusterIP 10.43.0.10:53, local_addr empty).Not a capture gap — a metadata gap
The upid is present (e.g.
00000006-0004-543f-0000-0000001acf92), butupid_to_pod_namereturns "". Root cause is in the PEM logs:Note
cri-containerd-.scope— the container-id segment is empty. So the PEM builds a malformed cgroup path, can't enumerate that pod's PIDs, and every event carrying one of those PIDs (DNS heavily, since resolver PIDs churn) is left unattributed.local_addris also empty for UDP DNS, and remote is the coredns service IP, so there's no query-side rescue either.Ask
Fix the container-id resolution for the cgroup path (the
cri-containerd-<cid>.scopeconstruction) so PID->pod mapping populates. This regresses on every fresh k3s rig. Happy to run any probe query live. — dx-agent