@datadog/pprof 2.2.0 → 2.2.2

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 (78) hide show
  1. package/README.md +3 -3
  2. package/out/src/heap-profiler-bindings.d.ts +1 -1
  3. package/out/src/heap-profiler.d.ts +1 -1
  4. package/out/src/sourcemapper/sourcemapper.js +39 -25
  5. package/out/src/sourcemapper/sourcemapper.js.map +1 -1
  6. package/out/src/time-profiler.d.ts +2 -2
  7. package/package.json +18 -17
  8. package/prebuilds/darwin-arm64/node-102.node +0 -0
  9. package/prebuilds/darwin-arm64/node-108.node +0 -0
  10. package/prebuilds/darwin-arm64/node-111.node +0 -0
  11. package/prebuilds/darwin-arm64/node-115.node +0 -0
  12. package/prebuilds/darwin-arm64/node-72.node +0 -0
  13. package/prebuilds/darwin-arm64/node-79.node +0 -0
  14. package/prebuilds/darwin-arm64/node-83.node +0 -0
  15. package/prebuilds/darwin-arm64/node-88.node +0 -0
  16. package/prebuilds/darwin-arm64/node-93.node +0 -0
  17. package/prebuilds/darwin-x64/node-102.node +0 -0
  18. package/prebuilds/darwin-x64/node-108.node +0 -0
  19. package/prebuilds/darwin-x64/node-111.node +0 -0
  20. package/prebuilds/darwin-x64/node-115.node +0 -0
  21. package/prebuilds/darwin-x64/node-72.node +0 -0
  22. package/prebuilds/darwin-x64/node-79.node +0 -0
  23. package/prebuilds/darwin-x64/node-83.node +0 -0
  24. package/prebuilds/darwin-x64/node-88.node +0 -0
  25. package/prebuilds/darwin-x64/node-93.node +0 -0
  26. package/prebuilds/linux-arm/node-102.node +0 -0
  27. package/prebuilds/linux-arm/node-108.node +0 -0
  28. package/prebuilds/linux-arm/node-111.node +0 -0
  29. package/prebuilds/linux-arm/node-115.node +0 -0
  30. package/prebuilds/linux-arm/node-72.node +0 -0
  31. package/prebuilds/linux-arm/node-79.node +0 -0
  32. package/prebuilds/linux-arm/node-83.node +0 -0
  33. package/prebuilds/linux-arm/node-88.node +0 -0
  34. package/prebuilds/linux-arm/node-93.node +0 -0
  35. package/prebuilds/linux-arm64/node-102.node +0 -0
  36. package/prebuilds/linux-arm64/node-108.node +0 -0
  37. package/prebuilds/linux-arm64/node-111.node +0 -0
  38. package/prebuilds/linux-arm64/node-115.node +0 -0
  39. package/prebuilds/linux-arm64/node-72.node +0 -0
  40. package/prebuilds/linux-arm64/node-79.node +0 -0
  41. package/prebuilds/linux-arm64/node-83.node +0 -0
  42. package/prebuilds/linux-arm64/node-88.node +0 -0
  43. package/prebuilds/linux-arm64/node-93.node +0 -0
  44. package/prebuilds/linux-ia32/node-72.node +0 -0
  45. package/prebuilds/linux-ia32/node-79.node +0 -0
  46. package/prebuilds/linux-x64/node-102.node +0 -0
  47. package/prebuilds/linux-x64/node-108.node +0 -0
  48. package/prebuilds/linux-x64/node-111.node +0 -0
  49. package/prebuilds/linux-x64/node-115.node +0 -0
  50. package/prebuilds/linux-x64/node-72.node +0 -0
  51. package/prebuilds/linux-x64/node-79.node +0 -0
  52. package/prebuilds/linux-x64/node-83.node +0 -0
  53. package/prebuilds/linux-x64/node-88.node +0 -0
  54. package/prebuilds/linux-x64/node-93.node +0 -0
  55. package/prebuilds/linuxmusl-x64/node-102.node +0 -0
  56. package/prebuilds/linuxmusl-x64/node-108.node +0 -0
  57. package/prebuilds/linuxmusl-x64/node-111.node +0 -0
  58. package/prebuilds/linuxmusl-x64/node-115.node +0 -0
  59. package/prebuilds/linuxmusl-x64/node-72.node +0 -0
  60. package/prebuilds/linuxmusl-x64/node-79.node +0 -0
  61. package/prebuilds/linuxmusl-x64/node-83.node +0 -0
  62. package/prebuilds/linuxmusl-x64/node-88.node +0 -0
  63. package/prebuilds/linuxmusl-x64/node-93.node +0 -0
  64. package/prebuilds/win32-ia32/node-102.node +0 -0
  65. package/prebuilds/win32-ia32/node-72.node +0 -0
  66. package/prebuilds/win32-ia32/node-79.node +0 -0
  67. package/prebuilds/win32-ia32/node-83.node +0 -0
  68. package/prebuilds/win32-ia32/node-88.node +0 -0
  69. package/prebuilds/win32-ia32/node-93.node +0 -0
  70. package/prebuilds/win32-x64/node-102.node +0 -0
  71. package/prebuilds/win32-x64/node-108.node +0 -0
  72. package/prebuilds/win32-x64/node-111.node +0 -0
  73. package/prebuilds/win32-x64/node-115.node +0 -0
  74. package/prebuilds/win32-x64/node-72.node +0 -0
  75. package/prebuilds/win32-x64/node-79.node +0 -0
  76. package/prebuilds/win32-x64/node-83.node +0 -0
  77. package/prebuilds/win32-x64/node-88.node +0 -0
  78. package/prebuilds/win32-x64/node-93.node +0 -0
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # pprof support for Node.js
2
2
 
