tauri-plugin-profiling

Crates.iotauri-plugin-profiling
lib.rstauri-plugin-profiling
version0.1.0
created_at2026-01-14 20:32:43.648411+00
updated_at2026-01-14 20:32:43.648411+00
descriptionTauri plugin for CPU profiling with flamegraph generation
homepage
repositoryhttps://github.com/fltsci/tauri-plugin-profiling
max_upload_size
id2043724
size315,190
John Carmack (johncarmack1984)

documentation

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-profiling

Usage

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

Commit count: 1

cargo fmt