open-telemetry / open-telemetry/opentelemetry-java-instrumentation
ContainerResource fails on our systems
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 2.6k
- Forks
- 1.2k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 228
Description
Describe the bug
Basically it's only 8 character hexadecimal instead of 64 and followed by a space
The "fix" would be to change the regex in CGroupv2 to
Pattern containerIdPattern = Pattern.compile("^[0-9a-f]{8}([0-9a-f]{56})?\\s?$");
loathe to submit a PR without a wiser eye as this stuff is already pretty hacky ;)
Steps to reproduce
not sure still investigating
Expected behavior
a nonempty container.id
Actual behavior
an empty container.id
Javaagent or library instrumentation version
2.20.1
Environment
Linux, ubuntu 24 host.
Kubernetes 1.29 hosting container
containerd runtime
Additional context
3776 2827 0:403 / / rw,relatime master:1183 - overlay overlay rw,lowerdir=/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/43119/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/43118/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/43117/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/43116/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/43115/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/43114/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/38431/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/38430/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/38429/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/38428/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/38427/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/38426/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/16678/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/16677/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/16676/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/16675/fs,upperdir=/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/43120/fs,workdir=/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/43120/work,uuid=on,nouserxattr
3777 3776 0:405 / /proc rw,nosuid,nodev,noexec,relatime - proc proc rw
3778 3776 0:406 / /dev rw,nosuid - tmpfs tmpfs rw,size=65536k,mode=755,inode64
3779 3778 0:430 / /dev/pts rw,nosuid,noexec,relatime - devpts devpts rw,gid=5,mode=620,ptmxmode=666
3780 3778 0:346 / /dev/mqueue rw,nosuid,nodev,noexec,relatime - mqueue mqueue rw
3781 3776 0:350 / /sys ro,nosuid,nodev,noexec,relatime - sysfs sysfs ro
3798 3781 0:28 / /sys/fs/cgroup ro,nosuid,nodev,noexec,relatime - cgroup2 cgroup rw
3799 3776 0:341 / /home/vault rw,relatime - tmpfs tmpfs rw,size=1601536k,inode64
3804 3776 253:1 /var/lib/kubelet/pods/e2a359d8-761b-44f3-bf63-3a94847c7cfc/etc-hosts /etc/hosts rw,relatime - ext4 /dev/vda1 rw,discard,errors=remount-ro,commit=30
3813 3778 253:1 /var/lib/kubelet/pods/e2a359d8-761b-44f3-bf63-3a94847c7cfc/containers/service-otj-mvc-demo/004322e4 /dev/termination-log rw,relatime - ext4 /dev/vda1 rw,discard,errors=remount-ro,commit=30
3814 3776 253:1 /var/lib/containerd/io.containerd.grpc.v1.cri/sandboxes/aa3547deae6c643d24678989ae8c3044bf3ad77859f2bafe0368b20ee8c3f7e7/hostname /etc/hostname rw,relatime - ext4 /dev/vda1 rw,discard,errors=remount-ro,commit=30
3815 3776 253:1 /var/lib/containerd/io.containerd.grpc.v1.cri/sandboxes/aa3547deae6c643d24678989ae8c3044bf3ad77859f2bafe0368b20ee8c3f7e7/resolv.conf /etc/resolv.conf rw,relatime - ext4 /dev/vda1 rw,discard,errors=remount-ro,commit=30
3816 3778 0:343 / /dev/shm rw,nosuid,nodev,noexec,relatime - tmpfs shm rw,size=65536k,inode64
3817 3776 253:1 /var/lib/kubelet/pods/e2a359d8-761b-44f3-bf63-3a94847c7cfc/volumes/kubernetes.io~empty-dir/sandbox /mnt/ot/sandbox rw,relatime - ext4 /dev/vda1 rw,discard,errors=remount-ro,commit=30
3818 3776 0:342 / /run/secrets/kubernetes.io/serviceaccount ro,relatime - tmpfs tmpfs rw,size=1601536k,inode64
2832 3777 0:405 /bus /proc/bus ro,nosuid,nodev,noexec,relatime - proc proc rw
2833 3777 0:405 /fs /proc/fs ro,nosuid,nodev,noexec,relatime - proc proc rw
2834 3777 0:405 /irq /proc/irq ro,nosuid,nodev,noexec,relatime - proc proc rw
2835 3777 0:405 /sys /proc/sys ro,nosuid,nodev,noexec,relatime - proc proc rw
2836 3777 0:405 /sysrq-trigger /proc/sysrq-trigger ro,nosuid,nodev,noexec,relatime - proc proc rw
2837 3777 0:431 / /proc/acpi ro,relatime - tmpfs tmpfs ro,inode64
2838 3777 0:406 /null /proc/kcore rw,nosuid - tmpfs tmpfs rw,size=65536k,mode=755,inode64
2839 3777 0:406 /null /proc/keys rw,nosuid - tmpfs tmpfs rw,size=65536k,mode=755,inode64
2938 3777 0:406 /null /proc/latency_stats rw,nosuid - tmpfs tmpfs rw,size=65536k,mode=755,inode64
2939 3777 0:406 /null /proc/timer_list rw,nosuid - tmpfs tmpfs rw,size=65536k,mode=755,inode64
2942 3777 0:432 / /proc/scsi ro,relatime - tmpfs tmpfs ro,inode64
2943 3781 0:433 / /sys/firmware ro,relatime - tmpfs tmpfs ro,inode64
Tip
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the CGroupv2 container ID parsing and its regex, then compare its matching behavior with the supplied Kubernetes/containerd mount data. Confirm the issue on the described Linux environment or with equivalent input; done means container.id is populated instead of empty and regression coverage verifies the supported ID formats.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kubernetes, linux
- Domain
- infrastructure, observability
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100