@datadog/pprof 1.1.0 → 2.0.0-pre-9983949
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/out/src/cpu-profiler.d.ts +1 -1
- package/out/src/cpu-profiler.js +10 -5
- package/out/src/cpu-profiler.js.map +1 -1
- package/out/src/heap-profiler.d.ts +2 -2
- package/out/src/profile-encoder.d.ts +3 -3
- package/out/src/profile-encoder.js +5 -2
- package/out/src/profile-encoder.js.map +1 -1
- package/out/src/profile-serializer.d.ts +4 -4
- package/out/src/profile-serializer.js +66 -47
- package/out/src/profile-serializer.js.map +1 -1
- package/out/src/sourcemapper/sourcemapper.js +38 -3
- package/out/src/sourcemapper/sourcemapper.js.map +1 -1
- package/out/src/time-profiler.d.ts +2 -2
- package/out/src/v8-types.d.ts +5 -1
- package/package.json +5 -4
- 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-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-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-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-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-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-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-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/proto/README.md +3 -0
- package/proto/profile.d.ts +1001 -0
- package/proto/profile.js +3161 -0
- package/out/third_party/cloud-debug-nodejs/src/agent/io/scanner.d.ts +0 -29
- package/out/third_party/cloud-debug-nodejs/src/agent/io/scanner.js +0 -214
- package/out/third_party/cloud-debug-nodejs/src/agent/io/scanner.js.map +0 -1
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { CpuProfiler as NativeCpuProfiler } from './cpu-profiler-bindings';
|
|
17
17
|
export default class CpuProfiler extends NativeCpuProfiler {
|
|
18
|
-
profile(): import("
|
|
18
|
+
profile(): import("../../proto/profile").perftools.profiles.IProfile | undefined;
|
|
19
19
|
}
|
package/out/src/cpu-profiler.js
CHANGED
|
@@ -79,14 +79,19 @@ class CpuProfiler extends cpu_profiler_bindings_1.CpuProfiler {
|
|
|
79
79
|
targetNode.children.push(node);
|
|
80
80
|
targetNode = node;
|
|
81
81
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
if (sample.labels && Object.keys(sample.labels).length > 0) {
|
|
83
|
+
targetNode.labelSets.push({
|
|
84
|
+
labels: sample.labels,
|
|
85
|
+
cpuTime: sample.cpuTime,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
targetNode.cpuTime += sample.cpuTime;
|
|
90
|
+
targetNode.hitCount++;
|
|
86
91
|
}
|
|
87
92
|
targetNode = timeProfile.topDownRoot;
|
|
88
93
|
}
|
|
89
|
-
const intervalMicros =
|
|
94
|
+
const intervalMicros = 1000000 / this.frequency;
|
|
90
95
|
return (0, profile_serializer_1.serializeCpuProfile)(timeProfile, intervalMicros);
|
|
91
96
|
}
|
|
92
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cpu-profiler.js","sourceRoot":"","sources":["../../ts/src/cpu-profiler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAEH,6DAAyD;AACzD,mEAAyE;AAQzE,SAAS,WAAW,CAAC,CAAiB,EAAE,CAAiB;IACvD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,QAAmB;IACnC,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,YAAY;QAC/C,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;QACrC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,UAAU,EAAE,QAAQ,CAAC,IAAI;QACzB,YAAY,EAAE,QAAQ,CAAC,MAAM;QAC7B,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,MAAqB,WAAY,SAAQ,mCAAiB;IACxD,OAAO;QACL,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC;YAAE,OAAO;QAEjC,MAAM,OAAO,GAAsB,KAAK,CAAC,OAAO,EAAE,CAAC;QAEnD,MAAM,WAAW,GAAe;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,CAAC;gBACX,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;gBACf,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE,EAAE;aACb;SACF,CAAC;QAEF,IAAI,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC;QAEzC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;YACpC,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,SAAS,EAAE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE;gBAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAEhC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,QAAQ,EAAE;oBACvC,MAAM,SAAS,GAAG,KAAuB,CAAC;oBAC1C,IAAI,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;wBAChC,UAAU,GAAG,SAAS,CAAC;wBACvB,SAAS,SAAS,CAAC;qBACpB;iBACF;gBAED,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,UAAU,GAAG,IAAI,CAAC;aACnB;YAED,
|
|
1
|
+
{"version":3,"file":"cpu-profiler.js","sourceRoot":"","sources":["../../ts/src/cpu-profiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
16
|
+
import { perftools } from '../../proto/profile';
|
|
17
17
|
import { SourceMapper } from './sourcemapper/sourcemapper';
|
|
18
18
|
import { AllocationProfileNode } from './v8-types';
|
|
19
19
|
export declare function v8Profile(): AllocationProfileNode;
|
|
@@ -24,7 +24,7 @@ export declare function v8Profile(): AllocationProfileNode;
|
|
|
24
24
|
* @param ignoreSamplePath
|
|
25
25
|
* @param sourceMapper
|
|
26
26
|
*/
|
|
27
|
-
export declare function profile(ignoreSamplePath?: string, sourceMapper?: SourceMapper):
|
|
27
|
+
export declare function profile(ignoreSamplePath?: string, sourceMapper?: SourceMapper): perftools.profiles.IProfile;
|
|
28
28
|
/**
|
|
29
29
|
* Starts heap profiling. If heap profiling has already been started with
|
|
30
30
|
* the same parameters, this is a noop. If heap profiler has already been
|
|
@@ -14,6 +14,6 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
/// <reference types="node" />
|
|
17
|
-
import {
|
|
18
|
-
export declare function encode(profile:
|
|
19
|
-
export declare function encodeSync(profile:
|
|
17
|
+
import { perftools } from '../../proto/profile';
|
|
18
|
+
export declare function encode(profile: perftools.profiles.IProfile): Promise<Buffer>;
|
|
19
|
+
export declare function encodeSync(profile: perftools.profiles.IProfile): Buffer;
|
|
@@ -18,13 +18,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.encodeSync = exports.encode = void 0;
|
|
19
19
|
const pify = require("pify");
|
|
20
20
|
const zlib_1 = require("zlib");
|
|
21
|
+
const profile_1 = require("../../proto/profile");
|
|
21
22
|
const gzipPromise = pify(zlib_1.gzip);
|
|
22
23
|
async function encode(profile) {
|
|
23
|
-
|
|
24
|
+
const buffer = profile_1.perftools.profiles.Profile.encode(profile).finish();
|
|
25
|
+
return gzipPromise(buffer);
|
|
24
26
|
}
|
|
25
27
|
exports.encode = encode;
|
|
26
28
|
function encodeSync(profile) {
|
|
27
|
-
|
|
29
|
+
const buffer = profile_1.perftools.profiles.Profile.encode(profile).finish();
|
|
30
|
+
return (0, zlib_1.gzipSync)(buffer);
|
|
28
31
|
}
|
|
29
32
|
exports.encodeSync = encodeSync;
|
|
30
33
|
//# sourceMappingURL=profile-encoder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-encoder.js","sourceRoot":"","sources":["../../ts/src/profile-encoder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,6BAA6B;AAC7B,+BAAoC;
|
|
1
|
+
{"version":3,"file":"profile-encoder.js","sourceRoot":"","sources":["../../ts/src/profile-encoder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,6BAA6B;AAC7B,+BAAoC;AAEpC,iDAA8C;AAE9C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAI,CAAC,CAAC;AAExB,KAAK,UAAU,MAAM,CAC1B,OAAoC;IAEpC,MAAM,MAAM,GAAG,mBAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACnE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AALD,wBAKC;AAED,SAAgB,UAAU,CAAC,OAAoC;IAC7D,MAAM,MAAM,GAAG,mBAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACnE,OAAO,IAAA,eAAQ,EAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAHD,gCAGC"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
16
|
+
import { perftools } from '../../proto/profile';
|
|
17
17
|
import { SourceMapper } from './sourcemapper/sourcemapper';
|
|
18
18
|
import { AllocationProfileNode, CpuProfile, TimeProfile } from './v8-types';
|
|
19
19
|
/**
|
|
@@ -23,7 +23,7 @@ import { AllocationProfileNode, CpuProfile, TimeProfile } from './v8-types';
|
|
|
23
23
|
* @param prof - profile to be converted.
|
|
24
24
|
* @param intervalMicros - average time (microseconds) between samples.
|
|
25
25
|
*/
|
|
26
|
-
export declare function serializeTimeProfile(prof: TimeProfile, intervalMicros: number, sourceMapper?: SourceMapper):
|
|
26
|
+
export declare function serializeTimeProfile(prof: TimeProfile, intervalMicros: number, sourceMapper?: SourceMapper): perftools.profiles.IProfile;
|
|
27
27
|
/**
|
|
28
28
|
* Converts cpu profile into into a profile proto.
|
|
29
29
|
* (https://github.com/google/pprof/blob/master/proto/profile.proto)
|
|
@@ -31,7 +31,7 @@ export declare function serializeTimeProfile(prof: TimeProfile, intervalMicros:
|
|
|
31
31
|
* @param prof - profile to be converted.
|
|
32
32
|
* @param intervalMicros - average time (microseconds) between samples.
|
|
33
33
|
*/
|
|
34
|
-
export declare function serializeCpuProfile(prof: CpuProfile, intervalMicros: number, sourceMapper?: SourceMapper):
|
|
34
|
+
export declare function serializeCpuProfile(prof: CpuProfile, intervalMicros: number, sourceMapper?: SourceMapper): perftools.profiles.IProfile;
|
|
35
35
|
/**
|
|
36
36
|
* Converts v8 heap profile into into a profile proto.
|
|
37
37
|
* (https://github.com/google/pprof/blob/master/proto/profile.proto)
|
|
@@ -42,4 +42,4 @@ export declare function serializeCpuProfile(prof: CpuProfile, intervalMicros: nu
|
|
|
42
42
|
* nanoseconds.
|
|
43
43
|
* @param intervalBytes - bytes allocated between samples.
|
|
44
44
|
*/
|
|
45
|
-
export declare function serializeHeapProfile(prof: AllocationProfileNode, startTimeNanos: number, intervalBytes: number, ignoreSamplesPath?: string, sourceMapper?: SourceMapper):
|
|
45
|
+
export declare function serializeHeapProfile(prof: AllocationProfileNode, startTimeNanos: number, intervalBytes: number, ignoreSamplesPath?: string, sourceMapper?: SourceMapper): perftools.profiles.IProfile;
|
|
@@ -16,12 +16,36 @@
|
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.serializeHeapProfile = exports.serializeCpuProfile = exports.serializeTimeProfile = void 0;
|
|
19
|
-
const
|
|
19
|
+
const profile_1 = require("../../proto/profile");
|
|
20
20
|
function isGeneratedLocation(location) {
|
|
21
21
|
return (location.column !== undefined &&
|
|
22
22
|
location.line !== undefined &&
|
|
23
23
|
location.line > 0);
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Used to build string table and access strings and their ids within the table
|
|
27
|
+
* when serializing a profile.
|
|
28
|
+
*/
|
|
29
|
+
class StringTable {
|
|
30
|
+
constructor() {
|
|
31
|
+
this.strings = [];
|
|
32
|
+
this.stringsMap = new Map();
|
|
33
|
+
this.getIndexOrAdd('');
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @return index of str within the table. Also adds str to string table if
|
|
37
|
+
* str is not in the table already.
|
|
38
|
+
*/
|
|
39
|
+
getIndexOrAdd(str) {
|
|
40
|
+
let idx = this.stringsMap.get(str);
|
|
41
|
+
if (idx !== undefined) {
|
|
42
|
+
return idx;
|
|
43
|
+
}
|
|
44
|
+
idx = this.strings.push(str) - 1;
|
|
45
|
+
this.stringsMap.set(str, idx);
|
|
46
|
+
return idx;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
25
49
|
/**
|
|
26
50
|
* Takes v8 profile and populates sample, location, and function fields of
|
|
27
51
|
* profile.proto.
|
|
@@ -63,7 +87,7 @@ function serialize(profile, root, appendToSamples, stringTable, ignoreSamplesPat
|
|
|
63
87
|
profile.sample = samples;
|
|
64
88
|
profile.location = locations;
|
|
65
89
|
profile.function = functions;
|
|
66
|
-
profile.stringTable = stringTable;
|
|
90
|
+
profile.stringTable = stringTable.strings;
|
|
67
91
|
function getLocation(node, sourceMapper) {
|
|
68
92
|
let profLoc = {
|
|
69
93
|
file: node.scriptName || '',
|
|
@@ -85,12 +109,12 @@ function serialize(profile, root, appendToSamples, stringTable, ignoreSamplesPat
|
|
|
85
109
|
id = locations.length + 1;
|
|
86
110
|
locationIdMap.set(keyStr, id);
|
|
87
111
|
const line = getLine(node.scriptId, profLoc.file, profLoc.name, profLoc.line);
|
|
88
|
-
const location = new
|
|
112
|
+
const location = new profile_1.perftools.profiles.Location({ id, line: [line] });
|
|
89
113
|
locations.push(location);
|
|
90
114
|
return location;
|
|
91
115
|
}
|
|
92
116
|
function getLine(scriptId, scriptName, name, line) {
|
|
93
|
-
return new
|
|
117
|
+
return new profile_1.perftools.profiles.Line({
|
|
94
118
|
functionId: getFunction(scriptId, scriptName, name).id,
|
|
95
119
|
line,
|
|
96
120
|
});
|
|
@@ -104,12 +128,12 @@ function serialize(profile, root, appendToSamples, stringTable, ignoreSamplesPat
|
|
|
104
128
|
}
|
|
105
129
|
id = functions.length + 1;
|
|
106
130
|
functionIdMap.set(keyStr, id);
|
|
107
|
-
const nameId = stringTable.
|
|
108
|
-
const f = new
|
|
131
|
+
const nameId = stringTable.getIndexOrAdd(name || '(anonymous)');
|
|
132
|
+
const f = new profile_1.perftools.profiles.Function({
|
|
109
133
|
id,
|
|
110
134
|
name: nameId,
|
|
111
135
|
systemName: nameId,
|
|
112
|
-
filename: stringTable.
|
|
136
|
+
filename: stringTable.getIndexOrAdd(scriptName || ''),
|
|
113
137
|
});
|
|
114
138
|
functions.push(f);
|
|
115
139
|
return f;
|
|
@@ -120,9 +144,9 @@ function serialize(profile, root, appendToSamples, stringTable, ignoreSamplesPat
|
|
|
120
144
|
* adds strings used in this value type to the table.
|
|
121
145
|
*/
|
|
122
146
|
function createSampleCountValueType(table) {
|
|
123
|
-
return new
|
|
124
|
-
type: table.
|
|
125
|
-
unit: table.
|
|
147
|
+
return new profile_1.perftools.profiles.ValueType({
|
|
148
|
+
type: table.getIndexOrAdd('sample'),
|
|
149
|
+
unit: table.getIndexOrAdd('count'),
|
|
126
150
|
});
|
|
127
151
|
}
|
|
128
152
|
/**
|
|
@@ -130,9 +154,9 @@ function createSampleCountValueType(table) {
|
|
|
130
154
|
* adds strings used in this value type to the table.
|
|
131
155
|
*/
|
|
132
156
|
function createTimeValueType(table) {
|
|
133
|
-
return new
|
|
134
|
-
type: table.
|
|
135
|
-
unit: table.
|
|
157
|
+
return new profile_1.perftools.profiles.ValueType({
|
|
158
|
+
type: table.getIndexOrAdd('wall'),
|
|
159
|
+
unit: table.getIndexOrAdd('nanoseconds'),
|
|
136
160
|
});
|
|
137
161
|
}
|
|
138
162
|
/**
|
|
@@ -140,9 +164,9 @@ function createTimeValueType(table) {
|
|
|
140
164
|
* adds strings used in this value type to the table.
|
|
141
165
|
*/
|
|
142
166
|
function createCpuValueType(table) {
|
|
143
|
-
return new
|
|
144
|
-
type: table.
|
|
145
|
-
unit: table.
|
|
167
|
+
return new profile_1.perftools.profiles.ValueType({
|
|
168
|
+
type: table.getIndexOrAdd('cpu'),
|
|
169
|
+
unit: table.getIndexOrAdd('nanoseconds'),
|
|
146
170
|
});
|
|
147
171
|
}
|
|
148
172
|
/**
|
|
@@ -150,9 +174,9 @@ function createCpuValueType(table) {
|
|
|
150
174
|
* adds strings used in this value type to the table.
|
|
151
175
|
*/
|
|
152
176
|
function createObjectCountValueType(table) {
|
|
153
|
-
return new
|
|
154
|
-
type: table.
|
|
155
|
-
unit: table.
|
|
177
|
+
return new profile_1.perftools.profiles.ValueType({
|
|
178
|
+
type: table.getIndexOrAdd('objects'),
|
|
179
|
+
unit: table.getIndexOrAdd('count'),
|
|
156
180
|
});
|
|
157
181
|
}
|
|
158
182
|
/**
|
|
@@ -160,9 +184,9 @@ function createObjectCountValueType(table) {
|
|
|
160
184
|
* adds strings used in this value type to the table.
|
|
161
185
|
*/
|
|
162
186
|
function createAllocationValueType(table) {
|
|
163
|
-
return new
|
|
164
|
-
type: table.
|
|
165
|
-
unit: table.
|
|
187
|
+
return new profile_1.perftools.profiles.ValueType({
|
|
188
|
+
type: table.getIndexOrAdd('space'),
|
|
189
|
+
unit: table.getIndexOrAdd('bytes'),
|
|
166
190
|
});
|
|
167
191
|
}
|
|
168
192
|
/**
|
|
@@ -176,14 +200,14 @@ function serializeTimeProfile(prof, intervalMicros, sourceMapper) {
|
|
|
176
200
|
const intervalNanos = intervalMicros * 1000;
|
|
177
201
|
const appendTimeEntryToSamples = (entry, samples) => {
|
|
178
202
|
if (entry.node.hitCount > 0) {
|
|
179
|
-
const sample = new
|
|
203
|
+
const sample = new profile_1.perftools.profiles.Sample({
|
|
180
204
|
locationId: entry.stack,
|
|
181
205
|
value: [entry.node.hitCount, entry.node.hitCount * intervalNanos],
|
|
182
206
|
});
|
|
183
207
|
samples.push(sample);
|
|
184
208
|
}
|
|
185
209
|
};
|
|
186
|
-
const stringTable = new
|
|
210
|
+
const stringTable = new StringTable();
|
|
187
211
|
const sampleValueType = createSampleCountValueType(stringTable);
|
|
188
212
|
const timeValueType = createTimeValueType(stringTable);
|
|
189
213
|
const profile = {
|
|
@@ -191,21 +215,21 @@ function serializeTimeProfile(prof, intervalMicros, sourceMapper) {
|
|
|
191
215
|
timeNanos: Date.now() * 1000 * 1000,
|
|
192
216
|
durationNanos: (prof.endTime - prof.startTime) * 1000,
|
|
193
217
|
periodType: timeValueType,
|
|
194
|
-
period:
|
|
218
|
+
period: intervalNanos,
|
|
195
219
|
};
|
|
196
220
|
serialize(profile, prof.topDownRoot, appendTimeEntryToSamples, stringTable, undefined, sourceMapper);
|
|
197
|
-
return
|
|
221
|
+
return profile;
|
|
198
222
|
}
|
|
199
223
|
exports.serializeTimeProfile = serializeTimeProfile;
|
|
200
224
|
function buildLabels(labelSet, stringTable) {
|
|
201
225
|
const labels = [];
|
|
202
226
|
for (const [key, value] of Object.entries(labelSet)) {
|
|
203
227
|
if (typeof value === 'number' || typeof value === 'string') {
|
|
204
|
-
const label = new
|
|
205
|
-
key: stringTable.
|
|
228
|
+
const label = new profile_1.perftools.profiles.Label({
|
|
229
|
+
key: stringTable.getIndexOrAdd(key),
|
|
206
230
|
num: typeof value === 'number' ? value : undefined,
|
|
207
231
|
str: typeof value === 'string'
|
|
208
|
-
? stringTable.
|
|
232
|
+
? stringTable.getIndexOrAdd(value)
|
|
209
233
|
: undefined,
|
|
210
234
|
});
|
|
211
235
|
labels.push(label);
|
|
@@ -223,28 +247,23 @@ function buildLabels(labelSet, stringTable) {
|
|
|
223
247
|
function serializeCpuProfile(prof, intervalMicros, sourceMapper) {
|
|
224
248
|
const intervalNanos = intervalMicros * 1000;
|
|
225
249
|
const appendCpuEntryToSamples = (entry, samples) => {
|
|
226
|
-
for (const
|
|
227
|
-
const sample = new
|
|
250
|
+
for (const labelCpu of entry.node.labelSets) {
|
|
251
|
+
const sample = new profile_1.perftools.profiles.Sample({
|
|
228
252
|
locationId: entry.stack,
|
|
229
|
-
value: [1,
|
|
230
|
-
label: buildLabels(
|
|
253
|
+
value: [1, labelCpu.cpuTime],
|
|
254
|
+
label: buildLabels(labelCpu.labels, stringTable),
|
|
231
255
|
});
|
|
232
256
|
samples.push(sample);
|
|
233
257
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
const sample = new pprof_format_1.Sample({
|
|
258
|
+
if (entry.node.hitCount > 0) {
|
|
259
|
+
const sample = new profile_1.perftools.profiles.Sample({
|
|
237
260
|
locationId: entry.stack,
|
|
238
|
-
value: [
|
|
239
|
-
unknownEntryCount,
|
|
240
|
-
entry.node.cpuTime,
|
|
241
|
-
// unknownEntryCount * intervalNanos,
|
|
242
|
-
],
|
|
261
|
+
value: [entry.node.hitCount, entry.node.cpuTime],
|
|
243
262
|
});
|
|
244
263
|
samples.push(sample);
|
|
245
264
|
}
|
|
246
265
|
};
|
|
247
|
-
const stringTable = new
|
|
266
|
+
const stringTable = new StringTable();
|
|
248
267
|
const sampleValueType = createSampleCountValueType(stringTable);
|
|
249
268
|
// const wallValueType = createTimeValueType(stringTable);
|
|
250
269
|
const cpuValueType = createCpuValueType(stringTable);
|
|
@@ -253,10 +272,10 @@ function serializeCpuProfile(prof, intervalMicros, sourceMapper) {
|
|
|
253
272
|
timeNanos: Date.now() * 1000 * 1000,
|
|
254
273
|
durationNanos: prof.endTime - prof.startTime,
|
|
255
274
|
periodType: cpuValueType,
|
|
256
|
-
period:
|
|
275
|
+
period: intervalNanos,
|
|
257
276
|
};
|
|
258
277
|
serialize(profile, prof.topDownRoot, appendCpuEntryToSamples, stringTable, undefined, sourceMapper);
|
|
259
|
-
return
|
|
278
|
+
return profile;
|
|
260
279
|
}
|
|
261
280
|
exports.serializeCpuProfile = serializeCpuProfile;
|
|
262
281
|
/**
|
|
@@ -273,7 +292,7 @@ function serializeHeapProfile(prof, startTimeNanos, intervalBytes, ignoreSamples
|
|
|
273
292
|
const appendHeapEntryToSamples = (entry, samples) => {
|
|
274
293
|
if (entry.node.allocations.length > 0) {
|
|
275
294
|
for (const alloc of entry.node.allocations) {
|
|
276
|
-
const sample = new
|
|
295
|
+
const sample = new profile_1.perftools.profiles.Sample({
|
|
277
296
|
locationId: entry.stack,
|
|
278
297
|
value: [alloc.count, alloc.sizeBytes * alloc.count],
|
|
279
298
|
// TODO: add tag for allocation size
|
|
@@ -282,7 +301,7 @@ function serializeHeapProfile(prof, startTimeNanos, intervalBytes, ignoreSamples
|
|
|
282
301
|
}
|
|
283
302
|
}
|
|
284
303
|
};
|
|
285
|
-
const stringTable = new
|
|
304
|
+
const stringTable = new StringTable();
|
|
286
305
|
const sampleValueType = createObjectCountValueType(stringTable);
|
|
287
306
|
const allocationValueType = createAllocationValueType(stringTable);
|
|
288
307
|
const profile = {
|
|
@@ -292,7 +311,7 @@ function serializeHeapProfile(prof, startTimeNanos, intervalBytes, ignoreSamples
|
|
|
292
311
|
period: intervalBytes,
|
|
293
312
|
};
|
|
294
313
|
serialize(profile, prof, appendHeapEntryToSamples, stringTable, ignoreSamplesPath, sourceMapper);
|
|
295
|
-
return
|
|
314
|
+
return profile;
|
|
296
315
|
}
|
|
297
316
|
exports.serializeHeapProfile = serializeHeapProfile;
|
|
298
317
|
//# sourceMappingURL=profile-serializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-serializer.js","sourceRoot":"","sources":["../../ts/src/profile-serializer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH
|
|
1
|
+
{"version":3,"file":"profile-serializer.js","sourceRoot":"","sources":["../../ts/src/profile-serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,6 @@ const sourceMap = require("source-map");
|
|
|
33
33
|
if (desc) {
|
|
34
34
|
Object.defineProperty(globalThis, 'fetch', desc);
|
|
35
35
|
}
|
|
36
|
-
const scanner = require("../../third_party/cloud-debug-nodejs/src/agent/io/scanner");
|
|
37
36
|
const pify = require('pify');
|
|
38
37
|
const pLimit = require('p-limit');
|
|
39
38
|
const readFile = pify(fs.readFile);
|
|
@@ -203,9 +202,45 @@ async function createFromMapFiles(mapFiles) {
|
|
|
203
202
|
}
|
|
204
203
|
return mapper;
|
|
205
204
|
}
|
|
205
|
+
function isErrnoException(e) {
|
|
206
|
+
return e instanceof Error && 'code' in e;
|
|
207
|
+
}
|
|
208
|
+
function isNonFatalError(error) {
|
|
209
|
+
const nonFatalErrors = ['ENOENT', 'EPERM', 'EACCES', 'ELOOP'];
|
|
210
|
+
return (isErrnoException(error) && error.code && nonFatalErrors.includes(error.code));
|
|
211
|
+
}
|
|
212
|
+
async function* walk(dir,
|
|
213
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
214
|
+
fileFilter = (filename) => true,
|
|
215
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
216
|
+
directoryFilter = (root, dirname) => true) {
|
|
217
|
+
async function* walkRecursive(dir) {
|
|
218
|
+
try {
|
|
219
|
+
for await (const d of await fs.promises.opendir(dir)) {
|
|
220
|
+
const entry = path.join(dir, d.name);
|
|
221
|
+
if (d.isDirectory() && directoryFilter(dir, d.name)) {
|
|
222
|
+
yield* walkRecursive(entry);
|
|
223
|
+
}
|
|
224
|
+
else if (d.isFile() && fileFilter(d.name)) {
|
|
225
|
+
// check that the file is readable
|
|
226
|
+
await fs.promises.access(entry, fs.constants.R_OK);
|
|
227
|
+
yield entry;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
catch (error) {
|
|
232
|
+
if (!isNonFatalError(error)) {
|
|
233
|
+
throw error;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
yield* walkRecursive(dir);
|
|
238
|
+
}
|
|
206
239
|
async function getMapFiles(baseDir) {
|
|
207
|
-
const
|
|
208
|
-
const
|
|
240
|
+
const mapFiles = [];
|
|
241
|
+
for await (const entry of walk(baseDir, filename => filename.endsWith('.js.map'), (root, dirname) => root !== '/proc' && dirname !== '.git' && dirname !== 'node_modules')) {
|
|
242
|
+
mapFiles.push(path.relative(baseDir, entry));
|
|
243
|
+
}
|
|
209
244
|
return mapFiles;
|
|
210
245
|
}
|
|
211
246
|
//# sourceMappingURL=sourcemapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourcemapper.js","sourceRoot":"","sources":["../../../ts/src/sourcemapper/sourcemapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,mEAAmE;AACnE,8HAA8H;AAC9H,8EAA8E;AAC9E,0BAA0B;AAE1B,yBAAyB;AACzB,6BAA6B;AAE7B,2EAA2E;AAC3E,0EAA0E;AAC1E,uEAAuE;AACvE,MAAM,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAClE,6DAA6D;AAC7D,aAAa;AACb,OAAO,UAAU,CAAC,KAAK,CAAC;AACxB,wCAAwC;AACxC,IAAI,IAAI,EAAE;IACR,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;CAClD;AAED,
|
|
1
|
+
{"version":3,"file":"sourcemapper.js","sourceRoot":"","sources":["../../../ts/src/sourcemapper/sourcemapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,6 @@ export interface TimeProfilerOptions {
|
|
|
31
31
|
*/
|
|
32
32
|
lineNumbers?: boolean;
|
|
33
33
|
}
|
|
34
|
-
export declare function profile(options: TimeProfilerOptions): Promise<import("
|
|
35
|
-
export declare function start(intervalMicros?: Microseconds, name?: string, sourceMapper?: SourceMapper, lineNumbers?: boolean): (restart?: boolean) => import("
|
|
34
|
+
export declare function profile(options: TimeProfilerOptions): Promise<import("../../proto/profile").perftools.profiles.IProfile>;
|
|
35
|
+
export declare function start(intervalMicros?: Microseconds, name?: string, sourceMapper?: SourceMapper, lineNumbers?: boolean): (restart?: boolean) => import("../../proto/profile").perftools.profiles.IProfile;
|
|
36
36
|
export {};
|
package/out/src/v8-types.d.ts
CHANGED
|
@@ -55,10 +55,14 @@ export interface CpuProfile {
|
|
|
55
55
|
export interface LabelSet {
|
|
56
56
|
[key: string]: string | number;
|
|
57
57
|
}
|
|
58
|
+
export interface LabelsCpu {
|
|
59
|
+
labels: LabelSet;
|
|
60
|
+
cpuTime: number;
|
|
61
|
+
}
|
|
58
62
|
export interface CpuProfileNode extends ProfileNode {
|
|
59
63
|
hitCount: number;
|
|
60
64
|
cpuTime: number;
|
|
61
|
-
labelSets:
|
|
65
|
+
labelSets: LabelsCpu[];
|
|
62
66
|
}
|
|
63
67
|
export interface CpuProfileSample {
|
|
64
68
|
labels: LabelSet;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datadog/pprof",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-pre-9983949",
|
|
4
4
|
"description": "pprof support for Node.js",
|
|
5
5
|
"repository": "datadog/pprof-nodejs",
|
|
6
6
|
"main": "out/src/index.js",
|
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
"prebuild": "node scripts/prebuild.js",
|
|
19
19
|
"prebuilds": "node scripts/prebuilds.js",
|
|
20
20
|
"prepare": "npm run compile",
|
|
21
|
-
"pretest": "npm run compile && npm run rebuild"
|
|
21
|
+
"pretest": "npm run compile && npm run rebuild",
|
|
22
|
+
"proto": "npm run proto:profile",
|
|
23
|
+
"proto:profile": "mkdir -p proto && npx --yes pbjs -t static-module -w commonjs -o proto/profile.js third_party/proto/profile.proto && pbts -o proto/profile.d.ts proto/profile.js"
|
|
22
24
|
},
|
|
23
25
|
"author": {
|
|
24
26
|
"name": "Google Inc."
|
|
@@ -26,11 +28,10 @@
|
|
|
26
28
|
"license": "Apache-2.0",
|
|
27
29
|
"dependencies": {
|
|
28
30
|
"delay": "^5.0.0",
|
|
29
|
-
"findit2": "^2.2.3",
|
|
30
31
|
"node-gyp-build": "^3.9.0",
|
|
31
32
|
"p-limit": "^3.1.0",
|
|
32
33
|
"pify": "^5.0.0",
|
|
33
|
-
"
|
|
34
|
+
"protobufjs": "^7.0.0",
|
|
34
35
|
"source-map": "^0.7.3",
|
|
35
36
|
"split": "^1.0.1"
|
|
36
37
|
},
|
|
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
|