Closed GammaPi closed 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.
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
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.
Not current priority
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.