-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
[FR] Add support for adding custom profilers #1807
Comments
xdje42
added a commit
to xdje42/google-benchmark
that referenced
this issue
Jul 1, 2024
This API is akin to the MemoryManager API and lets tools provide their own profiler which is wrapped in the same way MemoryManager is wrapped. Namely, the profiler provides Start/Stop methods that are called at the start/end of running the benchmark in a separate pass.
xdje42
added a commit
to xdje42/google-benchmark
that referenced
this issue
Jul 11, 2024
This API is akin to the MemoryManager API and lets tools provide their own profiler which is wrapped in the same way MemoryManager is wrapped. Namely, the profiler provides Start/Stop methods that are called at the start/end of running the benchmark in a separate pass.
xdje42
added a commit
to xdje42/google-benchmark
that referenced
this issue
Jul 11, 2024
This API is akin to the MemoryManager API and lets tools provide their own profiler which is wrapped in the same way MemoryManager is wrapped. Namely, the profiler provides Start/Stop methods that are called at the start/end of running the benchmark in a separate pass.
xdje42
added a commit
to xdje42/google-benchmark
that referenced
this issue
Jul 16, 2024
This API is akin to the MemoryManager API and lets tools provide their own profiler which is wrapped in the same way MemoryManager is wrapped. Namely, the profiler provides Start/Stop methods that are called at the start/end of running the benchmark in a separate pass.
dmah42
added a commit
that referenced
this issue
Jul 16, 2024
This API is akin to the MemoryManager API and lets tools provide their own profiler which is wrapped in the same way MemoryManager is wrapped. Namely, the profiler provides Start/Stop methods that are called at the start/end of running the benchmark in a separate pass. Co-authored-by: dominic <[email protected]>
xdje42
added a commit
to xdje42/google-benchmark
that referenced
this issue
Jul 22, 2024
…oogle#1807 Previously, the Start/Stop routines were called before the benchmark function was called and after it returned. However, what we really want is for them to be called within the core of the benchmark: for (auto _ : state) { // This is what we want traced, not the entire BM_foo function. }
xdje42
added a commit
to xdje42/google-benchmark
that referenced
this issue
Jul 24, 2024
…oogle#1807 Previously, the Start/Stop routines were called before the benchmark function was called and after it returned. However, what we really want is for them to be called within the core of the benchmark: for (auto _ : state) { // This is what we want traced, not the entire BM_foo function. }
xdje42
added a commit
to xdje42/google-benchmark
that referenced
this issue
Jul 25, 2024
…oogle#1807 Previously, the Start/Stop routines were called before the benchmark function was called and after it returned. However, what we really want is for them to be called within the core of the benchmark: for (auto _ : state) { // This is what we want traced, not the entire BM_foo function. }
dmah42
pushed a commit
that referenced
this issue
Aug 1, 2024
…1807 (#1818) Previously, the Start/Stop routines were called before the benchmark function was called and after it returned. However, what we really want is for them to be called within the core of the benchmark: for (auto _ : state) { // This is what we want traced, not the entire BM_foo function. }
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
It is useful to get a trace of a benchmark, e.g., with DynamoRio (https://dynamorio.org/).
What's needed is a public API akin to the MemoryManager API that provides for wrapping the running of the benchmark.
Suitable binaries can register the profiler (akin to how a memory manager is specified), and the framework
can invoke the profiler during the run (again, akin to how memory manager is handled).
The text was updated successfully, but these errors were encountered: