@fltsci/tauri-plugin-profiling
v0.1.0
Published
Tauri plugin for CPU profiling with flamegraph generation
Downloads
39
Maintainers
Readme
tauri-plugin-profiling
A 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 |
Installation
[dependencies]
tauri-plugin-profiling = { git = "https://github.com/fltsci/tauri-plugin-profiling" }pnpm add @tauri-apps/plugin-profilingUsage
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(())
})JavaScript
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());License
MIT OR Apache-2.0
