js_protocol/heapprofiler/
mod.rs1use serde::{Serialize, Deserialize};
2
3pub type HeapSnapshotObjectId = String;
6
7#[derive(Debug, Clone, Serialize, Deserialize, Default)]
10#[serde(rename_all = "camelCase")]
11pub struct SamplingHeapProfileNode {
12 pub callFrame: crate::runtime::CallFrame,
15 pub selfSize: f64,
18 pub id: u64,
21 pub children: Vec<SamplingHeapProfileNode>,
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize, Default)]
29#[serde(rename_all = "camelCase")]
30pub struct SamplingHeapProfileSample {
31 pub size: f64,
34 pub nodeId: u64,
37 pub ordinal: f64,
41}
42
43#[derive(Debug, Clone, Serialize, Deserialize, Default)]
46#[serde(rename_all = "camelCase")]
47pub struct SamplingHeapProfile {
48
49 pub head: SamplingHeapProfileNode,
50
51 pub samples: Vec<SamplingHeapProfileSample>,
52}
53
54#[derive(Debug, Clone, Serialize, Deserialize, Default)]
58#[serde(rename_all = "camelCase")]
59pub struct AddInspectedHeapObjectParams {
60 pub heapObjectId: HeapSnapshotObjectId,
63}
64
65
66#[derive(Debug, Clone, Serialize, Deserialize, Default)]
67#[serde(rename_all = "camelCase")]
68pub struct GetHeapObjectIdParams {
69 pub objectId: crate::runtime::RemoteObjectId,
72}
73
74
75#[derive(Debug, Clone, Serialize, Deserialize, Default)]
76#[serde(rename_all = "camelCase")]
77pub struct GetHeapObjectIdReturns {
78 pub heapSnapshotObjectId: HeapSnapshotObjectId,
81}
82
83
84#[derive(Debug, Clone, Serialize, Deserialize, Default)]
85#[serde(rename_all = "camelCase")]
86pub struct GetObjectByHeapObjectIdParams {
87
88 pub objectId: HeapSnapshotObjectId,
89 #[serde(skip_serializing_if = "Option::is_none")]
92 pub objectGroup: Option<String>,
93}
94
95
96#[derive(Debug, Clone, Serialize, Deserialize, Default)]
97#[serde(rename_all = "camelCase")]
98pub struct GetObjectByHeapObjectIdReturns {
99 pub result: crate::runtime::RemoteObject,
102}
103
104
105#[derive(Debug, Clone, Serialize, Deserialize, Default)]
106#[serde(rename_all = "camelCase")]
107pub struct GetSamplingProfileReturns {
108 pub profile: SamplingHeapProfile,
111}
112
113
114#[derive(Debug, Clone, Serialize, Deserialize, Default)]
115#[serde(rename_all = "camelCase")]
116pub struct StartSamplingParams {
117 #[serde(skip_serializing_if = "Option::is_none")]
121 pub samplingInterval: Option<f64>,
122 #[serde(skip_serializing_if = "Option::is_none")]
125 pub stackDepth: Option<f64>,
126 #[serde(skip_serializing_if = "Option::is_none")]
135 pub includeObjectsCollectedByMajorGC: Option<bool>,
136 #[serde(skip_serializing_if = "Option::is_none")]
145 pub includeObjectsCollectedByMinorGC: Option<bool>,
146}
147
148
149#[derive(Debug, Clone, Serialize, Deserialize, Default)]
150#[serde(rename_all = "camelCase")]
151pub struct StartTrackingHeapObjectsParams {
152
153 #[serde(skip_serializing_if = "Option::is_none")]
154 pub trackAllocations: Option<bool>,
155}
156
157
158#[derive(Debug, Clone, Serialize, Deserialize, Default)]
159#[serde(rename_all = "camelCase")]
160pub struct StopSamplingReturns {
161 pub profile: SamplingHeapProfile,
164}
165
166
167#[derive(Debug, Clone, Serialize, Deserialize, Default)]
168#[serde(rename_all = "camelCase")]
169pub struct StopTrackingHeapObjectsParams {
170 #[serde(skip_serializing_if = "Option::is_none")]
174 pub reportProgress: Option<bool>,
175 #[serde(skip_serializing_if = "Option::is_none")]
178 pub treatGlobalObjectsAsRoots: Option<bool>,
179 #[serde(skip_serializing_if = "Option::is_none")]
182 pub captureNumericValue: Option<bool>,
183 #[serde(skip_serializing_if = "Option::is_none")]
186 pub exposeInternals: Option<bool>,
187}
188
189
190#[derive(Debug, Clone, Serialize, Deserialize, Default)]
191#[serde(rename_all = "camelCase")]
192pub struct TakeHeapSnapshotParams {
193 #[serde(skip_serializing_if = "Option::is_none")]
196 pub reportProgress: Option<bool>,
197 #[serde(skip_serializing_if = "Option::is_none")]
201 pub treatGlobalObjectsAsRoots: Option<bool>,
202 #[serde(skip_serializing_if = "Option::is_none")]
205 pub captureNumericValue: Option<bool>,
206 #[serde(skip_serializing_if = "Option::is_none")]
209 pub exposeInternals: Option<bool>,
210}