use serde::{Deserialize, Serialize};
use std::time::Duration;
#[derive(Debug, Clone, Serialize, Deserialize, Ord, PartialOrd, Eq, PartialEq, Hash)]
pub struct InstrMetadata {
pub name: String,
pub target: String,
pub module_path: Option<String>,
pub file: Option<String>,
pub line: Option<u32>,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct InstrSpan {
pub thread_id: u64,
pub start_time: Duration,
pub end_time: Duration,
pub executon_time: Duration,
pub user_time: Duration,
pub enter_count: usize,
pub counters: Vec<u64>,
pub parameters: Vec<(String, i128)>,
pub meta: InstrMetadata,
pub max_own_memory: usize,
pub max_own_items: usize,
pub current_tot_memory: usize,
pub current_tot_items: usize,
pub max_memory: usize,
}