4 releases
Uses new Rust 2024
| 0.3.2 | Jan 14, 2026 |
|---|---|
| 0.3.1 | Jan 14, 2026 |
| 0.3.0 | Jan 14, 2026 |
| 0.2.0-canary.21 | Jan 14, 2026 |
#191 in Profiling
3,352 downloads per month
130KB
2K
SLoC
Tauri Plugin Tracing
Integrate Rust's tracing crate with your Tauri app. Bridge logs between Rust and JavaScript with support for file rotation, custom layers, and span visualization.
Installation
[dependencies]
tauri-plugin-tracing = "0.3"
npm install @fltsci/tauri-plugin-tracing
Quick Start
use tauri_plugin_tracing::{Builder, LevelFilter};
fn main() {
tauri::Builder::default()
.plugin(
Builder::new()
.with_max_level(LevelFilter::DEBUG)
.with_default_subscriber()
.build(),
)
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
import { info, attachConsole } from '@fltsci/tauri-plugin-tracing';
await attachConsole(); // See Rust logs in browser console
info('Hello from JS'); // Send JS logs to Rust
Features
- Log levels: trace, debug, info, warn, error
- Targets: stdout, stderr, webview, file (with rotation)
- Filtering: per-module log levels
- Custom layers: OpenTelemetry, Sentry, or any tracing-subscriber layer
- Span visualization: flamegraph/flamechart SVG generation (
flamegraphfeature) - CPU profiling: sampling-based profiling with span correlation (
profilingfeature)
Cargo Features
colored- ANSI color outputspecta- TypeScript type generationflamegraph- Span timing visualizationprofiling- CPU profiling via tauri-plugin-profiling
Console Integration
import { attachConsole, interceptConsole, takeoverConsole } from '@fltsci/tauri-plugin-tracing';
attachConsole(); // Rust logs → browser console
interceptConsole(); // JS console → Rust tracing
takeoverConsole(); // Both directions (full integration)
Documentation
See docs.rs for the full API reference and advanced usage (custom subscribers, file logging, early initialization).
License
MIT
Dependencies
~23–76MB
~1M SLoC