@datadog/pprof 0.2.1 → 0.5.0

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 (106) hide show
  1. package/binding.gyp +130 -31
  2. package/bindings/binding.cc +13 -0
  3. package/bindings/code-event-record.cc +115 -0
  4. package/bindings/code-event-record.hh +67 -0
  5. package/bindings/code-map.cc +112 -0
  6. package/bindings/code-map.hh +47 -0
  7. package/bindings/cpu-time.cc +89 -0
  8. package/bindings/cpu-time.hh +35 -0
  9. package/bindings/location.cc +117 -0
  10. package/bindings/location.hh +43 -0
  11. package/bindings/per-isolate-data.cc +42 -0
  12. package/bindings/per-isolate-data.hh +26 -0
  13. package/bindings/profilers/cpu.cc +285 -0
  14. package/bindings/profilers/cpu.hh +78 -0
  15. package/bindings/profilers/heap.cc +112 -0
  16. package/bindings/profilers/heap.hh +40 -0
  17. package/bindings/profilers/wall.cc +306 -0
  18. package/bindings/profilers/wall.hh +28 -0
  19. package/bindings/sample.cc +160 -0
  20. package/bindings/sample.hh +48 -0
  21. package/bindings/test/binding.cc +59 -0
  22. package/bindings/test/code-event-record.test.cc +81 -0
  23. package/bindings/test/code-event-record.test.hh +5 -0
  24. package/bindings/test/code-map.test.cc +77 -0
  25. package/bindings/test/code-map.test.hh +5 -0
  26. package/bindings/test/cpu-time.test.cc +30 -0
  27. package/bindings/test/cpu-time.test.hh +5 -0
  28. package/bindings/test/location.test.cc +39 -0
  29. package/bindings/test/location.test.hh +5 -0
  30. package/bindings/test/profilers/cpu.test.cc +88 -0
  31. package/bindings/test/profilers/cpu.test.hh +5 -0
  32. package/bindings/test/sample.test.cc +128 -0
  33. package/bindings/test/sample.test.hh +5 -0
  34. package/bindings/test/tap.h +830 -0
  35. package/bindings/wrap.hh +20 -0
  36. package/out/src/cpu-profiler-bindings.d.ts +1 -0
  37. package/out/src/cpu-profiler-bindings.js +23 -0
  38. package/out/src/cpu-profiler-bindings.js.map +1 -0
  39. package/out/src/cpu-profiler.d.ts +19 -0
  40. package/out/src/cpu-profiler.js +94 -0
  41. package/out/src/cpu-profiler.js.map +1 -0
  42. package/out/src/index.d.ts +2 -0
  43. package/out/src/index.js +3 -1
  44. package/out/src/index.js.map +1 -1
  45. package/out/src/profile-encoder.js +3 -14
  46. package/out/src/profile-encoder.js.map +1 -1
  47. package/out/src/profile-serializer.d.ts +9 -1
  48. package/out/src/profile-serializer.js +73 -1
  49. package/out/src/profile-serializer.js.map +1 -1
  50. package/out/src/sourcemapper/sourcemapper.js +81 -88
  51. package/out/src/sourcemapper/sourcemapper.js.map +1 -1
  52. package/out/src/time-profiler.d.ts +1 -1
  53. package/out/src/time-profiler.js +40 -34
  54. package/out/src/time-profiler.js.map +1 -1
  55. package/out/src/v8-types.d.ts +38 -0
  56. package/out/third_party/cloud-debug-nodejs/src/agent/io/scanner.js +6 -17
  57. package/out/third_party/cloud-debug-nodejs/src/agent/io/scanner.js.map +1 -1
  58. package/package-lock.json +5627 -0
  59. package/package.json +12 -14
  60. package/prebuilds/darwin-arm64/node-102.node +0 -0
  61. package/prebuilds/darwin-arm64/node-108.node +0 -0
  62. package/prebuilds/darwin-arm64/node-72.node +0 -0
  63. package/prebuilds/darwin-arm64/node-79.node +0 -0
  64. package/prebuilds/darwin-arm64/node-83.node +0 -0
  65. package/prebuilds/darwin-arm64/node-88.node +0 -0
  66. package/prebuilds/darwin-arm64/node-93.node +0 -0
  67. package/prebuilds/darwin-ia32/node-102.node +0 -0
  68. package/prebuilds/darwin-ia32/node-108.node +0 -0
  69. package/prebuilds/darwin-ia32/node-72.node +0 -0
  70. package/prebuilds/darwin-ia32/node-79.node +0 -0
  71. package/prebuilds/darwin-ia32/node-83.node +0 -0
  72. package/prebuilds/darwin-ia32/node-88.node +0 -0
  73. package/prebuilds/darwin-ia32/node-93.node +0 -0
  74. package/prebuilds/darwin-x64/node-102.node +0 -0
  75. package/prebuilds/darwin-x64/node-108.node +0 -0
  76. package/prebuilds/darwin-x64/node-72.node +0 -0
  77. package/prebuilds/darwin-x64/node-79.node +0 -0
  78. package/prebuilds/darwin-x64/node-83.node +0 -0
  79. package/prebuilds/darwin-x64/node-88.node +0 -0
  80. package/prebuilds/darwin-x64/node-93.node +0 -0
  81. package/prebuilds/linux-ia32/node-72.node +0 -0
  82. package/prebuilds/linux-ia32/node-79.node +0 -0
  83. package/prebuilds/linux-x64/node-102.node +0 -0
  84. package/prebuilds/linux-x64/node-108.node +0 -0
  85. package/prebuilds/linux-x64/node-72.node +0 -0
  86. package/prebuilds/linux-x64/node-79.node +0 -0
  87. package/prebuilds/linux-x64/node-83.node +0 -0
  88. package/prebuilds/linux-x64/node-88.node +0 -0
  89. package/prebuilds/linux-x64/node-93.node +0 -0
  90. package/prebuilds/win32-ia32/node-102.node +0 -0
  91. package/prebuilds/win32-ia32/node-72.node +0 -0
  92. package/prebuilds/win32-ia32/node-79.node +0 -0
  93. package/prebuilds/win32-ia32/node-83.node +0 -0
  94. package/prebuilds/win32-ia32/node-88.node +0 -0
  95. package/prebuilds/win32-ia32/node-93.node +0 -0
  96. package/prebuilds/win32-x64/node-102.node +0 -0
  97. package/prebuilds/win32-x64/node-108.node +0 -0
  98. package/prebuilds/win32-x64/node-72.node +0 -0
  99. package/prebuilds/win32-x64/node-79.node +0 -0
  100. package/prebuilds/win32-x64/node-83.node +0 -0
  101. package/prebuilds/win32-x64/node-88.node +0 -0
  102. package/prebuilds/win32-x64/node-93.node +0 -0
  103. package/scripts/require-package-json.js +11 -11
  104. package/scripts/should_rebuild.js +3 -3
  105. package/bindings/profiler.cc +0 -384
  106. package/scripts/preinstall.js +0 -36
