@datadog/pprof 5.14.1 → 5.14.3

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 (133) hide show
  1. package/README.md +2 -6
  2. package/out/src/heap-profiler-bindings.d.ts +1 -0
  3. package/out/src/heap-profiler-bindings.js +4 -0
  4. package/out/src/heap-profiler-bindings.js.map +1 -1
  5. package/out/src/heap-profiler.d.ts +11 -2
  6. package/out/src/heap-profiler.js +28 -4
  7. package/out/src/heap-profiler.js.map +1 -1
  8. package/out/src/index.d.ts +2 -0
  9. package/out/src/index.js +2 -0
  10. package/out/src/index.js.map +1 -1
  11. package/out/src/time-profiler.d.ts +8 -4
  12. package/out/src/time-profiler.js +27 -4
  13. package/out/src/time-profiler.js.map +1 -1
  14. package/package.json +9 -9
  15. package/prebuilds/darwin-arm64/dd_pprof.node.abi108.node +0 -0
  16. package/prebuilds/darwin-arm64/dd_pprof.node.abi111.node +0 -0
  17. package/prebuilds/darwin-arm64/dd_pprof.node.abi115.node +0 -0
  18. package/prebuilds/darwin-arm64/dd_pprof.node.abi120.node +0 -0
  19. package/prebuilds/darwin-arm64/dd_pprof.node.abi127.node +0 -0
  20. package/prebuilds/darwin-arm64/dd_pprof.node.abi131.node +0 -0
  21. package/prebuilds/darwin-arm64/dd_pprof.node.abi137.node +0 -0
  22. package/prebuilds/darwin-arm64/dd_pprof.node.abi141.node +0 -0
  23. package/prebuilds/darwin-arm64/dd_pprof.node.abi147.node +0 -0
  24. package/prebuilds/darwin-x64/dd_pprof.node.abi108.node +0 -0
  25. package/prebuilds/darwin-x64/dd_pprof.node.abi111.node +0 -0
  26. package/prebuilds/darwin-x64/dd_pprof.node.abi115.node +0 -0
  27. package/prebuilds/darwin-x64/dd_pprof.node.abi120.node +0 -0
  28. package/prebuilds/darwin-x64/dd_pprof.node.abi127.node +0 -0
  29. package/prebuilds/darwin-x64/dd_pprof.node.abi131.node +0 -0
  30. package/prebuilds/darwin-x64/dd_pprof.node.abi137.node +0 -0
  31. package/prebuilds/darwin-x64/dd_pprof.node.abi141.node +0 -0
  32. package/prebuilds/darwin-x64/dd_pprof.node.abi147.node +0 -0
  33. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi108.node +0 -0
  34. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi111.node +0 -0
  35. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi115.node +0 -0
  36. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi120.node +0 -0
  37. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi127.node +0 -0
  38. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi131.node +0 -0
  39. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi137.node +0 -0
  40. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi141.node +0 -0
  41. package/prebuilds/linux-arm64/dd_pprof.musl.node.abi147.node +0 -0
  42. package/prebuilds/linux-arm64/dd_pprof.node.abi108.node +0 -0
  43. package/prebuilds/linux-arm64/dd_pprof.node.abi111.node +0 -0
  44. package/prebuilds/linux-arm64/dd_pprof.node.abi115.node +0 -0
  45. package/prebuilds/linux-arm64/dd_pprof.node.abi120.node +0 -0
  46. package/prebuilds/linux-arm64/dd_pprof.node.abi127.node +0 -0
  47. package/prebuilds/linux-arm64/dd_pprof.node.abi131.node +0 -0
  48. package/prebuilds/linux-arm64/dd_pprof.node.abi137.node +0 -0
  49. package/prebuilds/linux-arm64/dd_pprof.node.abi141.node +0 -0
  50. package/prebuilds/linux-arm64/dd_pprof.node.abi147.node +0 -0
  51. package/prebuilds/linux-x64/dd_pprof.musl.node.abi108.node +0 -0
  52. package/prebuilds/linux-x64/dd_pprof.musl.node.abi111.node +0 -0
  53. package/prebuilds/linux-x64/dd_pprof.musl.node.abi115.node +0 -0
  54. package/prebuilds/linux-x64/dd_pprof.musl.node.abi120.node +0 -0
  55. package/prebuilds/linux-x64/dd_pprof.musl.node.abi127.node +0 -0
  56. package/prebuilds/linux-x64/dd_pprof.musl.node.abi131.node +0 -0
  57. package/prebuilds/linux-x64/dd_pprof.musl.node.abi137.node +0 -0
  58. package/prebuilds/linux-x64/dd_pprof.musl.node.abi141.node +0 -0
  59. package/prebuilds/linux-x64/dd_pprof.musl.node.abi147.node +0 -0
  60. package/prebuilds/linux-x64/dd_pprof.node.abi108.node +0 -0
  61. package/prebuilds/linux-x64/dd_pprof.node.abi111.node +0 -0
  62. package/prebuilds/linux-x64/dd_pprof.node.abi115.node +0 -0
  63. package/prebuilds/linux-x64/dd_pprof.node.abi120.node +0 -0
  64. package/prebuilds/linux-x64/dd_pprof.node.abi127.node +0 -0
  65. package/prebuilds/linux-x64/dd_pprof.node.abi131.node +0 -0
  66. package/prebuilds/linux-x64/dd_pprof.node.abi137.node +0 -0
  67. package/prebuilds/linux-x64/dd_pprof.node.abi141.node +0 -0
  68. package/prebuilds/linux-x64/dd_pprof.node.abi147.node +0 -0
  69. package/prebuilds/win32-x64/dd_pprof.node.abi108.node +0 -0
  70. package/prebuilds/win32-x64/dd_pprof.node.abi111.node +0 -0
  71. package/prebuilds/win32-x64/dd_pprof.node.abi115.node +0 -0
  72. package/prebuilds/win32-x64/dd_pprof.node.abi120.node +0 -0
  73. package/prebuilds/win32-x64/dd_pprof.node.abi127.node +0 -0
  74. package/prebuilds/win32-x64/dd_pprof.node.abi131.node +0 -0
  75. package/prebuilds/win32-x64/dd_pprof.node.abi137.node +0 -0
  76. package/prebuilds/win32-x64/dd_pprof.node.abi141.node +0 -0
  77. package/prebuilds/win32-x64/dd_pprof.node.abi147.node +0 -0
  78. package/prebuilds/darwin-arm64/node-108.node +0 -0
  79. package/prebuilds/darwin-arm64/node-111.node +0 -0
  80. package/prebuilds/darwin-arm64/node-115.node +0 -0
  81. package/prebuilds/darwin-arm64/node-120.node +0 -0
  82. package/prebuilds/darwin-arm64/node-127.node +0 -0
  83. package/prebuilds/darwin-arm64/node-131.node +0 -0
  84. package/prebuilds/darwin-arm64/node-137.node +0 -0
  85. package/prebuilds/darwin-arm64/node-141.node +0 -0
  86. package/prebuilds/darwin-x64/node-108.node +0 -0
  87. package/prebuilds/darwin-x64/node-111.node +0 -0
  88. package/prebuilds/darwin-x64/node-115.node +0 -0
  89. package/prebuilds/darwin-x64/node-120.node +0 -0
  90. package/prebuilds/darwin-x64/node-127.node +0 -0
  91. package/prebuilds/darwin-x64/node-131.node +0 -0
  92. package/prebuilds/darwin-x64/node-137.node +0 -0
  93. package/prebuilds/darwin-x64/node-141.node +0 -0
  94. package/prebuilds/linuxglibc-arm64/node-108.node +0 -0
  95. package/prebuilds/linuxglibc-arm64/node-111.node +0 -0
  96. package/prebuilds/linuxglibc-arm64/node-115.node +0 -0
  97. package/prebuilds/linuxglibc-arm64/node-120.node +0 -0
  98. package/prebuilds/linuxglibc-arm64/node-127.node +0 -0
  99. package/prebuilds/linuxglibc-arm64/node-131.node +0 -0
  100. package/prebuilds/linuxglibc-arm64/node-137.node +0 -0
  101. package/prebuilds/linuxglibc-arm64/node-141.node +0 -0
  102. package/prebuilds/linuxglibc-x64/node-108.node +0 -0
  103. package/prebuilds/linuxglibc-x64/node-111.node +0 -0
  104. package/prebuilds/linuxglibc-x64/node-115.node +0 -0
  105. package/prebuilds/linuxglibc-x64/node-120.node +0 -0
  106. package/prebuilds/linuxglibc-x64/node-127.node +0 -0
  107. package/prebuilds/linuxglibc-x64/node-131.node +0 -0
  108. package/prebuilds/linuxglibc-x64/node-137.node +0 -0
  109. package/prebuilds/linuxglibc-x64/node-141.node +0 -0
  110. package/prebuilds/linuxmusl-arm64/node-108.node +0 -0
  111. package/prebuilds/linuxmusl-arm64/node-111.node +0 -0
  112. package/prebuilds/linuxmusl-arm64/node-115.node +0 -0
  113. package/prebuilds/linuxmusl-arm64/node-120.node +0 -0
  114. package/prebuilds/linuxmusl-arm64/node-127.node +0 -0
  115. package/prebuilds/linuxmusl-arm64/node-131.node +0 -0
  116. package/prebuilds/linuxmusl-arm64/node-137.node +0 -0
  117. package/prebuilds/linuxmusl-arm64/node-141.node +0 -0
  118. package/prebuilds/linuxmusl-x64/node-108.node +0 -0
  119. package/prebuilds/linuxmusl-x64/node-111.node +0 -0
  120. package/prebuilds/linuxmusl-x64/node-115.node +0 -0
  121. package/prebuilds/linuxmusl-x64/node-120.node +0 -0
  122. package/prebuilds/linuxmusl-x64/node-127.node +0 -0
  123. package/prebuilds/linuxmusl-x64/node-131.node +0 -0
  124. package/prebuilds/linuxmusl-x64/node-137.node +0 -0
  125. package/prebuilds/linuxmusl-x64/node-141.node +0 -0
  126. package/prebuilds/win32-x64/node-108.node +0 -0
  127. package/prebuilds/win32-x64/node-111.node +0 -0
  128. package/prebuilds/win32-x64/node-115.node +0 -0
  129. package/prebuilds/win32-x64/node-120.node +0 -0
  130. package/prebuilds/win32-x64/node-127.node +0 -0
  131. package/prebuilds/win32-x64/node-131.node +0 -0
  132. package/prebuilds/win32-x64/node-137.node +0 -0
  133. package/prebuilds/win32-x64/node-141.node +0 -0
