[rocprofiler-compute][TUI] improve for cross-platform uses (#1007)

This commit is contained in:
xuchen-amd
2025-09-23 10:59:29 -04:00
committed by GitHub
parent 97fc90c58f
commit 68cd123b0f
3 changed files with 13 additions and 11 deletions
@@ -114,7 +114,7 @@ class tui_analysis(OmniAnalyze_Base):
self, normalization_filter: Optional[str] = None
) -> OrderedDict[str, schema.Workload]:
# Load system info and configure
sys_info = file_io.load_sys_info(f"{self.path}/sysinfo.csv")
sys_info = file_io.load_sys_info(str(Path(self.path) / "sysinfo.csv"))
arch = sys_info.iloc[0]["gpu_arch"]
self.generate_configs(
@@ -54,7 +54,7 @@ class RocprofTUIApp(App):
TITLE = f"{APP_TITLE} v{VERSION}"
SUB_TITLE = "Workload Analysis Tool"
CSS_PATH = "assets/style.css"
CSS_PATH = str(Path(__file__).parent / "assets" / "style.css")
BINDINGS = [
Binding(key="q", action="quit", description="Quit"),
Binding(key="r", action="refresh", description="Refresh"),
@@ -105,7 +105,7 @@ class RocprofTUIApp(App):
json.dump(self.recent_dirs, f, indent=2)
def add_recent_dir(self, directory: str) -> None:
directory = str(Path(directory).absolute())
directory = str(Path(directory).resolve())
# Remove if exists, add to front, keep max 5
if directory in self.recent_dirs:
@@ -114,11 +114,6 @@ class RocprofTUIApp(App):
self.recent_dirs = self.recent_dirs[:5]
self._save_recent_dirs()
def on_recent_selected(self, selected_dir: Optional[str]) -> None:
if selected_dir:
self.main_view.selected_path = Path(selected_dir)
self.main_view.run_analysis()
@on(Button.Pressed, "#menu-open-workload")
@work
async def pick_directory(self) -> None:
@@ -88,9 +88,16 @@ class MenuBar(Container):
def on_recent_selected(selected_dir: Optional[str]) -> None:
if selected_dir:
self.parent_main_view.selected_path = Path(selected_dir)
self.query_one("#file-dropdown", DropdownMenu).add_class("hidden")
self.parent_main_view.run_analysis()
path_obj = Path(selected_dir)
if path_obj.exists():
self.parent_main_view.selected_path = path_obj
self.query_one("#file-dropdown", DropdownMenu).add_class("hidden")
self.parent_main_view.run_analysis()
else:
# Remove non-existent path from recent dirs
if selected_dir in self.app.recent_dirs:
self.app.recent_dirs.remove(selected_dir)
self.app._save_recent_dirs()
self.app.push_screen(
RecentDirectoriesScreen(self.app.recent_dirs), on_recent_selected