tauri_plugin_profiling/
config.rs1use serde::{Deserialize, Serialize};
4use std::path::PathBuf;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8#[serde(default)]
9pub struct ProfilingConfig {
10 pub frequency: i32,
12
13 pub output_dir: Option<PathBuf>,
15
16 pub filename_prefix: String,
18}
19
20impl Default for ProfilingConfig {
21 fn default() -> Self {
22 Self {
23 frequency: 100,
24 output_dir: None,
25 filename_prefix: "cpu-profile".to_string(),
26 }
27 }
28}
29
30#[derive(Debug, Clone, Serialize, Deserialize, Default)]
32#[serde(default)]
33pub struct StartOptions {
34 pub frequency: Option<i32>,
36
37 pub filename: Option<String>,
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize)]
43pub struct ProfileResult {
44 pub flamegraph_path: PathBuf,
46
47 pub sample_count: usize,
49
50 pub duration_ms: u64,
52}