UTSASRG / Scaler

GNU General Public License v2.0
4 stars 0 forks source link

Support profiling for a fraction of the software #24

Closed GammaPi closed 2 years ago

GammaPi commented 2 years ago

We could profiling one library at a time to save overhead. A smarter case would be profiling to a certain depth and then transform to counting.

GammaPi commented 2 years ago

16 related

GammaPi commented 2 years ago

We could let users to relate different parts of the program through program. And then instruct Scaler to profile a certain trace only. We don't need the debugging symbol to do this.

GammaPi commented 2 years ago

This is very useful in distributed applications. Eg: Client send a request with requestID, server accepts the request with requestID. We could implement API for users to specify requestID and relate different parts of the software together. This is what perf cannot achieve

GammaPi commented 2 years ago

The problem is, we currently cannot hook all functions. Only external symbols.

External symbol hooking can tell us the distribution of time between different components. We don't have to hook all non-external functions, but only selected ones. In this way, we can build the correlation between all specified functions.

GammaPi commented 2 years ago

27 Related

GammaPi commented 2 years ago

Not current priority