MCPcopy Index your code
hub / github.com/nodejs/node / normalizeHeapProfileOptions

Function normalizeHeapProfileOptions

lib/internal/v8/heap_profile.js:18–46  ·  view source on GitHub ↗
(options = kEmptyObject)

Source from the content-addressed store, hash-verified

16} = internalBinding('v8');
17
18function normalizeHeapProfileOptions(options = kEmptyObject) {
19 validateObject(options, 'options');
20 const {
21 sampleInterval = 512 * 1024,
22 stackDepth = 16,
23 forceGC = false,
24 includeObjectsCollectedByMajorGC = false,
25 includeObjectsCollectedByMinorGC = false,
26 } = options;
27
28 validateInteger(sampleInterval, 'options.sampleInterval', 1);
29 validateInt32(stackDepth, 'options.stackDepth', 0);
30 validateBoolean(forceGC, 'options.forceGC');
31 validateBoolean(includeObjectsCollectedByMajorGC,
32 'options.includeObjectsCollectedByMajorGC');
33 validateBoolean(includeObjectsCollectedByMinorGC,
34 'options.includeObjectsCollectedByMinorGC');
35
36 let flags = kSamplingNoFlags;
37 if (forceGC) flags |= kSamplingForceGC;
38 if (includeObjectsCollectedByMajorGC) {
39 flags |= kSamplingIncludeObjectsCollectedByMajorGC;
40 }
41 if (includeObjectsCollectedByMinorGC) {
42 flags |= kSamplingIncludeObjectsCollectedByMinorGC;
43 }
44
45 return { sampleInterval, stackDepth, flags };
46}
47
48module.exports = {
49 normalizeHeapProfileOptions,

Callers 2

startHeapProfileFunction · 0.85
startHeapProfileMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected