@datadog/pprof 5.14.4 → 5.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/out/src/heap-profiler-bindings.d.ts +3 -3
  2. package/out/src/heap-profiler-bindings.js +2 -2
  3. package/out/src/heap-profiler-bindings.js.map +1 -1
  4. package/out/src/heap-profiler.d.ts +12 -8
  5. package/out/src/heap-profiler.js +48 -16
  6. package/out/src/heap-profiler.js.map +1 -1
  7. package/out/src/profile-serializer.d.ts +2 -2
  8. package/out/src/profile-serializer.js +65 -6
  9. package/out/src/profile-serializer.js.map +1 -1
  10. package/out/src/time-profiler.js +9 -2
  11. package/out/src/time-profiler.js.map +1 -1
  12. package/out/src/v8-types.d.ts +10 -0
  13. package/package.json +4 -4
  14. package/prebuilds/darwin-arm64/dd_pprof.node.abi108.node +0 -0
  15. package/prebuilds/darwin-arm64/dd_pprof.node.abi111.node +0 -0
  16. package/prebuilds/darwin-arm64/dd_pprof.node.abi115.node +0 -0
  17. package/prebuilds/darwin-arm64/dd_pprof.node.abi120.node +0 -0
  18. package/prebuilds/darwin-arm64/dd_pprof.node.abi127.node +0 -0
  19. package/prebuilds/darwin-arm64/dd_pprof.node.abi131.node +0 -0
  20. package/prebuilds/darwin-arm64/dd_pprof.node.abi137.node +0 -0
  21. package/prebuilds/darwin-arm64/dd_pprof.node.abi141.node +0 -0
  22. package/prebuilds/darwin-arm64/dd_pprof.node.abi147.node +0 -0
  23. package/prebuilds/darwin-x64/dd_pprof.node.abi108.node +0 -0
  24. package/prebuilds/darwin-x64/dd_pprof.node.abi111.node +0 -0
  25. package/prebuilds/darwin-x64/dd_pprof.node.abi115.node +0 -0
  26. package/prebuilds/darwin-x64/dd_pprof.node.abi120.node +0 -0
  27. package/prebuilds/darwin-x64/dd_pprof.node.abi127.node +0 -0
  28. package/prebuilds/darwin-x64/dd_pprof.node.abi131.node +0 -0
  29. package/prebuilds/darwin-x64/dd_pprof.node.abi137.node +0 -0
  30. package/prebuilds/darwin-x64/dd_pprof.node.abi141.node +0 -0
  31. package/prebuilds/darwin-x64/dd_pprof.node.abi147.node +0 -0
  32. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi108.node +0 -0
  33. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi111.node +0 -0
  34. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi115.node +0 -0
  35. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi120.node +0 -0
  36. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi127.node +0 -0
  37. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi131.node +0 -0
  38. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi137.node +0 -0
  39. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi141.node +0 -0
  40. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi147.node +0 -0
  41. package/prebuilds/linux-arm64/dd_pprof.node.abi108.node +0 -0
  42. package/prebuilds/linux-arm64/dd_pprof.node.abi111.node +0 -0
  43. package/prebuilds/linux-arm64/dd_pprof.node.abi115.node +0 -0
  44. package/prebuilds/linux-arm64/dd_pprof.node.abi120.node +0 -0
  45. package/prebuilds/linux-arm64/dd_pprof.node.abi127.node +0 -0
  46. package/prebuilds/linux-arm64/dd_pprof.node.abi131.node +0 -0
  47. package/prebuilds/linux-arm64/dd_pprof.node.abi137.node +0 -0
  48. package/prebuilds/linux-arm64/dd_pprof.node.abi141.node +0 -0
  49. package/prebuilds/linux-arm64/dd_pprof.node.abi147.node +0 -0
  50. package/prebuilds/linux-x64/dd_pprof.musl.node.abi108.node +0 -0
  51. package/prebuilds/linux-x64/dd_pprof.musl.node.abi111.node +0 -0
  52. package/prebuilds/linux-x64/dd_pprof.musl.node.abi115.node +0 -0
  53. package/prebuilds/linux-x64/dd_pprof.musl.node.abi120.node +0 -0
  54. package/prebuilds/linux-x64/dd_pprof.musl.node.abi127.node +0 -0
  55. package/prebuilds/linux-x64/dd_pprof.musl.node.abi131.node +0 -0
  56. package/prebuilds/linux-x64/dd_pprof.musl.node.abi137.node +0 -0
  57. package/prebuilds/linux-x64/dd_pprof.musl.node.abi141.node +0 -0
  58. package/prebuilds/linux-x64/dd_pprof.musl.node.abi147.node +0 -0
  59. package/prebuilds/linux-x64/dd_pprof.node.abi108.node +0 -0
  60. package/prebuilds/linux-x64/dd_pprof.node.abi111.node +0 -0
  61. package/prebuilds/linux-x64/dd_pprof.node.abi115.node +0 -0
  62. package/prebuilds/linux-x64/dd_pprof.node.abi120.node +0 -0
  63. package/prebuilds/linux-x64/dd_pprof.node.abi127.node +0 -0
  64. package/prebuilds/linux-x64/dd_pprof.node.abi131.node +0 -0
  65. package/prebuilds/linux-x64/dd_pprof.node.abi137.node +0 -0
  66. package/prebuilds/linux-x64/dd_pprof.node.abi141.node +0 -0
  67. package/prebuilds/linux-x64/dd_pprof.node.abi147.node +0 -0
  68. package/prebuilds/win32-x64/dd_pprof.node.abi108.node +0 -0
  69. package/prebuilds/win32-x64/dd_pprof.node.abi111.node +0 -0
  70. package/prebuilds/win32-x64/dd_pprof.node.abi115.node +0 -0
  71. package/prebuilds/win32-x64/dd_pprof.node.abi120.node +0 -0
  72. package/prebuilds/win32-x64/dd_pprof.node.abi127.node +0 -0
  73. package/prebuilds/win32-x64/dd_pprof.node.abi131.node +0 -0
  74. package/prebuilds/win32-x64/dd_pprof.node.abi137.node +0 -0
  75. package/prebuilds/win32-x64/dd_pprof.node.abi141.node +0 -0
  76. package/prebuilds/win32-x64/dd_pprof.node.abi147.node +0 -0
