Co-authored-by: YellowSnnowmann <167776381+YellowSnnowmann@users.noreply.github.com> Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Cyrus Gray <144336577+graycyrus@users.noreply.github.com> Co-authored-by: Horst1993 <horst.w@gmicloud.ai> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: James Gentes <jgentes@users.noreply.github.com> Co-authored-by: Sam <samrusani@users.noreply.github.com> Co-authored-by: Sami Rusani <14844597+samrusani@users.noreply.github.com> Co-authored-by: oxoxDev <164490987+oxoxDev@users.noreply.github.com> Co-authored-by: Muhammad Ismail <78064250+myi1@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: nb213 <binyangzhu000@gmail.com> Co-authored-by: binyangzhu000-sudo <224954946+binyangzhu000-sudo@users.noreply.github.com> Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai> Co-authored-by: CodeGhost21 <164498022+CodeGhost21@users.noreply.github.com> Co-authored-by: sanil-23 <sanil@tinyhumans.ai> Co-authored-by: M3gA-Mind <elvin@mahadao.com> Co-authored-by: oxoxDev <oxoxdev@users.noreply.github.com> Co-authored-by: mysma-9403 <64923976+mysma-9403@users.noreply.github.com> Co-authored-by: mwakidenis <mwakidenice@gmail.com> Co-authored-by: NgoQuocViet2001 <123613986+NgoQuocViet2001@users.noreply.github.com> Co-authored-by: viet.ngo <viet.ngo@sotatek.com> Co-authored-by: Maciej Myszkiewicz <mmyszkiewicz@bwcoders.com>
1.8 KiB
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