open-telemetry / open-telemetry/opentelemetry-java-instrumentation

ContainerResource fails on our systems

Open
#14,890 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs triage
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.