Tauri plugin for CPU profiling with flamegraph generation
npm install @fltsci/tauri-plugin-profilingA Tauri v2 plugin for CPU profiling with flamegraph generation.
Provides actual CPU profiling using sampling-based techniques, complementing tauri-plugin-tracing which provides span timing (wall-clock time including I/O waits).
| Platform | Backend |
|----------|---------|
| macOS/Linux | pprof-rs (SIGPROF) |
| Windows | SuspendThread + StackWalk64 |
``toml`
[dependencies]
tauri-plugin-profiling = { git = "https://github.com/fltsci/tauri-plugin-profiling" }
`bash`
pnpm add @tauri-apps/plugin-profiling
`rust
use tauri_plugin_profiling::ProfilingExt;
tauri::Builder::default()
.plugin(tauri_plugin_profiling::init())
.setup(|app| {
app.start_cpu_profile()?;
// ... work ...
let result = app.stop_cpu_profile()?;
println!("Flamegraph: {:?}", result.flamegraph_path);
Ok(())
})
`
`typescript
import { startCpuProfile, stopCpuProfile, withProfiling } from '@tauri-apps/plugin-profiling';
await startCpuProfile({ frequency: 100 });
await doExpensiveOperation();
const result = await stopCpuProfile();
// Or use the convenience wrapper
const { result, profile } = await withProfiling(async () => processData());
``
MIT OR Apache-2.0