package/README.md CHANGED
@@ -97,14 +97,10 @@ Install [`pprof`][npm-url] with `npm` or add to your `package.json`.
97
97
  pprof -http=: heap.pb.gz
98
98
  ```
99
99
 
100
- * Collecting a heap profile with V8 allocation profile format:
100
+ * Collecting a heap profile with V8 allocation profile format:
101
101
  ```javascript
102
- const profile = pprof.heap.v8Profile(pprof.heap.convertProfile);
102
+ const profile = await pprof.heap.v8Profile();
103
103
  ```
104
- `v8Profile` accepts a callback and returns its result. Allocation nodes
105
- are only valid during the callback, so copy/transform what you need
106
- before returning. `heap.convertProfile` performs that conversion during
107
- the callback, and `heap.profile()` uses it under the hood.
108
104
 
109
105
  [build-image]: https://github.com/Datadog/pprof-nodejs/actions/workflows/build.yml/badge.svg?branch=main
110
106
  [build-url]: https://github.com/Datadog/pprof-nodejs/actions/workflows/build.yml
@@ -16,6 +16,7 @@
16
16
  import { AllocationProfileNode } from './v8-types';
17
17
  export declare function startSamplingHeapProfiler(heapIntervalBytes: number, heapStackDepth: number): void;
18
18
  export declare function stopSamplingHeapProfiler(): void;
19
+ export declare function getAllocationProfile(): AllocationProfileNode;
19
20
  export declare function mapAllocationProfile<T>(callback: (root: AllocationProfileNode) => T): T;
20
21
  export type NearHeapLimitCallback = (profile: AllocationProfileNode) => void;
21
22
  export declare function monitorOutOfMemory(heapLimitExtensionSize: number, maxHeapLimitExtensionCount: number, dumpHeapProfileOnSdterr: boolean, exportCommand: Array<string> | undefined, callback: NearHeapLimitCallback | undefined, callbackMode: number, isMainThread: boolean): void;
@@ -50,6 +50,7 @@ var __importStar = (this && this.__importStar) || (function () {
50
50
  Object.defineProperty(exports, "__esModule", { value: true });
51
51
  exports.startSamplingHeapProfiler = startSamplingHeapProfiler;
52
52
  exports.stopSamplingHeapProfiler = stopSamplingHeapProfiler;
53
+ exports.getAllocationProfile = getAllocationProfile;
53
54
  exports.mapAllocationProfile = mapAllocationProfile;
54
55
  exports.monitorOutOfMemory = monitorOutOfMemory;
55
56
  const path = __importStar(require("path"));
@@ -62,6 +63,9 @@ function startSamplingHeapProfiler(heapIntervalBytes, heapStackDepth) {
62
63
  function stopSamplingHeapProfiler() {
63
64
  profiler.heapProfiler.stopSamplingHeapProfiler();
64
65
  }
66
+ function getAllocationProfile() {
67
+ return profiler.heapProfiler.getAllocationProfile();
68
+ }
65
69
  function mapAllocationProfile(callback) {
66
70
  return profiler.heapProfiler.mapAllocationProfile(callback);
67
71
  }
@@ -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,oDAIC;AAID,gDAkBC;AAjDD,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,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -16,6 +16,7 @@
16
16
  import { Profile } from 'pprof-format';
17
17
  import { SourceMapper } from './sourcemapper/sourcemapper';
18
18
  import { AllocationProfileNode, GenerateAllocationLabelsFunction } from './v8-types';
19
+ export declare function v8Profile(): AllocationProfileNode;
19
20
  /**
20
21
  * Collects a heap profile when heapProfiler is enabled. Otherwise throws
21
22
  * an error.
@@ -27,7 +28,15 @@ import { AllocationProfileNode, GenerateAllocationLabelsFunction } from './v8-ty
27
28
  * @param callback - function to convert the heap profiler to a converted profile
28
29
  * @returns <T> converted profile
29
30
  */
30
- export declare function v8Profile<T>(callback: (root: AllocationProfileNode) => T): T;
31
+ export declare function v8ProfileV2<T>(callback: (root: AllocationProfileNode) => T): T;
32
+ /**
33
+ * Collects a profile and returns it serialized in pprof format.
34
+ * Throws if heap profiler is not enabled.
35
+ *
36
+ * @param ignoreSamplePath
37
+ * @param sourceMapper
38
+ */
39
+ export declare function profile(ignoreSamplePath?: string, sourceMapper?: SourceMapper, generateLabels?: GenerateAllocationLabelsFunction): Profile;
31
40
  export declare function convertProfile(rootNode: AllocationProfileNode, ignoreSamplePath?: string, sourceMapper?: SourceMapper, generateLabels?: GenerateAllocationLabelsFunction): Profile;
32
41
  /**
33
42
  * Collects a profile and returns it serialized in pprof format using lazy V2 API.
@@ -37,7 +46,7 @@ export declare function convertProfile(rootNode: AllocationProfileNode, ignoreSa
37
46
  * @param sourceMapper
38
47
  * @param generateLabels
39
48
  */
40
- export declare function profile(ignoreSamplePath?: string, sourceMapper?: SourceMapper, generateLabels?: GenerateAllocationLabelsFunction): Profile;
49
+ export declare function profileV2(ignoreSamplePath?: string, sourceMapper?: SourceMapper, generateLabels?: GenerateAllocationLabelsFunction): Profile;
41
50
  /**
42
51
  * Starts heap profiling. If heap profiling has already been started with
43
52
  * the same parameters, this is a noop. If heap profiler has already been
@@ -17,8 +17,10 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.CallbackMode = void 0;
19
19
  exports.v8Profile = v8Profile;
20
- exports.convertProfile = convertProfile;
20
+ exports.v8ProfileV2 = v8ProfileV2;
21
21
  exports.profile = profile;
22
+ exports.convertProfile = convertProfile;
23
+ exports.profileV2 = profileV2;
22
24
  exports.start = start;
23
25
  exports.stop = stop;
24
26
  exports.monitorOutOfMemory = monitorOutOfMemory;
@@ -28,6 +30,18 @@ const worker_threads_1 = require("worker_threads");
28
30
  let enabled = false;
29
31
  let heapIntervalBytes = 0;
30
32
  let heapStackDepth = 0;
33
+ /*
34
+ * Collects a heap profile when heapProfiler is enabled. Otherwise throws
35
+ * an error.
36
+ *
37
+ * Data is returned in V8 allocation profile format.
38
+ */
39
+ function v8Profile() {
40
+ if (!enabled) {
41
+ throw new Error('Heap profiler is not enabled.');
42
+ }
43
+ return (0, heap_profiler_bindings_1.getAllocationProfile)();
44
+ }
31
45
  /**
32
46
  * Collects a heap profile when heapProfiler is enabled. Otherwise throws
33
47
  * an error.
@@ -39,12 +53,22 @@ let heapStackDepth = 0;
39
53
  * @param callback - function to convert the heap profiler to a converted profile
40
54
  * @returns <T> converted profile
41
55
  */
42
- function v8Profile(callback) {
56
+ function v8ProfileV2(callback) {
43
57
  if (!enabled) {
44
58
  throw new Error('Heap profiler is not enabled.');
45
59
  }
46
60
  return (0, heap_profiler_bindings_1.mapAllocationProfile)(callback);
47
61
  }
62
+ /**
63
+ * Collects a profile and returns it serialized in pprof format.
64
+ * Throws if heap profiler is not enabled.
65
+ *
66
+ * @param ignoreSamplePath
67
+ * @param sourceMapper
68
+ */
69
+ function profile(ignoreSamplePath, sourceMapper, generateLabels) {
70
+ return convertProfile(v8Profile(), ignoreSamplePath, sourceMapper, generateLabels);
71
+ }
48
72
  function convertProfile(rootNode, ignoreSamplePath, sourceMapper, generateLabels) {
49
73
  const startTimeNanos = Date.now() * 1000 * 1000;
50
74
  // Add node for external memory usage.
@@ -75,8 +99,8 @@ function convertProfile(rootNode, ignoreSamplePath, sourceMapper, generateLabels
75
99
  * @param sourceMapper
76
100
  * @param generateLabels
77
101
  */
78
- function profile(ignoreSamplePath, sourceMapper, generateLabels) {
79
- return v8Profile(root => {
102
+ function profileV2(ignoreSamplePath, sourceMapper, generateLabels) {
103
+ return v8ProfileV2(root => {
80
104
  return convertProfile(root, ignoreSamplePath, sourceMapper, generateLabels);
81
105
  });
82
106
  }
@@ -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":"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"}
@@ -9,6 +9,7 @@ export declare const time: {
9
9
  profile: typeof timeProfiler.profile;
10
10
  start: typeof timeProfiler.start;
11
11
  stop: typeof timeProfiler.stop;
12
+ profileV2: typeof timeProfiler.profileV2;
12
13
  getContext: typeof timeProfiler.getContext;
13
14
  setContext: typeof timeProfiler.setContext;
14
15
  runWithContext: typeof timeProfiler.runWithContext;
@@ -26,6 +27,7 @@ export declare const heap: {
26
27
  start: typeof heapProfiler.start;
27
28
  stop: typeof heapProfiler.stop;
28
29
  profile: typeof heapProfiler.profile;
30
+ profileV2: typeof heapProfiler.profileV2;
29
31
  convertProfile: typeof heapProfiler.convertProfile;
30
32
  v8Profile: typeof heapProfiler.v8Profile;
31
33
  monitorOutOfMemory: typeof heapProfiler.monitorOutOfMemory;
package/out/src/index.js CHANGED
@@ -66,6 +66,7 @@ exports.time = {
66
66
  profile: timeProfiler.profile,
67
67
  start: timeProfiler.start,
68
68
  stop: timeProfiler.stop,
69
+ profileV2: timeProfiler.profileV2,
69
70
  getContext: timeProfiler.getContext,
70
71
  setContext: timeProfiler.setContext,
71
72
  runWithContext: timeProfiler.runWithContext,
@@ -79,6 +80,7 @@ exports.heap = {
79
80
  start: heapProfiler.start,
80
81
  stop: heapProfiler.stop,
81
82
  profile: heapProfiler.profile,
83
+ profileV2: heapProfiler.profileV2,
82
84
  convertProfile: heapProfiler.convertProfile,
83
85
  v8Profile: heapProfiler.v8Profile,
84
86
  monitorOutOfMemory: heapProfiler.monitorOutOfMemory,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,2BAAiC;AAEjC,8DAAgD;AAChD,uDAA6C;AAC7C,8DAAgD;AAQhD,qDAAqD;AAA7C,yGAAA,MAAM,OAAA;AAAE,6GAAA,UAAU,OAAA;AAC1B,4DAAyD;AAAjD,4GAAA,YAAY,OAAA;AACpB,mCAAmC;AAA3B,mGAAA,SAAS,OAAA;AACjB,iDAAkD;AAA1C,kHAAA,iBAAiB,OAAA;AAEZ,QAAA,IAAI,GAAG;IAClB,OAAO,EAAE,YAAY,CAAC,OAAO;IAC7B,KAAK,EAAE,YAAY,CAAC,KAAK;IACzB,IAAI,EAAE,YAAY,CAAC,IAAI;IACvB,UAAU,EAAE,YAAY,CAAC,UAAU;IACnC,UAAU,EAAE,YAAY,CAAC,UAAU;IACnC,cAAc,EAAE,YAAY,CAAC,cAAc;IAC3C,SAAS,EAAE,YAAY,CAAC,SAAS;IACjC,gCAAgC,EAC9B,YAAY,CAAC,gCAAgC;IAC/C,QAAQ,EAAE,YAAY,CAAC,QAAQ;IAC/B,UAAU,EAAE,YAAY,CAAC,UAAU;IACnC,SAAS,EAAE,YAAY,CAAC,SAAS;CAClC,CAAC;AAEW,QAAA,IAAI,GAAG;IAClB,KAAK,EAAE,YAAY,CAAC,KAAK;IACzB,IAAI,EAAE,YAAY,CAAC,IAAI;IACvB,OAAO,EAAE,YAAY,CAAC,OAAO;IAC7B,cAAc,EAAE,YAAY,CAAC,cAAc;IAC3C,SAAS,EAAE,YAAY,CAAC,SAAS;IACjC,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;IACnD,YAAY,EAAE,YAAY,CAAC,YAAY;CACxC,CAAC;AAEF,6CAA6C;AAC7C,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,kBAAkB,EAAE,CAAC;IAC7D,YAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,uEAAuE;QACvE,kBAAkB;QAClB,MAAM,OAAO,GAAG,YAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,4BAAU,EAAC,OAAO,CAAC,CAAC;QACnC,IAAA,kBAAa,EAAC,iBAAiB,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,2BAAiC;AAEjC,8DAAgD;AAChD,uDAA6C;AAC7C,8DAAgD;AAQhD,qDAAqD;AAA7C,yGAAA,MAAM,OAAA;AAAE,6GAAA,UAAU,OAAA;AAC1B,4DAAyD;AAAjD,4GAAA,YAAY,OAAA;AACpB,mCAAmC;AAA3B,mGAAA,SAAS,OAAA;AACjB,iDAAkD;AAA1C,kHAAA,iBAAiB,OAAA;AAEZ,QAAA,IAAI,GAAG;IAClB,OAAO,EAAE,YAAY,CAAC,OAAO;IAC7B,KAAK,EAAE,YAAY,CAAC,KAAK;IACzB,IAAI,EAAE,YAAY,CAAC,IAAI;IACvB,SAAS,EAAE,YAAY,CAAC,SAAS;IACjC,UAAU,EAAE,YAAY,CAAC,UAAU;IACnC,UAAU,EAAE,YAAY,CAAC,UAAU;IACnC,cAAc,EAAE,YAAY,CAAC,cAAc;IAC3C,SAAS,EAAE,YAAY,CAAC,SAAS;IACjC,gCAAgC,EAC9B,YAAY,CAAC,gCAAgC;IAC/C,QAAQ,EAAE,YAAY,CAAC,QAAQ;IAC/B,UAAU,EAAE,YAAY,CAAC,UAAU;IACnC,SAAS,EAAE,YAAY,CAAC,SAAS;CAClC,CAAC;AAEW,QAAA,IAAI,GAAG;IAClB,KAAK,EAAE,YAAY,CAAC,KAAK;IACzB,IAAI,EAAE,YAAY,CAAC,IAAI;IACvB,OAAO,EAAE,YAAY,CAAC,OAAO;IAC7B,SAAS,EAAE,YAAY,CAAC,SAAS;IACjC,cAAc,EAAE,YAAY,CAAC,cAAc;IAC3C,SAAS,EAAE,YAAY,CAAC,SAAS;IACjC,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;IACnD,YAAY,EAAE,YAAY,CAAC,YAAY;CACxC,CAAC;AAEF,6CAA6C;AAC7C,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,kBAAkB,EAAE,CAAC;IAC7D,YAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,uEAAuE;QACvE,kBAAkB;QAClB,MAAM,OAAO,GAAG,YAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,4BAAU,EAAC,OAAO,CAAC,CAAC;QACnC,IAAA,kBAAa,EAAC,iBAAiB,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -13,6 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import { Profile } from 'pprof-format';
16
17
  import { SourceMapper } from './sourcemapper/sourcemapper';
17
18
  import { getNativeThreadId } from './time-profiler-bindings';
18
19
  import { GenerateTimeLabelsFunction, TimeProfilerMetrics } from './v8-types';
@@ -37,13 +38,16 @@ export interface TimeProfilerOptions {
37
38
  collectAsyncId?: boolean;
38
39
  useCPED?: boolean;
39
40
  }
40
- export declare function profile(options?: TimeProfilerOptions): Promise<any>;
41
+ export declare function profile(options?: TimeProfilerOptions): Promise<Profile>;
42
+ export declare function profileV2(options?: TimeProfilerOptions): Promise<any>;
41
43
  export declare function start(options?: TimeProfilerOptions): void;
44
+ export declare function stop(restart?: boolean, generateLabels?: GenerateTimeLabelsFunction, lowCardinalityLabels?: string[]): Profile;
42
45
  /**
43
- * Serializes the profile inside a native callback while the V8 profile is
44
- * still alive. This reduces memory overhead.
46
+ * Same as stop() but uses the lazy callback path: serialization happens inside
47
+ * a native callback while the V8 profile is still alive.
48
+ * This reduces memory overhead.
45
49
  */
46
- export declare function stop(restart?: boolean, generateLabels?: GenerateTimeLabelsFunction, lowCardinalityLabels?: string[]): any;
50
+ export declare function stopV2(restart?: boolean, generateLabels?: GenerateTimeLabelsFunction, lowCardinalityLabels?: string[]): any;
47
51
  export declare function getState(): any;
48
52
  export declare function setContext(context?: object): void;
49
53
  export declare function runWithContext<R, TArgs extends unknown[]>(context: object, f: (...args: TArgs) => R, ...args: TArgs): R;
@@ -17,8 +17,10 @@
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.getNativeThreadId = exports.constants = void 0;
19
19
  exports.profile = profile;
20
+ exports.profileV2 = profileV2;
20
21
  exports.start = start;
21
22
  exports.stop = stop;
23
+ exports.stopV2 = stopV2;
22
24
  exports.getState = getState;
23
25
  exports.setContext = setContext;
24
26
  exports.runWithContext = runWithContext;
@@ -50,7 +52,7 @@ function handleStopRestart() {
50
52
  // a loop eating 100% CPU, leading to empty profiles.
51
53
  // Fully stop and restart the profiler to reset the profile to a valid state.
52
54
  if (gV8ProfilerStuckEventLoopDetected > 0) {
53
- gProfiler.stopAndCollect(false, () => undefined);
55
+ gProfiler.stop(false);
54
56
  gProfiler.start();
55
57
  }
56
58
  }
@@ -86,6 +88,12 @@ async function profile(options = {}) {
86
88
  await (0, promises_1.setTimeout)(options.durationMillis);
87
89
  return stop();
88
90
  }
91
+ async function profileV2(options = {}) {
92
+ options = { ...DEFAULT_OPTIONS, ...options };
93
+ start(options);
94
+ await (0, promises_1.setTimeout)(options.durationMillis);
95
+ return stopV2();
96
+ }
89
97
  // Temporarily retained for backwards compatibility with older tracer
90
98
  function start(options = {}) {
91
99
  options = { ...DEFAULT_OPTIONS, ...options };
@@ -104,11 +112,26 @@ function start(options = {}) {
104
112
  setContext({});
105
113
  }
106
114
  }
115
+ function stop(restart = false, generateLabels, lowCardinalityLabels) {
116
+ if (!gProfiler) {
117
+ throw new Error('Wall profiler is not started');
118
+ }
119
+ const profile = gProfiler.stop(restart);
120
+ if (restart) {
121
+ handleStopRestart();
122
+ }
123
+ else {
124
+ handleStopNoRestart();
125
+ }
126
+ const serializedProfile = (0, profile_serializer_1.serializeTimeProfile)(profile, gIntervalMicros, gSourceMapper, true, generateLabels, lowCardinalityLabels);
127
+ return serializedProfile;
128
+ }
107
129
  /**
108
- * Serializes the profile inside a native callback while the V8 profile is
109
- * still alive. This reduces memory overhead.
130
+ * Same as stop() but uses the lazy callback path: serialization happens inside
131
+ * a native callback while the V8 profile is still alive.
132
+ * This reduces memory overhead.
110
133
  */
111
- function stop(restart = false, generateLabels, lowCardinalityLabels) {
134
+ function stopV2(restart = false, generateLabels, lowCardinalityLabels) {
112
135
  if (!gProfiler) {
113
136
  throw new Error('Wall profiler is not started');
114
137
  }
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datadog/pprof",
3
- "version": "5.14.1",
3
+ "version": "5.14.3",
4
4
  "description": "pprof support for Node.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,30 +36,30 @@
36
36
  },
37
37
  "license": "Apache-2.0",
38
38
  "dependencies": {
39
- "node-gyp-build": "<4.0",
39
+ "node-gyp-build": "<5.0",
40
40
  "pprof-format": "^2.2.1",
41
41
  "source-map": "^0.7.4"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@types/mocha": "^10.0.1",
45
- "@types/node": "25.5.0",
45
+ "@types/node": "25.7.0",
46
46
  "@types/semver": "^7.5.8",
47
- "@types/sinon": "^21.0.0",
47
+ "@types/sinon": "^21.0.1",
48
48
  "@types/tmp": "^0.2.3",
49
49
  "clang-format": "^1.8.0",
50
50
  "codecov": "^3.8.3",
51
51
  "deep-copy": "^1.4.2",
52
- "eslint-plugin-n": "^17.24.0",
52
+ "eslint-plugin-n": "^18.0.1",
53
53
  "gts": "^7.0.0",
54
54
  "js-green-licenses": "^4.0.0",
55
55
  "mocha": "^11.7.5",
56
- "nan": "^2.26.2",
56
+ "nan": "^2.27.0",
57
57
  "nyc": "^18.0.0",
58
- "semver": "^7.7.4",
59
- "sinon": "^21.0.3",
58
+ "semver": "^7.8.0",
59
+ "sinon": "^22.0.0",
60
60
  "source-map-support": "^0.5.21",
61
61
  "tmp": "0.2.5",
62
- "typescript": "^5.9.3"
62
+ "typescript": "^6.0.3"
63
63
  },
64
64
  "files": [
65
65
  "out/src",
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file