Skip to content

accept and show stacktraces from uprobes#38

Merged
florianl merged 1 commit intomainfrom
draf-uprobe-support
Aug 11, 2025
Merged

accept and show stacktraces from uprobes#38
florianl merged 1 commit intomainfrom
draf-uprobe-support

Conversation

@florianl
Copy link
Copy Markdown
Member

No description provided.

florianl added a commit to open-telemetry/opentelemetry-ebpf-profiler that referenced this pull request Jul 23, 2025
Add support to dynamically attach to symbols of executables.

E.g. to inspect memory allocations in Go one could attach a uprobe to runtime.mallocgc:

```
sudo ./ebpf-profiler -collection-agent=127.0.0.1:11000 -disable-tls -off-cpu-threshold 0.1 -uprobe /path/to/my/go/executable:runtime.mallocgc
```

Another interesting uproble in Go executables is runtime.gopark, that puts a Go routine into a waiting state.

While ebpf-profiler allows attaching only to a single uprobe, using this project as OTel collector allows to attach to multiple uprobes at ones.

Visualize uprobes with elastic/devfiler#38

Signed-off-by: Florian Lehner <florian.lehner@elastic.co>
florianl added a commit to open-telemetry/opentelemetry-ebpf-profiler that referenced this pull request Jul 23, 2025
Add support to dynamically attach to symbols of executables.

E.g. to inspect memory allocations in Go one could attach a uprobe to runtime.mallocgc:

```
sudo ./ebpf-profiler -collection-agent=127.0.0.1:11000 -disable-tls -off-cpu-threshold 0.1 -uprobe /path/to/my/go/executable:runtime.mallocgc
```

Another interesting uproble in Go executables is runtime.gopark, that puts a Go routine into a waiting state.

While ebpf-profiler allows attaching only to a single uprobe, using this project as OTel collector allows to attach to multiple uprobes at ones.

Visualize uprobes with elastic/devfiler#38

Signed-off-by: Florian Lehner <florian.lehner@elastic.co>
florianl added a commit to open-telemetry/opentelemetry-ebpf-profiler that referenced this pull request Jul 23, 2025
Add support to dynamically attach to symbols of executables.

E.g. to inspect memory allocations in Go one could attach a uprobe to runtime.mallocgc:

```
sudo ./ebpf-profiler -collection-agent=127.0.0.1:11000 -disable-tls -off-cpu-threshold 0.1 -uprobe /path/to/my/go/executable:runtime.mallocgc
```

Another interesting uproble in Go executables is runtime.gopark, that puts a Go routine into a waiting state.

While ebpf-profiler allows attaching only to a single uprobe, using this project as OTel collector allows to attach to multiple uprobes at ones.

Visualize uprobes with elastic/devfiler#38

Signed-off-by: Florian Lehner <florian.lehner@elastic.co>
florianl added a commit to open-telemetry/opentelemetry-ebpf-profiler that referenced this pull request Jul 25, 2025
Add support to dynamically attach to symbols of executables.

E.g. to inspect memory allocations in Go one could attach a uprobe to runtime.mallocgc:

```
sudo ./ebpf-profiler -collection-agent=127.0.0.1:11000 -disable-tls -off-cpu-threshold 0.1 -uprobe /path/to/my/go/executable:runtime.mallocgc
```

Another interesting uproble in Go executables is runtime.gopark, that puts a Go routine into a waiting state.

While ebpf-profiler allows attaching only to a single uprobe, using this project as OTel collector allows to attach to multiple uprobes at ones.

Visualize uprobes with elastic/devfiler#38

Signed-off-by: Florian Lehner <florian.lehner@elastic.co>
@florianl florianl marked this pull request as ready for review July 30, 2025 14:28
@florianl florianl requested a review from a team as a code owner July 30, 2025 14:28
@florianl florianl changed the title [draft] accept and show stacktraces from uprobes accept and show stacktraces from uprobes Jul 30, 2025
florianl added a commit to open-telemetry/opentelemetry-ebpf-profiler that referenced this pull request Aug 5, 2025
Add support to dynamically attach to symbols of executables.

E.g. to inspect memory allocations in Go one could attach a uprobe to runtime.mallocgc:

```
sudo ./ebpf-profiler -collection-agent=127.0.0.1:11000 -disable-tls -off-cpu-threshold 0.1 -uprobe /path/to/my/go/executable:runtime.mallocgc
```

Another interesting uproble in Go executables is runtime.gopark, that puts a Go routine into a waiting state.

While ebpf-profiler allows attaching only to a single uprobe, using this project as OTel collector allows to attach to multiple uprobes at ones.

Visualize uprobes with elastic/devfiler#38

Signed-off-by: Florian Lehner <florian.lehner@elastic.co>
Signed-off-by: Florian Lehner <florian.lehner@elastic.co>
@florianl florianl force-pushed the draf-uprobe-support branch from bdb57cf to 41a36d5 Compare August 5, 2025 09:34
@florianl florianl merged commit 030bf5b into main Aug 11, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants