use serde::{Deserialize, Serialize};
use crate::scope::Scope;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CaptureOptions {
pub thread_buffer_capacity: usize,
pub drain_threshold: usize,
pub enable_domains: Vec<Scope>,
pub wall_clock: bool,
pub deterministic: bool,
}
impl Default for CaptureOptions {
fn default() -> Self {
CaptureOptions {
thread_buffer_capacity: 2048,
drain_threshold: 512,
enable_domains: Vec::new(),
wall_clock: true,
deterministic: false,
}
}
}
#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)]
pub struct HardwareProfile {
pub gpu_vendor: Option<String>,
pub gpu_model: Option<String>,
pub integrated: Option<bool>,
pub rebar_enabled: Option<bool>,
pub host_visible_vram: Option<bool>,
pub ram_bytes: Option<u64>,
pub cpu_cores: Option<u32>,
pub kernel: Option<String>,
pub cpu_model: Option<String>,
}