@@ -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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"}
@@ -32,5 +32,5 @@ export interface TimeProfilerOptions {
32
32
  lineNumbers?: boolean;
33
33
  }
34
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): () => 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 {};
@@ -14,53 +14,59 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
17
  Object.defineProperty(exports, "__esModule", { value: true });
27
18
  exports.start = exports.profile = void 0;
28
19
  const delay_1 = require("delay");
29
20
  const profile_serializer_1 = require("./profile-serializer");
30
21
  const time_profiler_bindings_1 = require("./time-profiler-bindings");
31
22
  const DEFAULT_INTERVAL_MICROS = 1000;
32
- function profile(options) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- const stop = start(options.intervalMicros || DEFAULT_INTERVAL_MICROS, options.name, options.sourceMapper, options.lineNumbers);
35
- yield delay_1.default(options.durationMillis);
36
- return stop();
37
- });
23
+ const majorVersion = process.version.slice(1).split('.').map(Number)[0];
24
+ async function profile(options) {
25
+ const stop = start(options.intervalMicros || DEFAULT_INTERVAL_MICROS, options.name, options.sourceMapper, options.lineNumbers);
26
+ await delay_1.default(options.durationMillis);
27
+ return stop();
38
28
  }
39
29
  exports.profile = profile;
30
+ function ensureRunName(name) {
31
+ return name || `pprof-${Date.now()}-${Math.random()}`;
32
+ }
33
+ // NOTE: refreshing doesn't work if giving a profile name.
40
34
  function start(intervalMicros = DEFAULT_INTERVAL_MICROS, name, sourceMapper, lineNumbers = true) {
41
- const runName = name || `pprof-${Date.now()}-${Math.random()}`;
42
35
  const profiler = new time_profiler_bindings_1.TimeProfiler(intervalMicros);
43
- profiler.start(runName, lineNumbers);
44
- // Node.js contains an undocumented API for reporting idle status to V8.
45
- // This lets the profiler distinguish idle time from time spent in native
46
- // code. Ideally this should be default behavior. Until then, use the
47
- // undocumented API.
48
- // See https://github.com/nodejs/node/issues/19009#issuecomment-403161559.
49
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
- if (typeof process._startProfilerIdleNotifier === 'function') {
51
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
- process._startProfilerIdleNotifier();
36
+ let runName = start();
37
+ return majorVersion < 16 ? stopOld : stop;
38
+ function start() {
39
+ const runName = ensureRunName(name);
40
+ profiler.start(runName, lineNumbers);
41
+ return runName;
42
+ }
43
+ // Node.js versions prior to v16 leak memory if not disposed and recreated
44
+ // between each profile. As disposing deletes current profile data too,
45
+ // we must stop then dispose then start.
46
+ function stopOld(restart = false) {
47
+ const result = profiler.stop(runName, lineNumbers);
48
+ profiler.dispose();
49
+ if (restart) {
50
+ runName = start();
51
+ }
52
+ return profile_serializer_1.serializeTimeProfile(result, intervalMicros, sourceMapper);
53
53
  }
54
- return function stop() {
54
+ // For Node.js v16+, we want to start the next profile before we stop the
55
+ // current one as otherwise the active profile count could reach zero which
56
+ // means V8 might tear down the symbolizer thread and need to start it again.
57
+ function stop(restart = false) {
58
+ let nextRunName;
59
+ if (restart) {
60
+ nextRunName = start();
61
+ }
55
62
  const result = profiler.stop(runName, lineNumbers);
56
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
- if (typeof process._stopProfilerIdleNotifier === 'function') {
58
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
- process._stopProfilerIdleNotifier();
63
+ if (nextRunName) {
64
+ runName = nextRunName;
60
65
  }
61
- const profile = profile_serializer_1.serializeTimeProfile(result, intervalMicros, sourceMapper);
62
- return profile;
63
- };
66
+ if (!restart)
67
+ profiler.dispose();
68
+ return profile_serializer_1.serializeTimeProfile(result, intervalMicros, sourceMapper);
69
+ }
64
70
  }
65
71
  exports.start = start;
66
72
  //# 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,iCAA0B;AAE1B,6DAA0D;AAE1D,qEAAsD;AAEtD,MAAM,uBAAuB,GAAiB,IAAI,CAAC;AAsBnD,SAAsB,OAAO,CAAC,OAA4B;;QACxD,MAAM,IAAI,GAAG,KAAK,CAChB,OAAO,CAAC,cAAc,IAAI,uBAAuB,EACjD,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,WAAW,CACpB,CAAC;QACF,MAAM,eAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACpC,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;CAAA;AATD,0BASC;AAED,SAAgB,KAAK,CACnB,iBAA+B,uBAAuB,EACtD,IAAa,EACb,YAA2B,EAC3B,WAAW,GAAG,IAAI;IAElB,MAAM,OAAO,GAAG,IAAI,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,qCAAY,CAAC,cAAc,CAAC,CAAC;IAClD,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrC,wEAAwE;IACxE,yEAAyE;IACzE,qEAAqE;IACrE,oBAAoB;IACpB,0EAA0E;IAC1E,8DAA8D;IAC9D,IAAI,OAAQ,OAAe,CAAC,0BAA0B,KAAK,UAAU,EAAE;QACrE,8DAA8D;QAC7D,OAAe,CAAC,0BAA0B,EAAE,CAAC;KAC/C;IACD,OAAO,SAAS,IAAI;QAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,8DAA8D;QAC9D,IAAI,OAAQ,OAAe,CAAC,yBAAyB,KAAK,UAAU,EAAE;YACpE,8DAA8D;YAC7D,OAAe,CAAC,yBAAyB,EAAE,CAAC;SAC9C;QACD,MAAM,OAAO,GAAG,yCAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AA7BD,sBA6BC"}
1
+ {"version":3,"file":"time-profiler.js","sourceRoot":"","sources":["../../ts/src/time-profiler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,iCAA0B;AAE1B,6DAA0D;AAE1D,qEAAsD;AAEtD,MAAM,uBAAuB,GAAiB,IAAI,CAAC;AAEnD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAsBjE,KAAK,UAAU,OAAO,CAAC,OAA4B;IACxD,MAAM,IAAI,GAAG,KAAK,CAChB,OAAO,CAAC,cAAc,IAAI,uBAAuB,EACjD,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,WAAW,CACpB,CAAC;IACF,MAAM,eAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC;AATD,0BASC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,OAAO,IAAI,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AACxD,CAAC;AAED,0DAA0D;AAC1D,SAAgB,KAAK,CACnB,iBAA+B,uBAAuB,EACtD,IAAa,EACb,YAA2B,EAC3B,WAAW,GAAG,IAAI;IAElB,MAAM,QAAQ,GAAG,IAAI,qCAAY,CAAC,cAAc,CAAC,CAAC;IAClD,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;IACtB,OAAO,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1C,SAAS,KAAK;QACZ,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACpC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,0EAA0E;IAC1E,uEAAuE;IACvE,wCAAwC;IACxC,SAAS,OAAO,CAAC,OAAO,GAAG,KAAK;QAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,OAAO,EAAE;YACX,OAAO,GAAG,KAAK,EAAE,CAAC;SACnB;QACD,OAAO,yCAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,6EAA6E;IAC7E,SAAS,IAAI,CAAC,OAAO,GAAG,KAAK;QAC3B,IAAI,WAAW,CAAC;QAChB,IAAI,OAAO,EAAE;YACX,WAAW,GAAG,KAAK,EAAE,CAAC;SACvB;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,WAAW,EAAE;YACf,OAAO,GAAG,WAAW,CAAC;SACvB;QACD,IAAI,CAAC,OAAO;YAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,yCAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AA3CD,sBA2CC"}
@@ -38,3 +38,41 @@ export interface Allocation {
38
38
  sizeBytes: number;
39
39
  count: number;
40
40
  }
41
+ export interface InitialCpuProfile {
42
+ /** Time in nanoseconds at which profile was stopped. */
43
+ endTime: number;
44
+ samples: CpuProfileSample[];
45
+ /** Time in nanoseconds at which profile was started. */
46
+ startTime: number;
47
+ }
48
+ export interface CpuProfile {
49
+ /** Time in nanoseconds at which profile was stopped. */
50
+ endTime: number;
51
+ topDownRoot: CpuProfileNode;
52
+ /** Time in nanoseconds at which profile was started. */
53
+ startTime: number;
54
+ }
55
+ export interface LabelSet {
56
+ [key: string]: string | number;
57
+ }
58
+ export interface CpuProfileNode extends ProfileNode {
59
+ hitCount: number;
60
+ cpuTime: number;
61
+ labelSets: LabelSet[];
62
+ }
63
+ export interface CpuProfileSample {
64
+ labels: LabelSet;
65
+ locations: CodeEvent[];
66
+ cpuTime: number;
67
+ }
68
+ export interface CodeEvent {
69
+ address: number;
70
+ previousAddress?: number;
71
+ size: number;
72
+ comment?: string;
73
+ functionName?: string;
74
+ scriptName?: string;
75
+ scriptId: number;
76
+ line: number;
77
+ column: number;
78
+ }
@@ -14,15 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
17
  Object.defineProperty(exports, "__esModule", { value: true });
27
18
  exports.scan = void 0;
28
19
  const crypto = require("crypto");
@@ -84,11 +75,9 @@ class ScanResultsImpl {
84
75
  });
85
76
  }
86
77
  }
