@datadog/pprof 4.0.0-pre-d444c12 → 4.0.0-pre-ff50bca

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 (79) hide show
  1. package/README.md +2 -2
  2. package/out/src/index.d.ts +1 -0
  3. package/out/src/index.js +1 -0
  4. package/out/src/index.js.map +1 -1
  5. package/out/src/time-profiler.d.ts +4 -2
  6. package/out/src/time-profiler.js +26 -4
  7. package/out/src/time-profiler.js.map +1 -1
  8. package/package.json +1 -1
  9. package/prebuilds/darwin-arm64/node-102.node +0 -0
  10. package/prebuilds/darwin-arm64/node-108.node +0 -0
  11. package/prebuilds/darwin-arm64/node-111.node +0 -0
  12. package/prebuilds/darwin-arm64/node-115.node +0 -0
  13. package/prebuilds/darwin-arm64/node-72.node +0 -0
  14. package/prebuilds/darwin-arm64/node-79.node +0 -0
  15. package/prebuilds/darwin-arm64/node-83.node +0 -0
  16. package/prebuilds/darwin-arm64/node-88.node +0 -0
  17. package/prebuilds/darwin-arm64/node-93.node +0 -0
  18. package/prebuilds/darwin-x64/node-102.node +0 -0
  19. package/prebuilds/darwin-x64/node-108.node +0 -0
  20. package/prebuilds/darwin-x64/node-111.node +0 -0
  21. package/prebuilds/darwin-x64/node-115.node +0 -0
  22. package/prebuilds/darwin-x64/node-72.node +0 -0
  23. package/prebuilds/darwin-x64/node-79.node +0 -0
  24. package/prebuilds/darwin-x64/node-83.node +0 -0
  25. package/prebuilds/darwin-x64/node-88.node +0 -0
  26. package/prebuilds/darwin-x64/node-93.node +0 -0
  27. package/prebuilds/linux-arm/node-102.node +0 -0
  28. package/prebuilds/linux-arm/node-108.node +0 -0
  29. package/prebuilds/linux-arm/node-111.node +0 -0
  30. package/prebuilds/linux-arm/node-115.node +0 -0
  31. package/prebuilds/linux-arm/node-72.node +0 -0
  32. package/prebuilds/linux-arm/node-79.node +0 -0
  33. package/prebuilds/linux-arm/node-83.node +0 -0
  34. package/prebuilds/linux-arm/node-88.node +0 -0
  35. package/prebuilds/linux-arm/node-93.node +0 -0
  36. package/prebuilds/linux-arm64/node-102.node +0 -0
  37. package/prebuilds/linux-arm64/node-108.node +0 -0
  38. package/prebuilds/linux-arm64/node-111.node +0 -0
  39. package/prebuilds/linux-arm64/node-115.node +0 -0
  40. package/prebuilds/linux-arm64/node-72.node +0 -0
  41. package/prebuilds/linux-arm64/node-79.node +0 -0
  42. package/prebuilds/linux-arm64/node-83.node +0 -0
  43. package/prebuilds/linux-arm64/node-88.node +0 -0
  44. package/prebuilds/linux-arm64/node-93.node +0 -0
  45. package/prebuilds/linux-ia32/node-72.node +0 -0
  46. package/prebuilds/linux-ia32/node-79.node +0 -0
  47. package/prebuilds/linux-x64/node-102.node +0 -0
  48. package/prebuilds/linux-x64/node-108.node +0 -0
  49. package/prebuilds/linux-x64/node-111.node +0 -0
  50. package/prebuilds/linux-x64/node-115.node +0 -0
  51. package/prebuilds/linux-x64/node-72.node +0 -0
  52. package/prebuilds/linux-x64/node-79.node +0 -0
  53. package/prebuilds/linux-x64/node-83.node +0 -0
  54. package/prebuilds/linux-x64/node-88.node +0 -0
  55. package/prebuilds/linux-x64/node-93.node +0 -0
  56. package/prebuilds/linuxmusl-x64/node-102.node +0 -0
  57. package/prebuilds/linuxmusl-x64/node-108.node +0 -0
  58. package/prebuilds/linuxmusl-x64/node-111.node +0 -0
  59. package/prebuilds/linuxmusl-x64/node-115.node +0 -0
  60. package/prebuilds/linuxmusl-x64/node-72.node +0 -0
  61. package/prebuilds/linuxmusl-x64/node-79.node +0 -0
  62. package/prebuilds/linuxmusl-x64/node-83.node +0 -0
  63. package/prebuilds/linuxmusl-x64/node-88.node +0 -0
  64. package/prebuilds/linuxmusl-x64/node-93.node +0 -0
  65. package/prebuilds/win32-ia32/node-102.node +0 -0
  66. package/prebuilds/win32-ia32/node-72.node +0 -0
  67. package/prebuilds/win32-ia32/node-79.node +0 -0
  68. package/prebuilds/win32-ia32/node-83.node +0 -0
  69. package/prebuilds/win32-ia32/node-88.node +0 -0
  70. package/prebuilds/win32-ia32/node-93.node +0 -0
  71. package/prebuilds/win32-x64/node-102.node +0 -0
  72. package/prebuilds/win32-x64/node-108.node +0 -0
  73. package/prebuilds/win32-x64/node-111.node +0 -0
  74. package/prebuilds/win32-x64/node-115.node +0 -0
  75. package/prebuilds/win32-x64/node-72.node +0 -0
  76. package/prebuilds/win32-x64/node-79.node +0 -0
  77. package/prebuilds/win32-x64/node-83.node +0 -0
  78. package/prebuilds/win32-x64/node-88.node +0 -0
  79. package/prebuilds/win32-x64/node-93.node +0 -0
