Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions benchkit/commandwrappers/javaperf.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

from benchkit.benchmark import RecordResult, WriteRecordFileFunction
from benchkit.commandwrappers.perf import (
PerfReportWrap,
PerfRecordWrap,
PerfStatWrap,
_perf_command_prefix,
)
Expand Down Expand Up @@ -206,7 +206,7 @@ def _results_global(
return output_dict


class JavaPerfReportWrap(PerfReportWrap):
class JavaPerfRecordWrap(PerfRecordWrap):
"""Command wrapper for the `perf record`/`perf report` utility."""

def __init__(self, **kwargs):
Expand Down
8 changes: 4 additions & 4 deletions benchkit/commandwrappers/javaspeedupstack.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Copyright (C) 2025 Vrije Universiteit Brussel. All rights reserved.
# SPDX-License-Identifier: MIT

from benchkit.commandwrappers.javaperf import JavaPerfReportWrap, JavaPerfStatWrap
from benchkit.commandwrappers.javaperf import JavaPerfRecordWrap, JavaPerfStatWrap
from benchkit.commandwrappers.jvmxlog import JVMXlogWrap
from benchkit.platforms import get_current_platform

Expand All @@ -23,7 +23,7 @@ def __init__(self) -> None:

self.jvmxlogwrap = JVMXlogWrap()

self.javaperfreportwrap = JavaPerfReportWrap(
self.javaperfrecordwrap = JavaPerfRecordWrap(
perf_record_options=["-e", "syscalls:sys_enter_futex,syscalls:sys_exit_futex"],
perf_report_options=[],
report_file=True,
Expand All @@ -41,7 +41,7 @@ def command_attachments(self):
record_data_dir=record_data_dir,
poll_ms=100,
),
lambda process, record_data_dir: self.javaperfreportwrap.attach_every_thread(
lambda process, record_data_dir: self.javaperfrecordwrap.attach_every_thread(
platform=get_current_platform(),
process=process,
record_data_dir=record_data_dir,
Expand All @@ -52,5 +52,5 @@ def post_run_hooks(self):
return [
self.javaperfstatwrap.post_run_hook_update_results,
self.jvmxlogwrap.post_run_hook_update_results,
self.javaperfreportwrap.post_run_hook_report,
self.javaperfrecordwrap.post_run_hook_report,
]
2 changes: 1 addition & 1 deletion benchkit/commandwrappers/perf.py
Original file line number Diff line number Diff line change
Expand Up @@ -646,7 +646,7 @@ def _results_global(
return output_dict


class PerfReportWrap(CommandWrapper):
class PerfRecordWrap(CommandWrapper):
"""Command wrapper for the `perf record`/`perf report` utility."""

def __init__(
Expand Down
8 changes: 4 additions & 4 deletions docs/wrappers.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,14 @@ graph see [hooks](hooks.md).
Runs the [`perf`](https://perf.wiki.kernel.org) Linux utility on your benchmark.
This wrapper can be created in the following way:
```python
from benchkit.commandwrappers.perf import PerfStatWrap, PerfReportWrap
from benchkit.commandwrappers.perf import PerfStatWrap, PerfRecordWrap

perfStatWrap = PerfStatWrap(events=["cache-misses"])
perfReportWrap = PerfReportWrap()
perfRecordWrap = PerfRecordWrap()
```

There are two versions of the `perf` wrapper, `PerfStatWrap` will wrap
you command with the `perf stat` command, while `PerfReportWrap` will
you command with the `perf stat` command, while `PerfRecordWrap` will
wrap your command with `perf record` and `perf report`.

When using `PerfStatWrap`, you should also pass the `events` argument,
Expand All @@ -93,7 +93,7 @@ this argument decides with [PMU]() events `perf` should record.
`PerfStatWrap` has the following [hooks](hooks.md):
* `post_run_hook_update_results`

`PerfReportWrap` has the following [hooks](hooks.md):
`PerfRecordWrap` has the following [hooks](hooks.md):
* `post_run_hook_flamegraph`
* `post_run_hook_report`

Expand Down
4 changes: 2 additions & 2 deletions tests/campaigns/campaign_flame.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from benchkit.benches.small.dd import DDBench
from benchkit.benches.small.sleep import SleepBench
from benchkit.campaign import CampaignSuite
from benchkit.commandwrappers.perf import PerfReportWrap, enable_non_sudo_perf
from benchkit.commandwrappers.perf import PerfRecordWrap, enable_non_sudo_perf
from benchkit.platforms import get_current_platform
from benchkit.utils.dir import get_tools_dir

Expand Down Expand Up @@ -49,7 +49,7 @@ def main() -> None:
flamegraph_dir = get_tools_dir(None) / "FlameGraph"

# --- shared perf wrapper (one instance is fine for sequential campaigns) ---
perf_wrapper = PerfReportWrap(
perf_wrapper = PerfRecordWrap(
freq=99,
report_interactive=False,
report_file=True,
Expand Down
4 changes: 2 additions & 2 deletions tests/campaigns/campaign_flame_fzf.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# SPDX-License-Identifier: MIT
from benchkit import CampaignCartesianProduct
from benchkit.benches.small.dd import DDBench
from benchkit.commandwrappers.perf import PerfReportWrap, enable_non_sudo_perf
from benchkit.commandwrappers.perf import PerfRecordWrap, enable_non_sudo_perf
from benchkit.platforms import get_current_platform
from benchkit.utils.dir import get_tools_dir

Expand All @@ -13,7 +13,7 @@ def main() -> None:
enable_non_sudo_perf(comm_layer=platform.comm)

flamegraph_dir = get_tools_dir(None) / "FlameGraph"
perf_wrapper = PerfReportWrap(
perf_wrapper = PerfRecordWrap(
freq=99,
report_interactive=False,
report_file=True,
Expand Down
4 changes: 2 additions & 2 deletions tutorials/cgol-bench/cpu/campaign_cgol_flamegraph.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
from cgol_cpu import cgol_campaign

from benchkit.campaign import CampaignSuite
from benchkit.commandwrappers.perf import PerfReportWrap
from benchkit.commandwrappers.perf import PerfRecordWrap
from benchkit.utils.dir import get_curdir


def create_campaign_for_version(cgol_dir, flamegraph_dir, version_nr):
version_src_dir = cgol_dir / f"version-{version_nr}"
wrapper = PerfReportWrap(
wrapper = PerfRecordWrap(
flamegraph_path=flamegraph_dir,
perf_record_options=["--call-graph", "dwarf", "-g", "--all-user"],
)
Expand Down
4 changes: 2 additions & 2 deletions tutorials/leveldb-bench/campaign_leveldb_flame.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from leveldb import leveldb_campaign

from benchkit.campaign import CampaignSuite
from benchkit.commandwrappers.perf import PerfReportWrap, enable_non_sudo_perf
from benchkit.commandwrappers.perf import PerfRecordWrap, enable_non_sudo_perf
from benchkit.platforms import get_current_platform
from benchkit.utils.dir import caller_dir, get_curdir

Expand All @@ -26,7 +26,7 @@ def main() -> None:

# Define the "perf-record" command wrapper to be passed to the benchmark initialization.
# It is used to collect information from the PMCs, to later generate the associated flamegraph.
perf_wrapper = PerfReportWrap(
perf_wrapper = PerfRecordWrap(
freq=99,
# freq=10,
report_interactive=False,
Expand Down