@@ -13,10 +13,10 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { AllocationProfileNode } from './v8-types';
17
- export declare function startSamplingHeapProfiler(heapIntervalBytes: number, heapStackDepth: number): void;
16
+ import { AllocationProfileNode, AllocationProfileNodeWithStats } from './v8-types';
17
+ export declare function startSamplingHeapProfiler(heapIntervalBytes: number, heapStackDepth: number, allocations?: boolean): void;
18
18
  export declare function stopSamplingHeapProfiler(): void;
19
- export declare function getAllocationProfile(): AllocationProfileNode;
19
+ export declare function getAllocationProfile(): AllocationProfileNode | AllocationProfileNodeWithStats;
20
20
  export declare function mapAllocationProfile<T>(callback: (root: AllocationProfileNode) => T): T;
21
21
  export type NearHeapLimitCallback = (profile: AllocationProfileNode) => void;
22
22
  export declare function monitorOutOfMemory(heapLimitExtensionSize: number, maxHeapLimitExtensionCount: number, dumpHeapProfileOnSdterr: boolean, exportCommand: Array<string> | undefined, callback: NearHeapLimitCallback | undefined, callbackMode: number, isMainThread: boolean): void;
@@ -57,8 +57,8 @@ const path = __importStar(require("path"));
57
57
  const findBinding = require('node-gyp-build');
58
58
  const profiler = findBinding(path.join(__dirname, '..', '..'));
59
59
  // Wrappers around native heap profiler functions.
