@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.
- package/README.md +2 -2
- package/out/src/index.d.ts +1 -0
- package/out/src/index.js +1 -0
- package/out/src/index.js.map +1 -1
- package/out/src/time-profiler.d.ts +4 -2
- package/out/src/time-profiler.js +26 -4
- package/out/src/time-profiler.js.map +1 -1
- package/package.json +1 -1
- package/prebuilds/darwin-arm64/node-102.node +0 -0
- package/prebuilds/darwin-arm64/node-108.node +0 -0
- package/prebuilds/darwin-arm64/node-111.node +0 -0
- package/prebuilds/darwin-arm64/node-115.node +0 -0
- package/prebuilds/darwin-arm64/node-72.node +0 -0
- package/prebuilds/darwin-arm64/node-79.node +0 -0
- package/prebuilds/darwin-arm64/node-83.node +0 -0
- package/prebuilds/darwin-arm64/node-88.node +0 -0
- package/prebuilds/darwin-arm64/node-93.node +0 -0
- package/prebuilds/darwin-x64/node-102.node +0 -0
- package/prebuilds/darwin-x64/node-108.node +0 -0
- package/prebuilds/darwin-x64/node-111.node +0 -0
- package/prebuilds/darwin-x64/node-115.node +0 -0
- package/prebuilds/darwin-x64/node-72.node +0 -0
- package/prebuilds/darwin-x64/node-79.node +0 -0
- package/prebuilds/darwin-x64/node-83.node +0 -0
- package/prebuilds/darwin-x64/node-88.node +0 -0
- package/prebuilds/darwin-x64/node-93.node +0 -0
- package/prebuilds/linux-arm/node-102.node +0 -0
- package/prebuilds/linux-arm/node-108.node +0 -0
- package/prebuilds/linux-arm/node-111.node +0 -0
- package/prebuilds/linux-arm/node-115.node +0 -0
- package/prebuilds/linux-arm/node-72.node +0 -0
- package/prebuilds/linux-arm/node-79.node +0 -0
- package/prebuilds/linux-arm/node-83.node +0 -0
- package/prebuilds/linux-arm/node-88.node +0 -0
- package/prebuilds/linux-arm/node-93.node +0 -0
- package/prebuilds/linux-arm64/node-102.node +0 -0
- package/prebuilds/linux-arm64/node-108.node +0 -0
- package/prebuilds/linux-arm64/node-111.node +0 -0
- package/prebuilds/linux-arm64/node-115.node +0 -0
- package/prebuilds/linux-arm64/node-72.node +0 -0
- package/prebuilds/linux-arm64/node-79.node +0 -0
- package/prebuilds/linux-arm64/node-83.node +0 -0
- package/prebuilds/linux-arm64/node-88.node +0 -0
- package/prebuilds/linux-arm64/node-93.node +0 -0
- package/prebuilds/linux-ia32/node-72.node +0 -0
- package/prebuilds/linux-ia32/node-79.node +0 -0
- package/prebuilds/linux-x64/node-102.node +0 -0
- package/prebuilds/linux-x64/node-108.node +0 -0
- package/prebuilds/linux-x64/node-111.node +0 -0
- package/prebuilds/linux-x64/node-115.node +0 -0
- package/prebuilds/linux-x64/node-72.node +0 -0
- package/prebuilds/linux-x64/node-79.node +0 -0
- package/prebuilds/linux-x64/node-83.node +0 -0
- package/prebuilds/linux-x64/node-88.node +0 -0
- package/prebuilds/linux-x64/node-93.node +0 -0
- package/prebuilds/linuxmusl-x64/node-102.node +0 -0
- package/prebuilds/linuxmusl-x64/node-108.node +0 -0
- package/prebuilds/linuxmusl-x64/node-111.node +0 -0
- package/prebuilds/linuxmusl-x64/node-115.node +0 -0
- package/prebuilds/linuxmusl-x64/node-72.node +0 -0
- package/prebuilds/linuxmusl-x64/node-79.node +0 -0
- package/prebuilds/linuxmusl-x64/node-83.node +0 -0
- package/prebuilds/linuxmusl-x64/node-88.node +0 -0
- package/prebuilds/linuxmusl-x64/node-93.node +0 -0
- package/prebuilds/win32-ia32/node-102.node +0 -0
- package/prebuilds/win32-ia32/node-72.node +0 -0
- package/prebuilds/win32-ia32/node-79.node +0 -0
- package/prebuilds/win32-ia32/node-83.node +0 -0
- package/prebuilds/win32-ia32/node-88.node +0 -0
- package/prebuilds/win32-ia32/node-93.node +0 -0
- package/prebuilds/win32-x64/node-102.node +0 -0
- package/prebuilds/win32-x64/node-108.node +0 -0
- package/prebuilds/win32-x64/node-111.node +0 -0
- package/prebuilds/win32-x64/node-115.node +0 -0
- package/prebuilds/win32-x64/node-72.node +0 -0
- package/prebuilds/win32-x64/node-79.node +0 -0
- package/prebuilds/win32-x64/node-83.node +0 -0
- package/prebuilds/win32-x64/node-88.node +0 -0
- 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
|
package/out/src/index.d.ts
CHANGED
|
@@ -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
|
};
|
package/out/src/index.js.map
CHANGED
|
@@ -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
|
};
|
package/out/src/time-profiler.js
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"time-profiler.js","sourceRoot":"","sources":["../../ts/src/time-profiler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
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
|
|
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
|