3
3
  [![NPM Version][npm-image]][npm-url]
4
- [![Build Status][circle-image]][circle-url]
4
+ [![Build Status][build-image]][build-url]
5
5
  [![Known Vulnerabilities][snyk-image]][snyk-url]
6
6
 
7
7
  [pprof][pprof-url] support for Node.js.
@@ -108,8 +108,8 @@ Install [`pprof`][npm-url] with `npm` or add to your `package.json`.
108
108
  const profile = await pprof.heap.v8Profile();
109
109
  ```
110
110
 
111
- [circle-image]: https://circleci.com/gh/google/pprof-nodejs.svg?style=svg
112
- [circle-url]: https://circleci.com/gh/google/pprof-nodejs
111
+ [build-image]: https://github.com/Datadog/pprof-nodejs/actions/workflows/build.yml/badge.svg?branch=main
112
+ [build-url]: https://github.com/Datadog/pprof-nodejs/actions/workflows/build.yml
113
113
  [coveralls-image]: https://coveralls.io/repos/google/pprof-nodejs/badge.svg?branch=main&service=github
114
114
  [npm-image]: https://badge.fury.io/js/pprof.svg
115
115
  [npm-url]: https://npmjs.org/package/pprof
@@ -17,5 +17,5 @@ import { AllocationProfileNode } from './v8-types';
17
17
  export declare function startSamplingHeapProfiler(heapIntervalBytes: number, heapStackDepth: number): void;
18
18
  export declare function stopSamplingHeapProfiler(): void;
19
19
  export declare function getAllocationProfile(): AllocationProfileNode;
20
- export declare type NearHeapLimitCallback = (profile: AllocationProfileNode) => void;
20
+ export type NearHeapLimitCallback = (profile: AllocationProfileNode) => void;
21
21
  export declare function monitorOutOfMemory(heapLimitExtensionSize: number, maxHeapLimitExtensionCount: number, dumpHeapProfileOnSdterr: boolean, exportCommand: Array<String> | undefined, callback: NearHeapLimitCallback | undefined, callbackMode: number): void;
@@ -36,7 +36,7 @@ export declare function convertProfile(rootNode: AllocationProfileNode, ignoreSa
36
36
  */
37
37
  export declare function start(intervalBytes: number, stackDepth: number): void;
38
38
  export declare function stop(): void;
39
- export declare type NearHeapLimitCallback = (profile: Profile) => void;
39
+ export type NearHeapLimitCallback = (profile: Profile) => void;
40
40
  export declare const CallbackMode: {
41
41
  Async: number;
42
42
  Interrupt: number;
@@ -38,6 +38,15 @@ const pLimit = require('p-limit');
38
38
  const readFile = pify(fs.readFile);
39
39
  const CONCURRENCY = 10;
40
40
  const MAP_EXT = '.map';
41
+ const debug = process.env.DD_PROFILING_DEBUG_SOURCE_MAPS
42
+ ? (msg) => {
43
+ console.log(typeof msg === 'function' ? msg() : msg);
44
+ }
45
+ : () => { };
46
+ function error(msg) {
47
+ debug(`Error: ${msg}`);
48
+ return new Error(msg);
49
+ }
41
50
  /**
42
51
  * @param {!Map} infoMap The map that maps input source files to
43
52
  * SourceMapConsumer objects that are used to calculate mapping information
@@ -49,7 +58,7 @@ async function processSourceMap(infoMap, mapPath) {
49
58
  // this handles the case when the path is undefined, null, or
50
59
  // the empty string
51
60
  if (!mapPath || !mapPath.endsWith(MAP_EXT)) {
52
- throw new Error(`The path "${mapPath}" does not specify a source map file`);
61
+ throw error(`The path "${mapPath}" does not specify a source map file`);
53
62
  }
54
63
  mapPath = path.normalize(mapPath);
55
64
  let contents;
@@ -57,7 +66,7 @@ async function processSourceMap(infoMap, mapPath) {
57
66
  contents = await readFile(mapPath, 'utf8');
58
67
  }
59
68
  catch (e) {
60
- throw new Error('Could not read source map file ' + mapPath + ': ' + e);
69
+ throw error('Could not read source map file ' + mapPath + ': ' + e);
61
70
  }
62
71
  let consumer;
63
72
  try {
@@ -70,7 +79,7 @@ async function processSourceMap(infoMap, mapPath) {
70
79
  consumer = (await new sourceMap.SourceMapConsumer(contents));
71
80
  }
72
81
  catch (e) {
73
- throw new Error('An error occurred while reading the ' +
82
+ throw error('An error occurred while reading the ' +
74
83
  'sourceMap file ' +
75
84
  mapPath +
76
85
  ': ' +
@@ -88,20 +97,11 @@ async function processSourceMap(infoMap, mapPath) {
88
97
  : path.basename(mapPath, MAP_EXT);
89
98
  const generatedPath = path.resolve(dir, generatedBase);
90
99
  infoMap.set(generatedPath, { mapFileDir: dir, mapConsumer: consumer });
100
+ debug(`Loaded source map for ${generatedPath} => ${mapPath}`);
91
101
  }
92
102
  class SourceMapper {
93
- /**
94
- * @param {Array.<string>} sourceMapPaths An array of paths to .map source map
95
- * files that should be processed. The paths should be relative to the
96
- * current process's current working directory
97
- * @param {Logger} logger A logger that reports errors that occurred while
98
- * processing the given source map files
99
- * @constructor
100
- */
101
- constructor() {
102
- this.infoMap = new Map();
103
- }
104
103
  static async create(searchDirs) {
104
+ debug(() => `Looking for source map files in dirs: [${searchDirs.join(', ')}]`);
105
105
  const mapFiles = [];
106
106
  for (const dir of searchDirs) {
107
107
  try {
@@ -111,11 +111,23 @@ class SourceMapper {
111
111
  });
112
112
  }
113
113
  catch (e) {
114
- throw new Error(`failed to get source maps from ${dir}: ${e}`);
114
+ throw error(`failed to get source maps from ${dir}: ${e}`);
115
115
  }
116
116
  }
117
+ debug(() => `Found source map files: [${mapFiles.join(', ')}]`);
117
118
  return createFromMapFiles(mapFiles);
118
119
  }
120
+ /**
121
+ * @param {Array.<string>} sourceMapPaths An array of paths to .map source map
122
+ * files that should be processed. The paths should be relative to the
123
+ * current process's current working directory
124
+ * @param {Logger} logger A logger that reports errors that occurred while
125
+ * processing the given source map files
126
+ * @constructor
127
+ */
128
+ constructor() {
129
+ this.infoMap = new Map();
130
+ }
119
131
  /**
120
132
  * Used to get the information about the transpiled file from a given input
121
133
  * source file provided there isn't any ambiguity with associating the input
@@ -172,29 +184,28 @@ class SourceMapper {
172
184
  const inputPath = path.normalize(location.file);
173
185
  const entry = this.getMappingInfo(inputPath);
174
186
  if (entry === null) {
187
+ debug(() => `Source map lookup failed: no map found for ${location.file} (normalized: ${inputPath})`);
175
188
  return location;
176
189
  }
177
190
  const generatedPos = {
178
191
  line: location.line,
179
- column: location.column,
180
- bias: sourceMap.SourceMapConsumer.LEAST_UPPER_BOUND,
192
+ column: location.column > 0 ? location.column - 1 : 0, // SourceMapConsumer expects column to be 0-based
181
193
  };
182
194
  // TODO: Determine how to remove the explicit cast here.
183
195
  const consumer = entry.mapConsumer;
184
- let pos = consumer.originalPositionFor(generatedPos);
185
- if (pos.source === null) {
186
- generatedPos.bias = sourceMap.SourceMapConsumer.GREATEST_LOWER_BOUND;
187
- pos = consumer.originalPositionFor(generatedPos);
188
- }
196
+ const pos = consumer.originalPositionFor(generatedPos);
189
197
  if (pos.source === null) {
198
+ debug(() => `Source map lookup failed for ${location.name}(${location.file}:${location.line}:${location.column})`);
190
199
  return location;
191
200
  }
192
- return {
201
+ const loc = {
193
202
  file: path.resolve(entry.mapFileDir, pos.source),
194
203
  line: pos.line || undefined,
195
204
  name: pos.name || location.name,
196
- column: pos.column || undefined,
205
+ column: pos.column === null ? undefined : pos.column + 1, // convert column back to 1-based
197
206
  };
207
+ debug(() => `Source map lookup succeeded for ${location.name}(${location.file}:${location.line}:${location.column}) => ${loc.name}(${loc.file}:${loc.line}:${loc.column})`);
208
+ return loc;
198
209
  }
199
210
  }
200
211
  exports.SourceMapper = SourceMapper;
@@ -206,7 +217,7 @@ async function createFromMapFiles(mapFiles) {
206
217
  await Promise.all(promises);
207
218
  }
208
219
  catch (err) {
209
- throw new Error('An error occurred while processing the source map files' + err);
220
+ throw error('An error occurred while processing the source map files' + err);
210
221
  }
211
222
  return mapper;
212
223
  }
@@ -240,6 +251,9 @@ directoryFilter = (root, dirname) => true) {
240
251
  if (!isNonFatalError(error)) {
241
252
  throw error;
242
253
  }
254
+ else {
255
+ debug(() => `Non fatal error: ${error}`);
256
+ }
243
257
  }
244
258
  }
245
259
  yield* walkRecursive(dir);
@@ -1 +1 @@
1
- {"version":3,"file":"sourcemapper.js","sourceRoot":"","sources":["../../../ts/src/sourcemapper/sourcemapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sourcemapper.js","sourceRoot":"","sources":["../../../ts/src/sourcemapper/sourcemapper.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,8 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { SourceMapper } from './sourcemapper/sourcemapper';
17
- declare type Microseconds = number;
18
- declare type Milliseconds = number;
17
+ type Microseconds = number;
18
+ type Milliseconds = number;
19
19
  export interface TimeProfilerOptions {
20
20
  /** time in milliseconds for which to collect profile. */
21
21
  durationMillis: Milliseconds;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datadog/pprof",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "description": "pprof support for Node.js",
5
5
  "repository": "datadog/pprof-nodejs",
6
6
  "main": "out/src/index.js",
@@ -14,10 +14,11 @@
14
14
  "codecov": "nyc report --reporter=json && codecov -f coverage/*.json",
15
15
  "compile": "tsc -p .",
16
16
  "fix": "gts fix",
17
- "lint": "jsgl --local . && gts check",
17
+ "lint": "jsgl --local . && gts check && clang-format --style file -n -Werror --glob='bindings/**/*.{h,hh,cpp,cc}'",
18
+ "format": "clang-format --style file -i --glob='bindings/**/*.{h,hh,cpp,cc}'",
18
19
  "prebuild": "node scripts/prebuild.js",
19
20
  "prebuilds": "node scripts/prebuilds.js",
20
- "prepare": "npm run compile",
21
+ "prepare": "npm run compile && npm run rebuild",
21
22
  "pretest": "npm run compile && npm run rebuild"
22
23
  },
23
24
  "author": {
@@ -29,45 +30,45 @@
29
30
  "node-gyp-build": "^3.9.0",
30
31
  "p-limit": "^3.1.0",
31
32
  "pify": "^5.0.0",
32
- "pprof-format": "^2.0.6",
33
+ "pprof-format": "^2.0.7",
33
34
  "source-map": "^0.7.3",
34
35
  "split": "^1.0.1"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@types/mocha": "^9.1.1",
38
- "@types/node": "^18.0.6",
39
+ "@types/node": "^18.16.16",
39
40
  "@types/p-limit": "^2.0.0",
40
41
  "@types/pify": "^5.0.0",
41
42
  "@types/pretty-ms": "^5.0.1",
42
43
  "@types/request": "^2.47.1",
43
- "@types/sinon": "^10.0.0",
44
+ "@types/sinon": "^10.0.15",
44
45
  "@types/tmp": "^0.2.3",
45
- "@typescript-eslint/eslint-plugin": "^5.38.0",
46
+ "@typescript-eslint/eslint-plugin": "^5.59.9",
46
47
  "axios": "^0.27.2",
47
48
  "checksum": "^1.0.0",
49
+ "clang-format": "^1.8.0",
48
50
  "codecov": "^3.0.0",
49
51
  "deep-copy": "^1.4.2",
50
- "eslint-config-standard": "^17.0.0",
51
- "eslint-plugin-import": "^2.26.0",
52
- "eslint-plugin-n": "^15.2.0",
53
- "eslint-plugin-promise": "^6.0.0",
54
- "glob": "^8.0.3",
52
+ "eslint-config-standard": "^17.1.0",
53
+ "eslint-plugin-import": "^2.27.5",
54
+ "eslint-plugin-n": "^15.7.0",
55
+ "eslint-plugin-promise": "^6.1.1",
56
+ "glob": "^8.1.0",
55
57
  "gts": "^3.0.0",
56
58
  "js-green-licenses": "^4.0.0",
57
- "linkinator": "^4.0.2",
58
59
  "mkdirp": "^1.0.4",
59
60
  "mocha": "^9.2.2",
60
61
  "nan": "^2.17.0",
61
62
  "nyc": "^15.0.0",
62
63
  "protobufjs-cli": "^1.0.2",
63
64
  "rimraf": "^3.0.2",
64
- "semver": "^7.3.5",
65
- "sinon": "^14.0.0",
65
+ "semver": "^7.5.1",
66
+ "sinon": "^14.0.2",
66
67
  "source-map-support": "^0.5.12",
67
- "tar": "^6.1.0",
68
+ "tar": "^6.1.15",
68
69
  "tmp": "0.2.1",
69
70
  "ts-mockito": "^2.2.5",
70
- "typescript": "^4.7.4"
71
+ "typescript": "^4.9.5"
71
72
  },
72
73
  "files": [
73
74
  "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
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