package/README.md CHANGED
@@ -37,7 +37,7 @@ this module. Instructions for installing the `pprof` CLI can be found
37
37
  Install [`pprof`][npm-url] with `npm` or add to your `package.json`.
38
38
  ```sh
39
39
  # Install through npm while saving to the local 'package.json'
40
- npm install --save pprof
40
+ npm install --save @datadog/pprof
41
41
  ```
42
42
 
43
43
  ## Using the Profiler
@@ -66,7 +66,7 @@ Install [`pprof`][npm-url] with `npm` or add to your `package.json`.
66
66
 
67
67
  1. Start program from the command line:
68
68
  ```sh
69
- node --require pprof app.js
69
+ node --require @datadog/pprof app.js
70
70
  ```
71
71
 
72
72
  2. A wall time profile for the job will be saved in
@@ -10,6 +10,7 @@ export declare const time: {
10
10
  stop: typeof timeProfiler.stop;
11
11
  setContext: typeof timeProfiler.setContext;
12
12
  isStarted: typeof timeProfiler.isStarted;
13
+ v8ProfilerStuckEventLoopDetected: typeof timeProfiler.v8ProfilerStuckEventLoopDetected;
13
14
  getState: typeof timeProfiler.getState;
14
15
  constants: {
15
16
  kSampleCount: any;
package/out/src/index.js CHANGED
@@ -56,6 +56,7 @@ exports.time = {
56
56
  stop: timeProfiler.stop,
57
57
  setContext: timeProfiler.setContext,
58
58
  isStarted: timeProfiler.isStarted,
59
+ v8ProfilerStuckEventLoopDetected: timeProfiler.v8ProfilerStuckEventLoopDetected,
59
60
  getState: timeProfiler.getState,
60
61
  constants: timeProfiler.constants,
61
62
  };
@@ -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;AAEJ,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,SAAS,EAAE,YAAY,CAAC,SAAS;IACjC,QAAQ,EAAE,YAAY,CAAC,QAAQ;IAC/B,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;IAC5D,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;CACJ"}
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;AAEJ,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,SAAS,EAAE,YAAY,CAAC,SAAS;IACjC,gCAAgC,EAC9B,YAAY,CAAC,gCAAgC;IAC/C,QAAQ,EAAE,YAAY,CAAC,QAAQ;IAC/B,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;IAC5D,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;CACJ"}
@@ -31,13 +31,15 @@ export interface TimeProfilerOptions {
31
31
  */
32
32
  lineNumbers?: boolean;
33
33
  withContexts?: boolean;
34
+ workaroundV8Bug?: boolean;
34
35
  }
35
- export declare function profile({ intervalMicros, durationMillis, sourceMapper, lineNumbers, withContexts, }: TimeProfilerOptions): Promise<import("pprof-format").Profile>;
36
- export declare function start({ intervalMicros, durationMillis, sourceMapper, lineNumbers, withContexts, }: TimeProfilerOptions): void;
36
+ export declare function profile({ intervalMicros, durationMillis, sourceMapper, lineNumbers, withContexts, workaroundV8Bug, }: TimeProfilerOptions): Promise<import("pprof-format").Profile>;
37
+ export declare function start({ intervalMicros, durationMillis, sourceMapper, lineNumbers, withContexts, workaroundV8Bug, }: TimeProfilerOptions): void;
37
38
  export declare function stop(restart?: boolean, generateLabels?: (context: object) => LabelSet): import("pprof-format").Profile;
38
39
  export declare function getState(): any;
39
40
  export declare function setContext(context?: object): void;
40
41
  export declare function isStarted(): boolean;
42
+ export declare function v8ProfilerStuckEventLoopDetected(): number;
41
43
  export declare const constants: {
42
44
  kSampleCount: any;
43
45
  };
@@ -18,7 +18,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
18
18
  return (mod && mod.__esModule) ? mod : { "default": mod };
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.constants = exports.isStarted = exports.setContext = exports.getState = exports.stop = exports.start = exports.profile = void 0;
21
+ exports.constants = exports.v8ProfilerStuckEventLoopDetected = exports.isStarted = exports.setContext = exports.getState = exports.stop = exports.start = exports.profile = void 0;
22
22
  const delay_1 = __importDefault(require("delay"));
23
23
  const profile_serializer_1 = require("./profile-serializer");
24
24
  const time_profiler_bindings_1 = require("./time-profiler-bindings");
@@ -28,32 +28,35 @@ const DEFAULT_DURATION_MILLIS = 60000;
28
28
  let gProfiler;
29
29
  let gSourceMapper;
30
30
  let gIntervalMicros;
31
+ let gV8ProfilerStuckEventLoopDetected = 0;
31
32
  /** Make sure to stop profiler before node shuts down, otherwise profiling
32
33
  * signal might cause a crash if it occurs during shutdown */
33
34
  process.once('exit', () => {
34
35
  if (isStarted())
35
36
  stop();
36
37
  });
37
- async function profile({ intervalMicros = DEFAULT_INTERVAL_MICROS, durationMillis = DEFAULT_DURATION_MILLIS, sourceMapper, lineNumbers = false, withContexts = false, }) {
38
+ async function profile({ intervalMicros = DEFAULT_INTERVAL_MICROS, durationMillis = DEFAULT_DURATION_MILLIS, sourceMapper, lineNumbers = false, withContexts = false, workaroundV8Bug = true, }) {
38
39
  start({
39
40
  intervalMicros,
40
41
  durationMillis,
41
42
  sourceMapper,
42
43
  lineNumbers,
43
44
  withContexts,
45
+ workaroundV8Bug,
44
46
  });
45
47
  await (0, delay_1.default)(durationMillis);
46
48
  return stop();
47
49
  }
48
50
  exports.profile = profile;
49
51
  // Temporarily retained for backwards compatibility with older tracer
50
- function start({ intervalMicros = DEFAULT_INTERVAL_MICROS, durationMillis = DEFAULT_DURATION_MILLIS, sourceMapper, lineNumbers = false, withContexts = false, }) {
52
+ function start({ intervalMicros = DEFAULT_INTERVAL_MICROS, durationMillis = DEFAULT_DURATION_MILLIS, sourceMapper, lineNumbers = false, withContexts = false, workaroundV8Bug = true, }) {
51
53
  if (gProfiler) {
52
54
  throw new Error('Wall profiler is already started');
53
55
  }
54
- gProfiler = new time_profiler_bindings_1.TimeProfiler(intervalMicros, durationMillis * 1000, lineNumbers, withContexts);
56
+ gProfiler = new time_profiler_bindings_1.TimeProfiler(intervalMicros, durationMillis * 1000, lineNumbers, withContexts, workaroundV8Bug);
55
57
  gSourceMapper = sourceMapper;
56
58
  gIntervalMicros = intervalMicros;
59
+ gV8ProfilerStuckEventLoopDetected = 0;
57
60
  gProfiler.start();
58
61
  }
59
62
  exports.start = start;
@@ -62,6 +65,20 @@ function stop(restart = false, generateLabels) {
62
65
  throw new Error('Wall profiler is not started');
63
66
  }
64
67
  const profile = gProfiler.stop(restart);
68
+ if (restart) {
69
+ gV8ProfilerStuckEventLoopDetected =
70
+ gProfiler.v8ProfilerStuckEventLoopDetected();
71
+ // Workaround for v8 bug, where profiler event processor thread is stuck in
72
+ // a loop eating 100% CPU, leading to empty profiles.
73
+ // Fully stop and restart the profiler to reset the profile to a valid state.
74
+ if (gV8ProfilerStuckEventLoopDetected > 0) {
75
+ gProfiler.stop(false);
76
+ gProfiler.start();
77
+ }
78
+ }
79
+ else {
80
+ gV8ProfilerStuckEventLoopDetected = 0;
81
+ }
65
82
  const serialized_profile = (0, profile_serializer_1.serializeTimeProfile)(profile, gIntervalMicros, gSourceMapper, true, generateLabels);
66
83
  if (!restart) {
67
84
  gProfiler = undefined;
@@ -88,5 +105,10 @@ function isStarted() {
88
105
  return !!gProfiler;
89
106
  }
90
107
  exports.isStarted = isStarted;
108
+ // Return 0 if no issue detected, 1 if possible issue, 2 if issue detected for certain
109
+ function v8ProfilerStuckEventLoopDetected() {
110
+ return gV8ProfilerStuckEventLoopDetected;
111
+ }
112
+ exports.v8ProfilerStuckEventLoopDetected = v8ProfilerStuckEventLoopDetected;
91
113
  exports.constants = { kSampleCount };
92
114
  //# sourceMappingURL=time-profiler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"time-profiler.js","sourceRoot":"","sources":["../../ts/src/time-profiler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,kDAA0B;AAE1B,6DAA0D;AAE1D,qEAGkC;AAGlC,MAAM,EAAC,YAAY,EAAC,GAAG,kCAAiB,CAAC;AAEzC,MAAM,uBAAuB,GAAiB,IAAI,CAAC;AACnD,MAAM,uBAAuB,GAAiB,KAAK,CAAC;AAKpD,IAAI,SAAwD,CAAC;AAC7D,IAAI,aAAuC,CAAC;AAC5C,IAAI,eAA6B,CAAC;AAElC;6DAC6D;AAC7D,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;IACxB,IAAI,SAAS,EAAE;QAAE,IAAI,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC;AAmBI,KAAK,UAAU,OAAO,CAAC,EAC5B,cAAc,GAAG,uBAAuB,EACxC,cAAc,GAAG,uBAAuB,EACxC,YAAY,EACZ,WAAW,GAAG,KAAK,EACnB,YAAY,GAAG,KAAK,GACA;IACpB,KAAK,CAAC;QACJ,cAAc;QACd,cAAc;QACd,YAAY;QACZ,WAAW;QACX,YAAY;KACb,CAAC,CAAC;IACH,MAAM,IAAA,eAAK,EAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC;AAhBD,0BAgBC;AAED,qEAAqE;AACrE,SAAgB,KAAK,CAAC,EACpB,cAAc,GAAG,uBAAuB,EACxC,cAAc,GAAG,uBAAuB,EACxC,YAAY,EACZ,WAAW,GAAG,KAAK,EACnB,YAAY,GAAG,KAAK,GACA;IACpB,IAAI,SAAS,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;IAED,SAAS,GAAG,IAAI,qCAAY,CAC1B,cAAc,EACd,cAAc,GAAG,IAAI,EACrB,WAAW,EACX,YAAY,CACb,CAAC;IACF,aAAa,GAAG,YAAY,CAAC;IAC7B,eAAe,GAAG,cAAc,CAAC;IACjC,SAAS,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AApBD,sBAoBC;AAED,SAAgB,IAAI,CAClB,OAAO,GAAG,KAAK,EACf,cAA8C;IAE9C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,kBAAkB,GAAG,IAAA,yCAAoB,EAC7C,OAAO,EACP,eAAe,EACf,aAAa,EACb,IAAI,EACJ,cAAc,CACf,CAAC;IACF,IAAI,CAAC,OAAO,EAAE;QACZ,SAAS,GAAG,SAAS,CAAC;QACtB,aAAa,GAAG,SAAS,CAAC;KAC3B;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AArBD,oBAqBC;AAED,SAAgB,QAAQ;IACtB,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,OAAO,SAAS,CAAC,KAAK,CAAC;AACzB,CAAC;AALD,4BAKC;AAED,SAAgB,UAAU,CAAC,OAAgB;IACzC,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;AAC9B,CAAC;AALD,gCAKC;AAED,SAAgB,SAAS;IACvB,OAAO,CAAC,CAAC,SAAS,CAAC;AACrB,CAAC;AAFD,8BAEC;AAEY,QAAA,SAAS,GAAG,EAAC,YAAY,EAAC,CAAC"}
1
+ {"version":3,"file":"time-profiler.js","sourceRoot":"","sources":["../../ts/src/time-profiler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,kDAA0B;AAE1B,6DAA0D;AAE1D,qEAGkC;AAGlC,MAAM,EAAC,YAAY,EAAC,GAAG,kCAAiB,CAAC;AAEzC,MAAM,uBAAuB,GAAiB,IAAI,CAAC;AACnD,MAAM,uBAAuB,GAAiB,KAAK,CAAC;AAKpD,IAAI,SAAwD,CAAC;AAC7D,IAAI,aAAuC,CAAC;AAC5C,IAAI,eAA6B,CAAC;AAClC,IAAI,iCAAiC,GAAG,CAAC,CAAC;AAE1C;6DAC6D;AAC7D,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;IACxB,IAAI,SAAS,EAAE;QAAE,IAAI,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC;AAoBI,KAAK,UAAU,OAAO,CAAC,EAC5B,cAAc,GAAG,uBAAuB,EACxC,cAAc,GAAG,uBAAuB,EACxC,YAAY,EACZ,WAAW,GAAG,KAAK,EACnB,YAAY,GAAG,KAAK,EACpB,eAAe,GAAG,IAAI,GACF;IACpB,KAAK,CAAC;QACJ,cAAc;QACd,cAAc;QACd,YAAY;QACZ,WAAW;QACX,YAAY;QACZ,eAAe;KAChB,CAAC,CAAC;IACH,MAAM,IAAA,eAAK,EAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC;AAlBD,0BAkBC;AAED,qEAAqE;AACrE,SAAgB,KAAK,CAAC,EACpB,cAAc,GAAG,uBAAuB,EACxC,cAAc,GAAG,uBAAuB,EACxC,YAAY,EACZ,WAAW,GAAG,KAAK,EACnB,YAAY,GAAG,KAAK,EACpB,eAAe,GAAG,IAAI,GACF;IACpB,IAAI,SAAS,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KACrD;IAED,SAAS,GAAG,IAAI,qCAAY,CAC1B,cAAc,EACd,cAAc,GAAG,IAAI,EACrB,WAAW,EACX,YAAY,EACZ,eAAe,CAChB,CAAC;IACF,aAAa,GAAG,YAAY,CAAC;IAC7B,eAAe,GAAG,cAAc,CAAC;IACjC,iCAAiC,GAAG,CAAC,CAAC;IACtC,SAAS,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AAvBD,sBAuBC;AAED,SAAgB,IAAI,CAClB,OAAO,GAAG,KAAK,EACf,cAA8C;IAE9C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,OAAO,EAAE;QACX,iCAAiC;YAC/B,SAAS,CAAC,gCAAgC,EAAE,CAAC;QAC/C,2EAA2E;QAC3E,qDAAqD;QACrD,6EAA6E;QAC7E,IAAI,iCAAiC,GAAG,CAAC,EAAE;YACzC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,SAAS,CAAC,KAAK,EAAE,CAAC;SACnB;KACF;SAAM;QACL,iCAAiC,GAAG,CAAC,CAAC;KACvC;IAED,MAAM,kBAAkB,GAAG,IAAA,yCAAoB,EAC7C,OAAO,EACP,eAAe,EACf,aAAa,EACb,IAAI,EACJ,cAAc,CACf,CAAC;IACF,IAAI,CAAC,OAAO,EAAE;QACZ,SAAS,GAAG,SAAS,CAAC;QACtB,aAAa,GAAG,SAAS,CAAC;KAC3B;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAnCD,oBAmCC;AAED,SAAgB,QAAQ;IACtB,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,OAAO,SAAS,CAAC,KAAK,CAAC;AACzB,CAAC;AALD,4BAKC;AAED,SAAgB,UAAU,CAAC,OAAgB;IACzC,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;AAC9B,CAAC;AALD,gCAKC;AAED,SAAgB,SAAS;IACvB,OAAO,CAAC,CAAC,SAAS,CAAC;AACrB,CAAC;AAFD,8BAEC;AAED,sFAAsF;AACtF,SAAgB,gCAAgC;IAC9C,OAAO,iCAAiC,CAAC;AAC3C,CAAC;AAFD,4EAEC;AAEY,QAAA,SAAS,GAAG,EAAC,YAAY,EAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datadog/pprof",
3
- "version": "4.0.0-pre-d444c12",
3
+ "version": "4.0.0-pre-ff50bca",
4
4
  "description": "pprof support for Node.js",
5
5
  "repository": "datadog/pprof-nodejs",
6
6
  "main": "out/src/index.js",
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
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
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
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file