[workspace]
members = ["examples/basic/src-tauri"]
resolver = "2"
[package]
authors = ["Flight Science"]
categories = ["development-tools::profiling", "gui"]
description = "Tauri plugin for CPU profiling with flamegraph generation"
edition = "2024"
exclude = ["/dist-js", "/examples", "/guest-js", "/node_modules"]
keywords = ["flamegraph", "performance", "profiling", "tauri"]
license = "MIT OR Apache-2.0"
links = "tauri-plugin-profiling"
name = "tauri-plugin-profiling"
repository = "https://github.com/fltsci/tauri-plugin-profiling"
version = "0.1.0"
[workspace.metadata.platforms.support]
android = { level = "none", notes = "Not supported" }
ios = { level = "none", notes = "Not supported" }
linux = { level = "full", notes = "Uses pprof-rs with SIGPROF" }
macos = { level = "full", notes = "Uses pprof-rs with SIGPROF" }
windows = { level = "full", notes = "Uses SuspendThread + StackWalk64" }
[workspace.lints.clippy]
expect_used = "deny"
unwrap_used = "deny"
[lints]
workspace = true
[build-dependencies]
tauri-plugin = { features = ["build"], version = "2" }
[workspace.dependencies]
criterion = { features = ["html_reports"], version = "0.5" }
inferno = "0.11"
log = "0.4"
serde = { features = ["derive"], version = "1" }
serde_json = "1"
tauri = { default-features = false, version = "2" }
tempfile = "3"
thiserror = "2"
[dependencies]
inferno.workspace = true
log.workspace = true
serde.workspace = true
serde_json.workspace = true
tauri.workspace = true
thiserror.workspace = true
[target.'cfg(unix)'.dependencies]
pprof = { default-features = false, features = [
"flamegraph",
"frame-pointer",
], version = "0.14" }
[target.'cfg(windows)'.dependencies]
backtrace = "0.3"
windows = { features = [
"Win32_Foundation",
"Win32_Security",
"Win32_System_Diagnostics_Debug",
"Win32_System_Diagnostics_ToolHelp",
"Win32_System_Kernel",
"Win32_System_SystemInformation",
"Win32_System_SystemServices",
"Win32_System_Threading",
], version = "0.58" }
[dev-dependencies]
criterion.workspace = true
tempfile.workspace = true
[profile.release]
codegen-units = 1
incremental = false
lto = true
opt-level = "s"
panic = "abort"
[[bench]]
harness = false
name = "profiler"
path = "bench-rs/profiler.rs"