iovisor / iovisor/bcc

How to make `offcputime` and similar tools work with `Rust`?

Open
#5,204 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
22.7k
Forks
4.1k
Avg merge
5d 13h
Merged PRs (30d)
3

Description

I need to get `bcc` tools to work with `Rust`.

It seems to work correctly with C programs, but not Rust programs.
If I'm right it's due to te difference in debug symbols (cause it kinda works but not 100% the way its suppose to).
I can see the most outer funcs, but not the ones inside them.
So if I have `a->b->c` I will only see `a` and then some systemcalls in the reslting flamegraph.
If it wac a C program `a->b->c` would be present just as expected.

Is there a known workaround?
If no, then what is responsible for getting debug sybmols?
What part of the code should I change if any?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the report with a Rust program containing nested functions and the offcputime tool, then compare its flamegraph with the reported C behavior. Trace how debug symbols and stack frames are obtained; done means inner Rust functions appear correctly rather than only the outer function and system calls.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux, rust
Domain
observability
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.