87
- function scan(shouldHash, baseDir, regex) {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- const fileList = yield findFiles(baseDir, regex);
90
- return computeStats(fileList, shouldHash);
91
- });
78
+ async function scan(shouldHash, baseDir, regex) {
79
+ const fileList = await findFiles(baseDir, regex);
80
+ return computeStats(fileList, shouldHash);
92
81
  }
93
82
  exports.scan = scan;
94
83
  /**
@@ -104,7 +93,7 @@ exports.scan = scan;
104
93
  // call signature
105
94
  function computeStats(fileList, shouldHash) {
106
95
  // eslint-disable-next-line no-async-promise-executor
107
- return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
96
+ return new Promise(async (resolve) => {
108
97
  // return a valid, if fake, result when there are no js files to hash.
109
98
  if (fileList.length === 0) {
110
99
  resolve(new ScanResultsImpl({}, new Map(), 'EMPTY-no-js-files'));
@@ -116,7 +105,7 @@ function computeStats(fileList, shouldHash) {
116
105
  const errors = new Map();
117
106
  for (const filename of fileList) {
118
107
  try {
119
- const fileStats = yield statsForFile(filename, shouldHash);
108
+ const fileStats = await statsForFile(filename, shouldHash);
120
109
  if (shouldHash) {
121
110
  hashes.push(fileStats.hash);
122
111
  }
@@ -135,7 +124,7 @@ function computeStats(fileList, shouldHash) {
135
124
  hash = 'SHA1-' + sha1;
136
125
  }
137
126
  resolve(new ScanResultsImpl(statistics, errors, hash));
138
- }));
127
+ });
139
128
  }
140
129
  /**
141
130
  * Given a base-directory, this function scans the subtree and finds all the js
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../../../../ts/third_party/cloud-debug-nodejs/src/agent/io/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../../../../ts/third_party/cloud-debug-nodejs/src/agent/io/scanner.ts"],"names":[],"mappings":"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"}