JuliaPerf / JuliaPerf/UProbes.jl

Reading from arguments doesn't work with bpftrace

Open
#2 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
9
Forks
4
PR merge metrics
No merged PRs in 30d

Description

```julia
julia> using UProbes

julia> function f(arg)
if @query(:julia, :test, typeof(arg))
@probe(:julia, :test, arg)
end
end
f (generic function with 1 method)

julia> while true
i = rand(Int64)
f(i)
end
```

```
➜ ~ sudo bpftrace -p 31417 -e "usdt:julia:test { @[comm] = hist(arg0); }"
Attaching 1 probe...
Code not generated for probe: usdt:/tmp/jl_bnvl90:test
```

```
➜ ~ readelf -n /tmp/jl_bnvl90

Displaying notes found in: .note.stapsdt
Owner Data size Description
stapsdt 0x0000002f NT_STAPSDT (SystemTap probe descriptors)
Provider: julia
Name: test
Location: 0x0000000000001005, Base: 0x0000000000002000, Semaphore: 0x0000000000004000
Arguments: -8@-8(%rsp)
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the Julia example using UProbes, then run the shown bpftrace command and inspect the generated probe descriptor with readelf -n. Start by tracing how @probe emits the STAPSDT Arguments entry; done means bpftrace attaches successfully and can read the emitted argument value.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
observability
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.