use serde::{Serialize, Deserialize};
pub type HeapSnapshotObjectId = String;
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SamplingHeapProfileNode {
pub callFrame: crate::runtime::CallFrame,
pub selfSize: f64,
pub id: u64,
pub children: Vec<SamplingHeapProfileNode>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SamplingHeapProfileSample {
pub size: f64,
pub nodeId: u64,
pub ordinal: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SamplingHeapProfile {
pub head: SamplingHeapProfileNode,
pub samples: Vec<SamplingHeapProfileSample>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AddInspectedHeapObjectParams {
pub heapObjectId: HeapSnapshotObjectId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetHeapObjectIdParams {
pub objectId: crate::runtime::RemoteObjectId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetHeapObjectIdReturns {
pub heapSnapshotObjectId: HeapSnapshotObjectId,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetObjectByHeapObjectIdParams {
pub objectId: HeapSnapshotObjectId,
#[serde(skip_serializing_if = "Option::is_none")]
pub objectGroup: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetObjectByHeapObjectIdReturns {
pub result: crate::runtime::RemoteObject,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetSamplingProfileReturns {
pub profile: SamplingHeapProfile,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct StartSamplingParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub samplingInterval: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub stackDepth: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub includeObjectsCollectedByMajorGC: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub includeObjectsCollectedByMinorGC: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct StartTrackingHeapObjectsParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub trackAllocations: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct StopSamplingReturns {
pub profile: SamplingHeapProfile,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct StopTrackingHeapObjectsParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub reportProgress: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub treatGlobalObjectsAsRoots: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub captureNumericValue: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub exposeInternals: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct TakeHeapSnapshotParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub reportProgress: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub treatGlobalObjectsAsRoots: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub captureNumericValue: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub exposeInternals: Option<bool>,
}