Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Figure out a way to store and process CPU information #152

Open
gnufied opened this issue Feb 25, 2015 · 1 comment
Open

Figure out a way to store and process CPU information #152

gnufied opened this issue Feb 25, 2015 · 1 comment
Assignees

Comments

@gnufied
Copy link
Contributor

gnufied commented Feb 25, 2015

No description provided.

@gnufied gnufied added this to the v0.3.0 CPU profiling milestone Feb 25, 2015
@iffyuva iffyuva self-assigned this Feb 26, 2015
@iffyuva
Copy link
Member

iffyuva commented Feb 26, 2015

so, i have this vague generalization for the way we are doing cpu profiling, and sampling profiling:

sampling profiling: backend ie rbkit (in future) will send the whole call stack in fixed intervals. for better understanding, lets assume time difference between two samples is 1ns ie 1ns interval. in case of sampling profiling, we don't have to construct call stack, ie list of callers and callees the time which sample is taken, and it will be readily provided by backend.

cpu profiling implemented in rbkit: if we look at time granularity, least unit of measurement is nanosecond (lets ignore cpu ticks for now). by implementing virtual stack we can get list of callers and callees, so, the problem becomes very much similar to sampling profiling because we can determine call stack for each nano second.

if we separate virtual stack code to construct list of callers and callees, the code to display and interact with callgraph can be re-used in both the cases.

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

No branches or pull requests

2 participants