• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #include "arkts_stdtype.h"
16 
17 namespace SysTuning {
18 namespace TraceStdtype {
AppendNewData(uint32_t id,std::string filePath,uint64_t startTime,uint64_t endTime,uint64_t selfSizeCount)19 size_t JsHeapFiles::AppendNewData(uint32_t id,
20                                   std::string filePath,
21                                   uint64_t startTime,
22                                   uint64_t endTime,
23                                   uint64_t selfSizeCount)
24 {
25     fileIds_.emplace_back(id);
26     filePaths_.emplace_back(filePath);
27     startTimes_.emplace_back(startTime);
28     endTimes_.emplace_back(endTime);
29     selfSizeCount_.emplace_back(selfSizeCount);
30     ids_.emplace_back(Size());
31     return Size() - 1;
32 }
IDs() const33 const std::deque<uint32_t>& JsHeapFiles::IDs() const
34 {
35     return fileIds_;
36 }
FilePaths() const37 const std::deque<std::string>& JsHeapFiles::FilePaths() const
38 {
39     return filePaths_;
40 }
StartTimes() const41 const std::deque<uint64_t>& JsHeapFiles::StartTimes() const
42 {
43     return startTimes_;
44 }
EndTimes() const45 const std::deque<uint64_t>& JsHeapFiles::EndTimes() const
46 {
47     return endTimes_;
48 }
49 
SelfSizeCount() const50 const std::deque<uint64_t>& JsHeapFiles::SelfSizeCount() const
51 {
52     return selfSizeCount_;
53 }
54 
AppendNewData(uint32_t fileId,uint32_t edgeIndex,uint32_t type,uint32_t nameOrIndex,uint32_t toNode,uint32_t fromNodeId,uint32_t toNodeId)55 size_t JsHeapEdges::AppendNewData(uint32_t fileId,
56                                   uint32_t edgeIndex,
57                                   uint32_t type,
58                                   uint32_t nameOrIndex,
59                                   uint32_t toNode,
60                                   uint32_t fromNodeId,
61                                   uint32_t toNodeId)
62 {
63     fileIds_.emplace_back(fileId);
64     edgeIndexs_.emplace_back(edgeIndex);
65     types_.emplace_back(type);
66     nameOrIndexs_.emplace_back(nameOrIndex);
67     toNodes_.emplace_back(toNode);
68     fromNodeIds_.emplace_back(fromNodeId);
69     toNodeIds_.emplace_back(toNodeId);
70     ids_.emplace_back(Size());
71     return Size() - 1;
72 }
FileIds() const73 const std::deque<uint32_t>& JsHeapEdges::FileIds() const
74 {
75     return fileIds_;
76 }
EdgeIndexs() const77 const std::deque<uint32_t>& JsHeapEdges::EdgeIndexs() const
78 {
79     return edgeIndexs_;
80 }
Types() const81 const std::deque<uint32_t>& JsHeapEdges::Types() const
82 {
83     return types_;
84 }
NameOrIndexs() const85 const std::deque<uint32_t>& JsHeapEdges::NameOrIndexs() const
86 {
87     return nameOrIndexs_;
88 }
ToNodes() const89 const std::deque<uint32_t>& JsHeapEdges::ToNodes() const
90 {
91     return toNodes_;
92 }
FromNodeIds() const93 const std::deque<uint32_t>& JsHeapEdges::FromNodeIds() const
94 {
95     return fromNodeIds_;
96 }
ToNodeIds() const97 const std::deque<uint32_t>& JsHeapEdges::ToNodeIds() const
98 {
99     return toNodeIds_;
100 }
101 
102 size_t
AppendNewData(uint32_t fileId,std::string key,uint32_t type,int32_t intValue,std::string strValue)103     JsHeapInfo::AppendNewData(uint32_t fileId, std::string key, uint32_t type, int32_t intValue, std::string strValue)
104 {
105     fileIds_.emplace_back(fileId);
106     keys_.emplace_back(key);
107     types_.emplace_back(type);
108     intValues_.emplace_back(intValue);
109     strValues_.emplace_back(strValue);
110     ids_.emplace_back(Size());
111     return Size() - 1;
112 }
FileIds() const113 const std::deque<uint32_t>& JsHeapInfo::FileIds() const
114 {
115     return fileIds_;
116 }
Keys() const117 const std::deque<std::string>& JsHeapInfo::Keys() const
118 {
119     return keys_;
120 }
Types() const121 const std::deque<uint32_t>& JsHeapInfo::Types() const
122 {
123     return types_;
124 }
IntValues() const125 const std::deque<int32_t>& JsHeapInfo::IntValues() const
126 {
127     return intValues_;
128 }
StrValues() const129 const std::deque<std::string>& JsHeapInfo::StrValues() const
130 {
131     return strValues_;
132 }
133 
AppendNewData(uint32_t fileId,uint32_t objectIndex,uint32_t scriptId,uint32_t line,uint32_t column)134 size_t JsHeapLocation::AppendNewData(uint32_t fileId,
135                                      uint32_t objectIndex,
136                                      uint32_t scriptId,
137                                      uint32_t line,
138                                      uint32_t column)
139 {
140     fileIds_.emplace_back(fileId);
141     objectIndexs_.emplace_back(objectIndex);
142     scriptIds_.emplace_back(scriptId);
143     lines_.emplace_back(line);
144     columns_.emplace_back(column);
145     ids_.emplace_back(Size());
146     return Size() - 1;
147 }
FileIds() const148 const std::deque<uint32_t>& JsHeapLocation::FileIds() const
149 {
150     return fileIds_;
151 }
ObjectIndexs() const152 const std::deque<uint32_t>& JsHeapLocation::ObjectIndexs() const
153 {
154     return objectIndexs_;
155 }
ScriptIds() const156 const std::deque<uint32_t>& JsHeapLocation::ScriptIds() const
157 {
158     return scriptIds_;
159 }
Lines() const160 const std::deque<uint32_t>& JsHeapLocation::Lines() const
161 {
162     return lines_;
163 }
Columns() const164 const std::deque<uint32_t>& JsHeapLocation::Columns() const
165 {
166     return columns_;
167 }
168 
AppendNewData(uint32_t fileId,uint32_t nodeIndex,uint32_t type,uint32_t name,uint32_t id,uint32_t selfSize,uint32_t edgeCount,uint32_t traceNodeId,uint32_t detachedNess)169 size_t JsHeapNodes::AppendNewData(uint32_t fileId,
170                                   uint32_t nodeIndex,
171                                   uint32_t type,
172                                   uint32_t name,
173                                   uint32_t id,
174                                   uint32_t selfSize,
175                                   uint32_t edgeCount,
176                                   uint32_t traceNodeId,
177                                   uint32_t detachedNess)
178 {
179     fileIds_.emplace_back(fileId);
180     nodeIndexs_.emplace_back(nodeIndex);
181     types_.emplace_back(type);
182     names_.emplace_back(name);
183     nodeIds_.emplace_back(id);
184     selfSizes_.emplace_back(selfSize);
185     edgeCounts_.emplace_back(edgeCount);
186     traceNodeIds_.emplace_back(traceNodeId);
187     detachedNess_.emplace_back(detachedNess);
188     ids_.emplace_back(Size());
189     return Size() - 1;
190 }
FileIds() const191 const std::deque<uint32_t>& JsHeapNodes::FileIds() const
192 {
193     return fileIds_;
194 }
NodeIndexs() const195 const std::deque<uint32_t>& JsHeapNodes::NodeIndexs() const
196 {
197     return nodeIndexs_;
198 }
Types() const199 const std::deque<uint32_t>& JsHeapNodes::Types() const
200 {
201     return types_;
202 }
Names() const203 const std::deque<uint32_t>& JsHeapNodes::Names() const
204 {
205     return names_;
206 }
NodeIds() const207 const std::deque<uint32_t>& JsHeapNodes::NodeIds() const
208 {
209     return nodeIds_;
210 }
SelfSizes() const211 const std::deque<uint32_t>& JsHeapNodes::SelfSizes() const
212 {
213     return selfSizes_;
214 }
EdgeCounts() const215 const std::deque<uint32_t>& JsHeapNodes::EdgeCounts() const
216 {
217     return edgeCounts_;
218 }
TraceNodeIds() const219 const std::deque<uint32_t>& JsHeapNodes::TraceNodeIds() const
220 {
221     return traceNodeIds_;
222 }
DetachedNess() const223 const std::deque<uint32_t>& JsHeapNodes::DetachedNess() const
224 {
225     return detachedNess_;
226 }
227 
AppendNewData(uint32_t fileId,uint64_t timeStampUs,uint32_t lastAssignedId)228 size_t JsHeapSample::AppendNewData(uint32_t fileId, uint64_t timeStampUs, uint32_t lastAssignedId)
229 {
230     fileIds_.emplace_back(fileId);
231     timeStampUs_.emplace_back(timeStampUs);
232     lastAssignedIds_.emplace_back(lastAssignedId);
233     ids_.emplace_back(Size());
234     return Size() - 1;
235 }
FileIds() const236 const std::deque<uint32_t>& JsHeapSample::FileIds() const
237 {
238     return fileIds_;
239 }
TimeStampUs() const240 const std::deque<uint64_t>& JsHeapSample::TimeStampUs() const
241 {
242     return timeStampUs_;
243 }
LastAssignedIds() const244 const std::deque<uint32_t>& JsHeapSample::LastAssignedIds() const
245 {
246     return lastAssignedIds_;
247 }
248 
AppendNewData(uint32_t fileId,uint32_t fileIndex,std::string string)249 size_t JsHeapString::AppendNewData(uint32_t fileId, uint32_t fileIndex, std::string string)
250 {
251     fileIds_.emplace_back(fileId);
252     fileIndexs_.emplace_back(fileIndex);
253     strings_.emplace_back(string);
254     ids_.emplace_back(Size());
255     return Size() - 1;
256 }
FileIds() const257 const std::deque<uint32_t>& JsHeapString::FileIds() const
258 {
259     return fileIds_;
260 }
FileIndexs() const261 const std::deque<uint64_t>& JsHeapString::FileIndexs() const
262 {
263     return fileIndexs_;
264 }
Strings() const265 const std::deque<std::string>& JsHeapString::Strings() const
266 {
267     return strings_;
268 }
269 
AppendNewData(uint32_t fileId,uint32_t functionIndex,uint32_t functionId,uint32_t name,uint32_t scriptName,uint32_t scriptId,uint32_t line,uint32_t column)270 size_t JsHeapTraceFuncInfo::AppendNewData(uint32_t fileId,
271                                           uint32_t functionIndex,
272                                           uint32_t functionId,
273                                           uint32_t name,
274                                           uint32_t scriptName,
275                                           uint32_t scriptId,
276                                           uint32_t line,
277                                           uint32_t column)
278 {
279     fileIds_.emplace_back(fileId);
280     functionIndexs_.emplace_back(functionIndex);
281     functionIds_.emplace_back(functionId);
282     names_.emplace_back(name);
283     scriptNames_.emplace_back(scriptName);
284     scriptIds_.emplace_back(scriptId);
285     lines_.emplace_back(line);
286     columns_.emplace_back(column);
287     ids_.emplace_back(Size());
288     return Size() - 1;
289 }
FileIds() const290 const std::deque<uint32_t>& JsHeapTraceFuncInfo::FileIds() const
291 {
292     return fileIds_;
293 }
FunctionIndexs() const294 const std::deque<uint32_t>& JsHeapTraceFuncInfo::FunctionIndexs() const
295 {
296     return functionIndexs_;
297 }
FunctionIds() const298 const std::deque<uint32_t>& JsHeapTraceFuncInfo::FunctionIds() const
299 {
300     return functionIds_;
301 }
Names() const302 const std::deque<uint32_t>& JsHeapTraceFuncInfo::Names() const
303 {
304     return names_;
305 }
ScriptNames() const306 const std::deque<uint32_t>& JsHeapTraceFuncInfo::ScriptNames() const
307 {
308     return scriptNames_;
309 }
ScriptIds() const310 const std::deque<uint32_t>& JsHeapTraceFuncInfo::ScriptIds() const
311 {
312     return scriptIds_;
313 }
Lines() const314 const std::deque<uint32_t>& JsHeapTraceFuncInfo::Lines() const
315 {
316     return lines_;
317 }
Columns() const318 const std::deque<uint32_t>& JsHeapTraceFuncInfo::Columns() const
319 {
320     return columns_;
321 }
322 
AppendNewData(uint32_t fileId,uint32_t traceNodeId,uint32_t functionInfoIndex,uint32_t count,uint32_t size,int32_t parentId)323 size_t JsHeapTraceNode::AppendNewData(uint32_t fileId,
324                                       uint32_t traceNodeId,
325                                       uint32_t functionInfoIndex,
326                                       uint32_t count,
327                                       uint32_t size,
328                                       int32_t parentId)
329 {
330     fileIds_.emplace_back(fileId);
331     traceNodeIds_.emplace_back(traceNodeId);
332     functionInfoIndexs_.emplace_back(functionInfoIndex);
333     counts_.emplace_back(count);
334     sizes_.emplace_back(size);
335     parentIds_.emplace_back(parentId);
336     ids_.emplace_back(Size());
337     return Size() - 1;
338 }
FileIds() const339 const std::deque<uint32_t>& JsHeapTraceNode::FileIds() const
340 {
341     return fileIds_;
342 }
TraceNodeIDs() const343 const std::deque<uint32_t>& JsHeapTraceNode::TraceNodeIDs() const
344 {
345     return traceNodeIds_;
346 }
FunctionInfoIndexs() const347 const std::deque<uint32_t>& JsHeapTraceNode::FunctionInfoIndexs() const
348 {
349     return functionInfoIndexs_;
350 }
Counts() const351 const std::deque<uint32_t>& JsHeapTraceNode::Counts() const
352 {
353     return counts_;
354 }
NodeSizes() const355 const std::deque<uint32_t>& JsHeapTraceNode::NodeSizes() const
356 {
357     return sizes_;
358 }
ParentIds() const359 const std::deque<int32_t>& JsHeapTraceNode::ParentIds() const
360 {
361     return parentIds_;
362 }
363 
AppendNewData(uint32_t functionId,uint32_t functionName,std::string scriptId,uint32_t url,uint32_t lineNumber,uint32_t columnNumber,uint32_t hitCount,std::string children,uint32_t parent)364 size_t JsCpuProfilerNode::AppendNewData(uint32_t functionId,
365                                         uint32_t functionName,
366                                         std::string scriptId,
367                                         uint32_t url,
368                                         uint32_t lineNumber,
369                                         uint32_t columnNumber,
370                                         uint32_t hitCount,
371                                         std::string children,
372                                         uint32_t parent)
373 {
374     functionIds_.emplace_back(functionId);
375     functionNames_.emplace_back(functionName);
376     scriptIds_.emplace_back(scriptId);
377     urls_.emplace_back(url);
378     lineNumbers_.emplace_back(lineNumber);
379     columnNumbers_.emplace_back(columnNumber);
380     hitCounts_.emplace_back(hitCount);
381     children_.emplace_back(children);
382     parents_.emplace_back(parent);
383     ids_.emplace_back(Size());
384     return Size() - 1;
385 }
386 
FunctionIds() const387 const std::deque<uint32_t>& JsCpuProfilerNode::FunctionIds() const
388 {
389     return functionIds_;
390 }
FunctionNames() const391 const std::deque<uint32_t>& JsCpuProfilerNode::FunctionNames() const
392 {
393     return functionNames_;
394 }
ScriptIds() const395 const std::deque<std::string>& JsCpuProfilerNode::ScriptIds() const
396 {
397     return scriptIds_;
398 }
Urls() const399 const std::deque<uint32_t>& JsCpuProfilerNode::Urls() const
400 {
401     return urls_;
402 }
LineNumbers() const403 const std::deque<uint32_t>& JsCpuProfilerNode::LineNumbers() const
404 {
405     return lineNumbers_;
406 }
ColumnNumbers() const407 const std::deque<int32_t>& JsCpuProfilerNode::ColumnNumbers() const
408 {
409     return columnNumbers_;
410 }
HitCounts() const411 const std::deque<int32_t>& JsCpuProfilerNode::HitCounts() const
412 {
413     return hitCounts_;
414 }
Children() const415 const std::deque<std::string>& JsCpuProfilerNode::Children() const
416 {
417     return children_;
418 }
Parents() const419 const std::deque<uint32_t>& JsCpuProfilerNode::Parents() const
420 {
421     return parents_;
422 }
423 
AppendNewData(uint32_t functionId,uint64_t startTime,uint64_t endTime,uint64_t dur)424 size_t JsCpuProfilerSample::AppendNewData(uint32_t functionId, uint64_t startTime, uint64_t endTime, uint64_t dur)
425 {
426     functionIds_.emplace_back(functionId);
427     startTimes_.emplace_back(startTime);
428     endTimes_.emplace_back(endTime);
429     durs_.emplace_back(dur);
430     ids_.emplace_back(Size());
431     return Size() - 1;
432 }
FunctionIds() const433 const std::deque<uint32_t>& JsCpuProfilerSample::FunctionIds() const
434 {
435     return functionIds_;
436 }
StartTimes() const437 const std::deque<uint64_t>& JsCpuProfilerSample::StartTimes() const
438 {
439     return startTimes_;
440 }
EndTimes() const441 const std::deque<uint64_t>& JsCpuProfilerSample::EndTimes() const
442 {
443     return endTimes_;
444 }
Durs() const445 const std::deque<uint64_t>& JsCpuProfilerSample::Durs() const
446 {
447     return durs_;
448 }
449 
AppendNewData(uint32_t pid,uint64_t type,uint32_t interval,uint32_t captureNumericValue,uint32_t trackAllocation,uint32_t cpuProfiler,uint32_t cpuProfilerInterval)450 size_t JsConfig::AppendNewData(uint32_t pid,
451                                uint64_t type,
452                                uint32_t interval,
453                                uint32_t captureNumericValue,
454                                uint32_t trackAllocation,
455                                uint32_t cpuProfiler,
456                                uint32_t cpuProfilerInterval)
457 {
458     pids_.emplace_back(pid);
459     types_.emplace_back(type);
460     intervals_.emplace_back(interval);
461     captureNumericValues_.emplace_back(captureNumericValue);
462     trackAllocations_.emplace_back(trackAllocation);
463     cpuProfilers_.emplace_back(cpuProfiler);
464     cpuProfilerIntervals_.emplace_back(cpuProfilerInterval);
465     ids_.emplace_back(Size());
466     return Size() - 1;
467 }
Pids() const468 const std::deque<uint32_t>& JsConfig::Pids() const
469 {
470     return pids_;
471 }
Types() const472 const std::deque<uint64_t>& JsConfig::Types() const
473 {
474     return types_;
475 }
Intervals() const476 const std::deque<uint32_t>& JsConfig::Intervals() const
477 {
478     return intervals_;
479 }
CaptureNumericValue() const480 const std::deque<uint32_t>& JsConfig::CaptureNumericValue() const
481 {
482     return captureNumericValues_;
483 }
TrackAllocations() const484 const std::deque<uint32_t>& JsConfig::TrackAllocations() const
485 {
486     return trackAllocations_;
487 }
CpuProfiler() const488 const std::deque<uint32_t>& JsConfig::CpuProfiler() const
489 {
490     return cpuProfilers_;
491 }
CpuProfilerInterval() const492 const std::deque<uint32_t>& JsConfig::CpuProfilerInterval() const
493 {
494     return cpuProfilerIntervals_;
495 }
496 } // namespace TraceStdtype
497 } // namespace SysTuning
498