-
Notifications
You must be signed in to change notification settings - Fork 361
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
Investigate measureme
intergration
#1782
Comments
Does measureme have support for "multiple independent stacks"? This sounds like something that would also come up e.g. with concurrent execution of queries. |
Measureme supports multiple threads. It doesn't natively support indicating that a thread is currently not scheduled, but you could add an event for that beginning when the thread stops running and stopping once it gets scheduled again. |
This was implemented in #1791. We still night want to investigate some form of sampling, to prevent the generated profiler output from becoming enormous on long runs. |
What's a "splint"? |
That was supposed to say 'sampling' - I have no idea how autocorrect ended up with 'splint' :laug |
Okay. So do you want to keep the issue open for that? The issue title and description don't match, so a new issue might be better. Or we could update those. |
Closing this for now as "fixed by #1791", if you think more could be done here please open a new issue that describes the details. :) |
The rust compiler uses measureme to profile query execution times. I think it would be relatively straightforward to integrate this into Miri to allow profiling the underlying program being executed. For example, we could generate a measureme 'event' when we start executing a MIR body, allowing us to generate a 'callstack' of functions that consume a large amount of execution time under Miri. This could be useful in tracking down issues like #1780, where Miri is spending a large amount of time executing some particular part of the program.
Integrating this with Miri's virtual threads could be tricky, so we could limit this to the single-threaded case at first.
The text was updated successfully, but these errors were encountered: