Skip to content

build: bump pyroscope/ebpf fork for CPython 3.14 support#330

Draft
gecube wants to merge 1 commit into
coroot:mainfrom
gecube:feat/python-3.14
Draft

build: bump pyroscope/ebpf fork for CPython 3.14 support#330
gecube wants to merge 1 commit into
coroot:mainfrom
gecube:feat/python-3.14

Conversation

@gecube

@gecube gecube commented Jul 6, 2026

Copy link
Copy Markdown

Draft — blocked on coroot/pyroscope#3.
The Python 3.14 offsets live in the pyroscope eBPF fork. This PR just bumps the replace pin so node-agent picks them up. It's temporarily pinned to the PR branch commit; once coroot/pyroscope#3 merges I'll repoint it to the coroot/pyroscope commit and mark ready.

What

Python 3.14 processes aren't profiled today: the eBPF Python unwinder (from github.com/grafana/pyroscope/ebpf, replaced with the coroot/pyroscope fork) has no offset table for 3.14, so GetUserOffsets returns unsupported version and no profiles are produced. Reported in #318.

This bumps the fork pin to the commit that adds the CPython 3.14 offset table:

-  github.com/grafana/pyroscope/ebpf => github.com/coroot/pyroscope/ebpf v0.0.0-20260413145227-9cce3f956c8e
+  github.com/grafana/pyroscope/ebpf => github.com/gecube/pyroscope/ebpf v0.0.0-20260706122038-22b69c8c6af6

(pyroscope-side change: coroot/pyroscope#3)

Verification

  • go mod tidy clean; go build ./profiling/ and go vet ./profiling/ pass with the bumped dependency.
  • Runtime A/B against a live python:3.14.6 process (same PID), eBPF session with PythonEnabled:
    • before: pyperf get python process data failed err="unsupported python version ... {3 14 6}"
    • after: pyperf process profiling init success ... Version:{Major:3 Minor:14 Patch:6}

Before marking ready

Fixes #318.

Repoint the github.com/grafana/pyroscope/ebpf replace at the fork commit
that adds the CPython 3.14 offset table, so node-agent profiles Python
3.14 processes instead of failing with "unsupported python version".

Fixes coroot#318.

Draft note: temporarily pinned to the coroot/pyroscope#3 branch. Before
merge this will be repointed to the coroot/pyroscope commit once coroot#3 lands.

Signed-off-by: Gaál György <gb12335@gmail.com>
@def def added the AI slop label Jul 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

no python symbolization (and no profiles for python 3.14)

2 participants