60
- function startSamplingHeapProfiler(heapIntervalBytes, heapStackDepth) {
61
- profiler.heapProfiler.startSamplingHeapProfiler(heapIntervalBytes, heapStackDepth);
60
+ function startSamplingHeapProfiler(heapIntervalBytes, heapStackDepth, allocations = false) {
61
+ profiler.heapProfiler.startSamplingHeapProfiler(heapIntervalBytes, heapStackDepth, allocations);
62
62
  }
63
63
  function stopSamplingHeapProfiler() {
64
64
  profiler.heapProfiler.stopSamplingHeapProfiler();
@@ -1 +1 @@
1
- {"version":3,"file":"heap-profiler-bindings.js","sourceRoot":"","sources":["../../ts/src/heap-profiler-bindings.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWH,8DAQC;AAED,4DAEC;AAED,oDAEC;AAED,oDAIC;AAID,gDAkBC;AArDD,2CAA6B;AAI7B,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAE/D,kDAAkD;AAElD,SAAgB,yBAAyB,CACvC,iBAAyB,EACzB,cAAsB;IAEtB,QAAQ,CAAC,YAAY,CAAC,yBAAyB,CAC7C,iBAAiB,EACjB,cAAc,CACf,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB;IACtC,QAAQ,CAAC,YAAY,CAAC,wBAAwB,EAAE,CAAC;AACnD,CAAC;AAED,SAAgB,oBAAoB;IAClC,OAAO,QAAQ,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;AACtD,CAAC;AAED,SAAgB,oBAAoB,CAClC,QAA4C;IAE5C,OAAO,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAID,SAAgB,kBAAkB,CAChC,sBAA8B,EAC9B,0BAAkC,EAClC,uBAAgC,EAChC,aAAwC,EACxC,QAA2C,EAC3C,YAAoB,EACpB,YAAqB;IAErB,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CACtC,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,CACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"heap-profiler-bindings.js","sourceRoot":"","sources":["../../ts/src/heap-profiler-bindings.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcH,8DAUC;AAED,4DAEC;AAED,oDAIC;AAED,oDAIC;AAID,gDAkBC;AA5DD,2CAA6B;AAO7B,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAE/D,kDAAkD;AAElD,SAAgB,yBAAyB,CACvC,iBAAyB,EACzB,cAAsB,EACtB,WAAW,GAAG,KAAK;IAEnB,QAAQ,CAAC,YAAY,CAAC,yBAAyB,CAC7C,iBAAiB,EACjB,cAAc,EACd,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB;IACtC,QAAQ,CAAC,YAAY,CAAC,wBAAwB,EAAE,CAAC;AACnD,CAAC;AAED,SAAgB,oBAAoB;IAGlC,OAAO,QAAQ,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;AACtD,CAAC;AAED,SAAgB,oBAAoB,CAClC,QAA4C;IAE5C,OAAO,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAID,SAAgB,kBAAkB,CAChC,sBAA8B,EAC9B,0BAAkC,EAClC,uBAAgC,EAChC,aAAwC,EACxC,QAA2C,EAC3C,YAAoB,EACpB,YAAqB;IAErB,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CACtC,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,CACb,CAAC;AACJ,CAAC"}
@@ -15,17 +15,17 @@
15
15
  */
16
16
  import { Profile } from 'pprof-format';
17
17
  import { SourceMapper } from './sourcemapper/sourcemapper';
18
- import { AllocationProfileNode, GenerateAllocationLabelsFunction } from './v8-types';
19
- export declare function v8Profile(): AllocationProfileNode;
18
+ import { AllocationProfileNode, AllocationProfileNodeWithStats, GenerateAllocationLabelsFunction } from './v8-types';
19
+ export declare function v8Profile(): AllocationProfileNode | AllocationProfileNodeWithStats;
20
20
  /**
21
- * Collects a heap profile when heapProfiler is enabled. Otherwise throws
22
- * an error.
23
- * Map the heap profiler to a converted profile using callback function.
21
+ * Map the heap profile to a converted profile using callback function when
22
+ * heapProfiler is enabled. Otherwise throws an error.
24
23
  *
25
24
  * WARNING: Nodes in the tree are only valid during the callback. Do not store
26
25
  * references to them. The memory is freed when the callback returns.
27
26
  *
28
- * @param callback - function to convert the heap profiler to a converted profile
27
+ * @param callback - function to convert the heap profile to a converted
28
+ |file
29
29
  * @returns <T> converted profile
30
30
  */
31
31
  export declare function v8ProfileV2<T>(callback: (root: AllocationProfileNode) => T): T;
@@ -37,7 +37,7 @@ export declare function v8ProfileV2<T>(callback: (root: AllocationProfileNode) =
37
37
  * @param sourceMapper
38
38
  */
39
39
  export declare function profile(ignoreSamplePath?: string, sourceMapper?: SourceMapper, generateLabels?: GenerateAllocationLabelsFunction): Profile;
40
- export declare function convertProfile(rootNode: AllocationProfileNode, ignoreSamplePath?: string, sourceMapper?: SourceMapper, generateLabels?: GenerateAllocationLabelsFunction): Profile;
40
+ export declare function convertProfile(rootNode: AllocationProfileNode | AllocationProfileNodeWithStats, ignoreSamplePath?: string, sourceMapper?: SourceMapper, generateLabels?: GenerateAllocationLabelsFunction): Profile;
41
41
  /**
42
42
  * Collects a profile and returns it serialized in pprof format using lazy V2 API.
43
43
  * Throws if heap profiler is not enabled.
@@ -54,8 +54,12 @@ export declare function profileV2(ignoreSamplePath?: string, sourceMapper?: Sour
54
54
  *
55
55
  * @param intervalBytes - average number of bytes between samples.
56
56
  * @param stackDepth - maximum stack depth for samples collected.
57
+ * @param allocations - include total allocation samples in the profile.
58
+ * When true, each call to `profile()` forces a full GC (via
59
+ * v8::HeapProfiler::kSamplingForceGC) to classify sampled objects as
60
+ * live/dead, which adds a measurable pause. Requires Node.js >= 26.
57
61
  */
58
- export declare function start(intervalBytes: number, stackDepth: number): void;
62
+ export declare function start(intervalBytes: number, stackDepth: number, allocations?: boolean): void;
59
63
  export declare function stop(): void;
60
64
  export type NearHeapLimitCallback = (profile: Profile) => void;
61
65
  export declare const CallbackMode: {
@@ -29,7 +29,7 @@ const profile_serializer_1 = require("./profile-serializer");
29
29
  const worker_threads_1 = require("worker_threads");
30
30
  let enabled = false;
31
31
  let heapIntervalBytes = 0;
32
- let heapStackDepth = 0;
32
+ let startedWithAllocations = false;
33
33
  /*
34
34
  * Collects a heap profile when heapProfiler is enabled. Otherwise throws
35
35
  * an error.
@@ -43,20 +43,23 @@ function v8Profile() {
43
43
  return (0, heap_profiler_bindings_1.getAllocationProfile)();
44
44
  }
45
45
  /**
46
- * Collects a heap profile when heapProfiler is enabled. Otherwise throws
47
- * an error.
48
- * Map the heap profiler to a converted profile using callback function.
46
+ * Map the heap profile to a converted profile using callback function when
47
+ * heapProfiler is enabled. Otherwise throws an error.
49
48
  *
50
49
  * WARNING: Nodes in the tree are only valid during the callback. Do not store
51
50
  * references to them. The memory is freed when the callback returns.
52
51
  *
53
- * @param callback - function to convert the heap profiler to a converted profile
52
+ * @param callback - function to convert the heap profile to a converted
53
+ |file
54
54
  * @returns <T> converted profile
55
55
  */
56
56
  function v8ProfileV2(callback) {
57
57
  if (!enabled) {
58
58
  throw new Error('Heap profiler is not enabled.');
59
59
  }
60
+ if (startedWithAllocations) {
61
+ throw new Error('profileV2 does not support allocation mode.');
62
+ }
60
63
  return (0, heap_profiler_bindings_1.mapAllocationProfile)(callback);
61
64
  }
62
65
  /**
@@ -70,6 +73,7 @@ function profile(ignoreSamplePath, sourceMapper, generateLabels) {
70
73
  return convertProfile(v8Profile(), ignoreSamplePath, sourceMapper, generateLabels);
71
74
  }
72
75
  function convertProfile(rootNode, ignoreSamplePath, sourceMapper, generateLabels) {
76
+ const allocations = startedWithAllocations;
73
77
  const startTimeNanos = Date.now() * 1000 * 1000;
74
78
  // Add node for external memory usage.
75
79
  // Current type definitions do not have external.
@@ -78,18 +82,41 @@ function convertProfile(rootNode, ignoreSamplePath, sourceMapper, generateLabels
78
82
  const { external } = process.memoryUsage();
79
83
  let root;
80
84
  if (external > 0) {
81
- const externalNode = {
82
- name: '(external)',
83
- scriptName: '',
84
- children: [],
85
- allocations: [{ sizeBytes: external, count: 1 }],
86
- };
87
- root = { ...rootNode, children: [...rootNode.children, externalNode] };
85
+ if (allocations) {
86
+ const externalNode = {
87
+ name: '(external)',
88
+ scriptName: '',
89
+ children: [],
90
+ allocations: [
91
+ {
92
+ inuseObjects: 1,
93
+ inuseSpaceBytes: external,
94
+ allocObjects: 1,
95
+ allocSpaceBytes: external,
96
+ },
97
+ ],
98
+ };
99
+ const allocationRoot = rootNode;
100
+ root = {
101
+ ...allocationRoot,
102
+ children: [...allocationRoot.children, externalNode],
103
+ };
104
+ }
105
+ else {
106
+ const externalNode = {
107
+ name: '(external)',
108
+ scriptName: '',
109
+ children: [],
110
+ allocations: [{ sizeBytes: external, count: 1 }],
111
+ };
112
+ const heapRoot = rootNode;
113
+ root = { ...heapRoot, children: [...heapRoot.children, externalNode] };
114
+ }
88
115
  }
89
116
  else {
90
117
  root = rootNode;
91
118
  }
92
- return (0, profile_serializer_1.serializeHeapProfile)(root, startTimeNanos, heapIntervalBytes, ignoreSamplePath, sourceMapper, generateLabels);
119
+ return (0, profile_serializer_1.serializeHeapProfile)(root, startTimeNanos, heapIntervalBytes, ignoreSamplePath, sourceMapper, generateLabels, allocations);
93
120
  }
94
121
  /**
95
122
  * Collects a profile and returns it serialized in pprof format using lazy V2 API.
@@ -111,20 +138,25 @@ function profileV2(ignoreSamplePath, sourceMapper, generateLabels) {
111
138
  *
112
139
  * @param intervalBytes - average number of bytes between samples.
113
140
  * @param stackDepth - maximum stack depth for samples collected.
141
+ * @param allocations - include total allocation samples in the profile.
142
+ * When true, each call to `profile()` forces a full GC (via
143
+ * v8::HeapProfiler::kSamplingForceGC) to classify sampled objects as
144
+ * live/dead, which adds a measurable pause. Requires Node.js >= 26.
114
145
  */
115
- function start(intervalBytes, stackDepth) {
146
+ function start(intervalBytes, stackDepth, allocations = false) {
116
147
  if (enabled) {
117
148
  throw new Error(`Heap profiler is already started with intervalBytes ${heapIntervalBytes} and stackDepth ${stackDepth}`);
118
149
  }
119
150
  heapIntervalBytes = intervalBytes;
120
- heapStackDepth = stackDepth;
121
- (0, heap_profiler_bindings_1.startSamplingHeapProfiler)(heapIntervalBytes, heapStackDepth);
151
+ startedWithAllocations = allocations;
152
+ (0, heap_profiler_bindings_1.startSamplingHeapProfiler)(intervalBytes, stackDepth, allocations);
122
153
  enabled = true;
123
154
  }
124
155
  // Stops heap profiling. If heap profiling has not been started, does nothing.
125
156
  function stop() {
126
157
  if (enabled) {
127
158
  enabled = false;
159
+ startedWithAllocations = false;
128
160
  (0, heap_profiler_bindings_1.stopSamplingHeapProfiler)();
129
161
  }
130
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"heap-profiler.js","sourceRoot":"","sources":["../../ts/src/heap-profiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heap-profiler.js","sourceRoot":"","sources":["../../ts/src/heap-profiler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AA8BH,8BAOC;AAaD,kCAUC;AASD,0BAWC;AAED,wCAwDC;AAUD,8BAQC;AAcD,sBAcC;AAGD,oBAMC;AAqCD,gDA4BC;AA9PD,qEAMkC;AAClC,6DAA0D;AAO1D,mDAA4C;AAE5C,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAC1B,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC;;;;;GAKG;AACH,SAAgB,SAAS;IAGvB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,IAAA,6CAAoB,GAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,WAAW,CACzB,QAA4C;IAE5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,IAAA,6CAAoB,EAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,OAAO,CACrB,gBAAyB,EACzB,YAA2B,EAC3B,cAAiD;IAEjD,OAAO,cAAc,CACnB,SAAS,EAAE,EACX,gBAAgB,EAChB,YAAY,EACZ,cAAc,CACf,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAC5B,QAAgE,EAChE,gBAAyB,EACzB,YAA2B,EAC3B,cAAiD;IAEjD,MAAM,WAAW,GAAG,sBAAsB,CAAC;IAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAChD,sCAAsC;IACtC,iDAAiD;IACjD,wEAAwE;IACxE,8DAA8D;IAC9D,MAAM,EAAC,QAAQ,EAAC,GAAuB,OAAO,CAAC,WAAW,EAAS,CAAC;IACpE,IAAI,IAA4D,CAAC;IACjE,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,YAAY,GAAmC;gBACnD,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE;oBACX;wBACE,YAAY,EAAE,CAAC;wBACf,eAAe,EAAE,QAAQ;wBACzB,YAAY,EAAE,CAAC;wBACf,eAAe,EAAE,QAAQ;qBAC1B;iBACF;aACF,CAAC;YACF,MAAM,cAAc,GAAG,QAA0C,CAAC;YAClE,IAAI,GAAG;gBACL,GAAG,cAAc;gBACjB,QAAQ,EAAE,CAAC,GAAG,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC;aACrD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAA0B;gBAC1C,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,CAAC,EAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;aAC/C,CAAC;YACF,MAAM,QAAQ,GAAG,QAAiC,CAAC;YACnD,IAAI,GAAG,EAAC,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAC,CAAC;QACvE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAA,yCAAoB,EACzB,IAAI,EACJ,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,WAAW,CACZ,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,SAAS,CACvB,gBAAyB,EACzB,YAA2B,EAC3B,cAAiD;IAEjD,OAAO,WAAW,CAAC,IAAI,CAAC,EAAE;QACxB,OAAO,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,KAAK,CACnB,aAAqB,EACrB,UAAkB,EAClB,WAAW,GAAG,KAAK;IAEnB,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,wDAAwD,iBAAiB,mBAAmB,UAAU,EAAE,CACzG,CAAC;IACJ,CAAC;IACD,iBAAiB,GAAG,aAAa,CAAC;IAClC,sBAAsB,GAAG,WAAW,CAAC;IACrC,IAAA,kDAAyB,EAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAClE,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,SAAgB,IAAI;IAClB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,GAAG,KAAK,CAAC;QAChB,sBAAsB,GAAG,KAAK,CAAC;QAC/B,IAAA,iDAAwB,GAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAIY,QAAA,YAAY,GAAG;IAC1B,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,CAAC;IACZ,IAAI,EAAE,CAAC;CACR,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,kBAAkB,CAChC,sBAA8B,EAC9B,0BAAkC,EAClC,uBAAgC,EAChC,aAA6B,EAC7B,QAAgC,EAChC,YAAqB;IAErB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC;IAChB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,WAAW,GAAG,CAAC,OAA8B,EAAE,EAAE;YAC/C,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC;IACJ,CAAC;IACD,IAAA,2CAA0B,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,aAAa,IAAI,EAAE,EACnB,WAAW,EACX,OAAO,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAY,CAAC,KAAK,EACvE,6BAAY,CACb,CAAC;AACJ,CAAC"}
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { Profile } from 'pprof-format';
17
17
  import { SourceMapper } from './sourcemapper/sourcemapper';
18
- import { AllocationProfileNode, GenerateAllocationLabelsFunction, GenerateTimeLabelsFunction, TimeProfile, TimeProfileNode } from './v8-types';
18
+ import { AllocationProfileNode, AllocationProfileNodeWithStats, GenerateAllocationLabelsFunction, GenerateTimeLabelsFunction, TimeProfile, TimeProfileNode } from './v8-types';
19
19
  export declare const NON_JS_THREADS_FUNCTION_NAME = "Non JS threads activity";
20
20
  export declare const GARBAGE_COLLECTION_FUNCTION_NAME = "Garbage Collection";
21
21
  export declare function computeTotalHitCount(root: TimeProfileNode): number;
@@ -37,4 +37,4 @@ export declare function serializeTimeProfile(prof: TimeProfile, intervalMicros:
37
37
  * nanoseconds.
38
38
  * @param intervalBytes - bytes allocated between samples.
39
39
  */
40
- export declare function serializeHeapProfile(prof: AllocationProfileNode, startTimeNanos: number, intervalBytes: number, ignoreSamplesPath?: string, sourceMapper?: SourceMapper, generateLabels?: GenerateAllocationLabelsFunction): Profile;
40
+ export declare function serializeHeapProfile(prof: AllocationProfileNode | AllocationProfileNodeWithStats, startTimeNanos: number, intervalBytes: number, ignoreSamplesPath?: string, sourceMapper?: SourceMapper, generateLabels?: GenerateAllocationLabelsFunction, allocations?: boolean): Profile;
@@ -27,6 +27,12 @@ function isGeneratedLocation(location) {
27
27
  location.line !== undefined &&
28
28
  location.line > 0);
29
29
  }
30
+ function requireAllocationStat(value, field) {
31
+ if (value === undefined) {
32
+ throw new Error(`Allocation profile is missing ${field}.`);
33
+ }
34
+ return value;
35
+ }
30
36
  /**
31
37
  * Takes v8 profile and populates sample, location, and function fields of
32
38
  * profile.proto.
@@ -195,6 +201,30 @@ function createAllocationValueType(table) {
195
201
  unit: table.dedup('bytes'),
196
202
  });
197
203
  }
204
+ function createInUseObjectCountValueType(table) {
205
+ return new pprof_format_1.ValueType({
206
+ type: table.dedup('inuse_objects'),
207
+ unit: table.dedup('count'),
208
+ });
209
+ }
210
+ function createAllocatedObjectCountValueType(table) {
211
+ return new pprof_format_1.ValueType({
212
+ type: table.dedup('alloc_objects'),
213
+ unit: table.dedup('count'),
214
+ });
215
+ }
216
+ function createInUseSpaceValueType(table) {
217
+ return new pprof_format_1.ValueType({
218
+ type: table.dedup('inuse_space'),
219
+ unit: table.dedup('bytes'),
220
+ });
221
+ }
222
+ function createAllocatedSpaceValueType(table) {
223
+ return new pprof_format_1.ValueType({
224
+ type: table.dedup('alloc_space'),
225
+ unit: table.dedup('bytes'),
226
+ });
227
+ }
198
228
  function computeTotalHitCount(root) {
199
229
  return (root.hitCount +
200
230
  root.children.reduce((sum, node) => sum + computeTotalHitCount(node), 0));
@@ -409,16 +439,36 @@ function buildLabels(labelSet, stringTable) {
409
439
  * nanoseconds.
410
440
  * @param intervalBytes - bytes allocated between samples.
411
441
  */
412
- function serializeHeapProfile(prof, startTimeNanos, intervalBytes, ignoreSamplesPath, sourceMapper, generateLabels) {
442
+ function serializeHeapProfile(prof, startTimeNanos, intervalBytes, ignoreSamplesPath, sourceMapper, generateLabels, allocations = false) {
413
443
  const appendHeapEntryToSamples = (entry, samples) => {
414
444
  if (entry.node.allocations.length > 0) {
415
445
  const labels = generateLabels
416
446
  ? buildLabels(generateLabels({ node: entry.node }), stringTable)
417
447
  : [];
418
448
  for (const alloc of entry.node.allocations) {
449
+ // Live heap only
450
+ if (!allocations) {
451
+ const heapAllocation = alloc;
452
+ const sample = new pprof_format_1.Sample({
453
+ locationId: entry.stack,
454
+ value: [
455
+ heapAllocation.count,
456
+ heapAllocation.sizeBytes * heapAllocation.count,
457
+ ],
458
+ label: labels,
459
+ // TODO: add tag for allocation size
460
+ });
461
+ samples.push(sample);
462
+ continue;
463
+ }
464
+ const stats = alloc;
465
+ const inuseObjects = requireAllocationStat(stats.inuseObjects, 'inuseObjects');
466
+ const inuseSpaceBytes = requireAllocationStat(stats.inuseSpaceBytes, 'inuseSpaceBytes');
467
+ const allocObjects = requireAllocationStat(stats.allocObjects, 'allocObjects');
468
+ const allocSpaceBytes = requireAllocationStat(stats.allocSpaceBytes, 'allocSpaceBytes');
419
469
  const sample = new pprof_format_1.Sample({
420
470
  locationId: entry.stack,
421
- value: [alloc.count, alloc.sizeBytes * alloc.count],
471
+ value: [inuseObjects, allocObjects, inuseSpaceBytes, allocSpaceBytes],
422
472
  label: labels,
423
473
  // TODO: add tag for allocation size
424
474
  });
@@ -427,12 +477,21 @@ function serializeHeapProfile(prof, startTimeNanos, intervalBytes, ignoreSamples
427
477
  }
428
478
  };
429
479
  const stringTable = new pprof_format_1.StringTable();
430
- const sampleValueType = createObjectCountValueType(stringTable);
431
- const allocationValueType = createAllocationValueType(stringTable);
480
+ const sampleTypes = allocations
481
+ ? [
482
+ createInUseObjectCountValueType(stringTable),
483
+ createAllocatedObjectCountValueType(stringTable),
484
+ createInUseSpaceValueType(stringTable),
485
+ createAllocatedSpaceValueType(stringTable),
486
+ ]
487
+ : [
488
+ createObjectCountValueType(stringTable),
489
+ createAllocationValueType(stringTable),
490
+ ];
432
491
  const profile = {
433
- sampleType: [sampleValueType, allocationValueType],
492
+ sampleType: sampleTypes,
434
493
  timeNanos: startTimeNanos,
435
- periodType: allocationValueType,
494
+ periodType: sampleTypes[sampleTypes.length - 1],
436
495
  period: intervalBytes,
437
496
  };
438
497
  serialize(profile, prof, appendHeapEntryToSamples, stringTable, ignoreSamplesPath, sourceMapper);
@@ -1 +1 @@
1
- {"version":3,"file":"profile-serializer.js","sourceRoot":"","sources":["../../ts/src/profile-serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-serializer.js","sourceRoot":"","sources":["../../ts/src/profile-serializer.ts"],"names":[],"mappings":"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"}
@@ -118,12 +118,19 @@ function stop(restart = false, generateLabels, lowCardinalityLabels) {
118
118
  }
119
119
  const profile = gProfiler.stop(restart);
120
120
  if (restart) {
121
+ // Restart the profiler *before* serializing so the cost of serialization is
122
+ // captured in the next profile. handleStopRestart() does not dispose of the
123
+ // source mapper, so the source-map resolution below is unaffected.
121
124
  handleStopRestart();
122
125
  }
123
- else {
126
+ const serializedProfile = (0, profile_serializer_1.serializeTimeProfile)(profile, gIntervalMicros, gSourceMapper, true, generateLabels, lowCardinalityLabels);
127
+ if (!restart) {
128
+ // Tear down *after* serializing: handleStopNoRestart() clears gSourceMapper
129
+ // (and disposes gProfiler), so serializing afterwards would drop source-map
130
+ // resolution and leave transpiled frames pointing at the generated files
131
+ // instead of the original sources.
124
132
  handleStopNoRestart();
125
133
  }
126
- const serializedProfile = (0, profile_serializer_1.serializeTimeProfile)(profile, gIntervalMicros, gSourceMapper, true, generateLabels, lowCardinalityLabels);
127
134
  return serializedProfile;
128
135
  }
129
136
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"time-profiler.js","sourceRoot":"","sources":["../../ts/src/time-profiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"time-profiler.js","sourceRoot":"","sources":["../../ts/src/time-profiler.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,16 @@ export interface Allocation {
51
51
  sizeBytes: number;
52
52
  count: number;
53
53
  }
54
+ export interface AllocationWithStats {
55
+ inuseObjects: number;
56
+ inuseSpaceBytes: number;
57
+ allocObjects: number;
58
+ allocSpaceBytes: number;
59
+ }
60
+ export interface AllocationProfileNodeWithStats extends ProfileNode {
61
+ allocations: AllocationWithStats[];
62
+ children: AllocationProfileNodeWithStats[];
63
+ }
54
64
  export interface LabelSet {
55
65
  [key: string]: string | number;
56
66
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datadog/pprof",
3
- "version": "5.14.4",
3
+ "version": "5.15.0",
4
4
  "description": "pprof support for Node.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -52,13 +52,13 @@
52
52
  "eslint-plugin-n": "^18.0.1",
53
53
  "gts": "^7.0.0",
54
54
  "js-green-licenses": "^4.0.0",
55
- "mocha": "^11.7.5",
55
+ "mocha": "^11.7.6",
56
56
  "nan": "^2.27.0",
57
57
  "nyc": "^18.0.0",
58
- "semver": "^7.8.0",
58
+ "semver": "^7.8.1",
59
59
  "sinon": "^22.0.0",
60
60
  "source-map-support": "^0.5.21",
61
- "tmp": "0.2.5",
61
+ "tmp": "0.2.6",
62
62
  "typescript": "^6.0.3"
63
63
  },
64
64
  "files": [