Tags: parca-dev/parca-agent
Tags
reporter: emit CUDA PC-sample frames (cuda-pc) for per-function symbo… …lization (#3186) Add the CUDAPCFrame case to both location-writer paths (appendLocationV2 and the V1 record path): one mapping per cubin (build_id = cubin CRC FileID), the kernel's mangled name as the system name of a placeholder line (line 0, no function name), and the "cuda-pc" frame type. The backend resolves the source line per function off the kernel name. The stall reason and SASS instruction arrive as the cuda_stall_reason / cuda_sass_instruction sample labels (trace.CustomLabels, handled generically), independent of the frame. Bumps the ebpf-profiler fork to pick up libpf.CUDAPCFrame and the single-frame GPU PC-sample emission (parca-dev/opentelemetry-ebpf-profiler#300). Pinned to a main commit pending a tagged release.
fix: avoid nil dereference in symbol uploader when temp file creation… … fails (#3163) `attemptUpload` creates a temporary file before extracting debuginfo. If `os.Create` fails, the current error path calls `os.Remove(f.Name())`, but `f` is `nil` in that case, so `f.Name()` panics and crashes the agent. I ran into this on a NixOS host after parca-agent panicked in the symbol uploader while processing a wrapper binary under `/run/wrappers/...`. The stack trace pointed back to the `os.Create` error path in `reporter/parca_uploader.go`. This change removes the `os.Remove(f.Name())` call from the `os.Create` error branch. When file creation fails, there is no file to remove, and the function now returns the original `create file` error instead of panicking.
PreviousNext