Files

Tauri resource profiler

Offline developer tool for measuring a locally running OpenHuman desktop app. It is a standalone Cargo crate and is not linked into, registered with, or shipped in the Tauri app.

Capture

Start the current checkout:

pnpm dev:app

Find the main host PID, excluding OpenHuman Helper processes:

pgrep -fl '/OpenHuman$'

Then capture a representative workload:

pnpm profile:tauri --pid <PID> --duration 15

Useful options:

--interval-ms 250
--out target/profile/my-scenario
--no-stacks

The default output directory is target/profile/tauri-resources-. Each run writes:

  • resources.md: summary table for the Rust host, CEF process roles, and total desktop process tree.
  • resources.json: raw time series plus mean and peak values.
  • cpu-stacks.txt: macOS sample report for the host process. This is enabled by default on macOS and can be disabled with --no-stacks.

Attribution boundary

The Rust core runs inside the Tauri host process. Operating-system CPU and RAM metrics therefore cannot split the shell from openhuman_core, or assign heap pages to individual Rust modules. The profiler reports that combined process honestly as Tauri host + embedded Rust core.

CEF renderer, GPU, utility, and other helper processes are separate and are reported independently. On macOS, the tool also parses the recursive stack counts from cpu-stacks.txt and groups OpenHuman symbols by Rust domain, such as openhuman_core::openhuman::agent or openhuman::core_process.

CPU percentages are percentages of one logical CPU and may exceed 100 when a component uses multiple cores. RAM is resident memory reported by sysinfo.

For the smaller embedded-core-only Linux RSS/PSS benchmark, use the existing root rss-bench harness:

cargo build --release --features rss-bench --bin rss-bench