@appland/appmap 3.188.3 → 3.188.5
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/CHANGELOG.md +14 -0
- package/built/cmds/index/index.js +1 -1
- package/built/cmds/index/index.js.map +1 -1
- package/built/cmds/index/rpc.js +1 -1
- package/built/cmds/index/rpc.js.map +1 -1
- package/built/fingerprint/appmapIndex.js +5 -10
- package/built/fingerprint/appmapIndex.js.map +1 -1
- package/built/fingerprint/fileTooLargeError.js +1 -0
- package/built/fingerprint/fileTooLargeError.js.map +1 -1
- package/built/fingerprint/fingerprintDirectoryCommand.js +1 -1
- package/built/fingerprint/fingerprintDirectoryCommand.js.map +1 -1
- package/built/fingerprint/fingerprintQueue.js +80 -39
- package/built/fingerprint/fingerprintQueue.js.map +1 -1
- package/built/fingerprint/fingerprintWatchCommand.js +1 -1
- package/built/fingerprint/fingerprintWatchCommand.js.map +1 -1
- package/built/fingerprint/fingerprintWorker.js +35 -0
- package/built/fingerprint/fingerprintWorker.js.map +1 -0
- package/built/fingerprint/fingerprinter.js +3 -16
- package/built/fingerprint/fingerprinter.js.map +1 -1
- package/built/lib/UpToDate.js +1 -3
- package/built/lib/UpToDate.js.map +1 -1
- package/built/lib/workerPool.js +36 -0
- package/built/lib/workerPool.js.map +1 -1
- package/built/rpc/navie/services/threadIndexService.js +58 -7
- package/built/rpc/navie/services/threadIndexService.js.map +1 -1
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [@appland/appmap-v3.188.5](https://github.com/getappmap/appmap-js/compare/@appland/appmap-v3.188.4...@appland/appmap-v3.188.5) (2025-04-22)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* Thread index database migrations are now atomic ([#2280](https://github.com/getappmap/appmap-js/issues/2280)) ([0e114d9](https://github.com/getappmap/appmap-js/commit/0e114d9b6469405cbd97e1c809122990cdc63c3e))
|
|
7
|
+
|
|
8
|
+
# [@appland/appmap-v3.188.4](https://github.com/getappmap/appmap-js/compare/@appland/appmap-v3.188.3...@appland/appmap-v3.188.4) (2025-04-16)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* Index AppMaps in parallel ([9d42d51](https://github.com/getappmap/appmap-js/commit/9d42d51707b55a2f66956a86fc427f10d78e4a7d))
|
|
14
|
+
|
|
1
15
|
# [@appland/appmap-v3.188.3](https://github.com/getappmap/appmap-js/compare/@appland/appmap-v3.188.2...@appland/appmap-v3.188.3) (2025-04-15)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -112,7 +112,7 @@ const handler = async (argv) => {
|
|
|
112
112
|
};
|
|
113
113
|
const buildRemoteNavie = () => new navie_nop_1.default();
|
|
114
114
|
const navieProvider = useLocalNavie() ? buildLocalNavie : buildRemoteNavie;
|
|
115
|
-
threadIndexService_1.ThreadIndexService.useDefault();
|
|
115
|
+
await threadIndexService_1.ThreadIndexService.useDefault();
|
|
116
116
|
navieService_1.default.bindNavieProvider(navieProvider);
|
|
117
117
|
await (0, handleWorkingDirectory_1.configureRpcDirectories)([process.cwd()]);
|
|
118
118
|
const rpcMethods = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmds/index/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmds/index/index.ts"],"names":[],"mappings":"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"}
|
package/built/cmds/index/rpc.js
CHANGED
|
@@ -94,7 +94,7 @@ const handler = async (argv) => {
|
|
|
94
94
|
console.error(`failed to intialize model registry: ${String(e)}`);
|
|
95
95
|
});
|
|
96
96
|
const navie = (0, navie_1.buildNavieProvider)(argv);
|
|
97
|
-
threadIndexService_1.ThreadIndexService.useDefault();
|
|
97
|
+
await threadIndexService_1.ThreadIndexService.useDefault();
|
|
98
98
|
navieService_1.default.bindNavieProvider(navie);
|
|
99
99
|
let codeEditor = argv.codeEditor;
|
|
100
100
|
if (!codeEditor) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/cmds/index/rpc.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/cmds/index/rpc.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAoC;AAIpC,4CAAoD;AAEpD,uCAAsC;AACtC,oDAAiD;AACjD,qEAAmD;AAEnD,yEAAiD;AACjD,uFAA+D;AAC/D,uDAAiF;AACjF,oCAAsF;AACtF,4DAAoC;AACpC,iEAA+C;AAC/C,kDAAsE;AACtE,6EAA2E;AAC3E,sFAA8D;AAC9D,2DAKiC;AACjC,kFAA0D;AAC1D,kDAA+C;AAE/C,uDAA4E;AAC5E,qDAAgE;AAChE,qDAAyD;AACzD,uDAA2D;AAC3D,+EAA4D;AAC5D,6DAAuE;AACvE,+DAAyE;AACzE,mEAA6E;AAC7E,yEAAmF;AACnF,6EAA4F;AAC5F,qEAGiD;AACjD,iEAAgF;AAChF,yFAAiE;AACjE,oFAAiF;AACjF,uCAAqC;AACrC,2FAAmE;AACnE,yFAG2D;AAE9C,QAAA,OAAO,GAAG,KAAK,CAAC;AAChB,QAAA,QAAQ,GAAG,4BAA4B,CAAC;AAE9C,MAAM,OAAO,GAAG,CAAI,IAAmB,EAAE,EAAE;IAChD,OAAO,IAAA,8BAAY,EAAC,IAAI,CAAC;SACtB,MAAM,CAAC,MAAM,EAAE;QACd,QAAQ,EACN,wIAAwI;QAC1I,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,CAAC;KACX,CAAC;SACD,MAAM,EAAE,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,OAAO,WAUlB;AAOF,SAAgB,UAAU,CAAC,KAAqB,EAAE,UAAmB;IACnE,MAAM,aAAa,GAAG,oBAAS,CAAC,OAAO,CAAC,uBAAa,CAAC,CAAC;IACvD,MAAM,kBAAkB,GAAG,oBAAS,CAAC,OAAO,CAAC,uCAAkB,CAAC,CAAC;IACjE,OAAO;QACL,IAAA,eAAM,GAAE;QACR,IAAA,qBAAa,GAAE;QACf,IAAA,qBAAa,GAAE;QACf,IAAA,gBAAY,GAAE;QACd,IAAA,cAAU,GAAE;QACZ,IAAA,kBAAQ,GAAE;QACV,IAAA,yBAAe,GAAE;QACjB,IAAA,wBAAc,EAAC,KAAK,EAAE,UAAU,CAAC;QACjC,IAAA,8BAAoB,GAAE;QACtB,IAAA,eAAM,EAAC,KAAK,CAAC;QACb,IAAA,kCAAkB,GAAE;QACpB,IAAA,kCAAkB,GAAE;QACpB,IAAA,kCAAkB,GAAE;QACpB,IAAA,kCAAkB,GAAE;QACpB,IAAA,0BAAe,GAAE;QACjB,IAAA,0BAAe,GAAE;QACjB,IAAA,+BAAqB,EAAC,KAAK,CAAC;QAC5B,IAAA,wBAAc,EAAC,KAAK,CAAC;QACrB,IAAA,sBAAgB,GAAE;QAClB,IAAA,wBAAiB,GAAE;QACnB,IAAA,4BAAmB,GAAE;QACrB,IAAA,kCAAsB,GAAE;QACxB,IAAA,0BAAe,EAAC,aAAa,EAAE,UAAU,CAAC;QAC1C,IAAA,2CAA6B,EAAC,aAAa,CAAC;QAC5C,IAAA,mCAAyB,EAAC,aAAa,CAAC;QACxC,IAAA,qCAA2B,EAAC,aAAa,CAAC;QAC1C,IAAA,+BAAuB,EAAC,kBAAkB,CAAC;QAC3C,IAAA,0DAAsC,EAAC,aAAa,CAAC;QACrD,IAAA,6DAAyC,EAAC,aAAa,CAAC;KACzD,CAAC;AACJ,CAAC;AAlCD,gCAkCC;AAEM,MAAM,OAAO,GAAG,KAAK,EAAE,IAAsB,EAAE,EAAE;IACtD,IAAA,4BAAkB,GAAE,CAAC;IACrB,IAAA,eAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtB,kBAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3C,OAAO,CAAC,KAAK,CAAC,uCAAuC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAA,0BAAkB,EAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,uCAAkB,CAAC,UAAU,EAAE,CAAC;IACtC,sBAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAEtC,IAAI,UAAU,GAAuB,IAAI,CAAC,UAAU,CAAC;IACrD,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,IAAA,0BAAgB,GAAE,CAAC;QAChC,IAAI,UAAU;YAAE,IAAA,mBAAI,EAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;KAC7D;IAED,IAAA,0BAAiB,EAAC,KAAK,CAAC,CAAC;IACzB,MAAM,IAAA,gDAAuB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAG,IAAI,mBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAC1E,SAAS,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC,CAAC;AAxBW,QAAA,OAAO,WAwBlB"}
|
|
@@ -35,17 +35,12 @@ class AppMapIndex {
|
|
|
35
35
|
* abort.
|
|
36
36
|
*/
|
|
37
37
|
async initialize() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return false;
|
|
42
|
-
this.appmapCreatedAt = stats.mtimeMs;
|
|
43
|
-
this.size = stats.size;
|
|
44
|
-
}
|
|
45
|
-
catch (error) {
|
|
46
|
-
console.log(`File ${this.appmapFileName} does not exist or is not a file.`);
|
|
38
|
+
const stats = await (0, promises_1.stat)(this.appmapFileName);
|
|
39
|
+
// note ENOENT and similar errors should be handled upstream
|
|
40
|
+
if (!stats.isFile())
|
|
47
41
|
return false;
|
|
48
|
-
|
|
42
|
+
this.appmapCreatedAt = stats.mtimeMs;
|
|
43
|
+
this.size = stats.size;
|
|
49
44
|
return true;
|
|
50
45
|
}
|
|
51
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appmapIndex.js","sourceRoot":"","sources":["../../src/fingerprint/appmapIndex.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,0CAA6D;AAC7D,+BAA4B;AAC5B,mCAAuD;AACvD,oCAAqE;AAErE;;;;;;;;;;GAUG;AACH,MAAqB,WAAW;IAK9B;;;;;OAKG;IACH,YAAmB,cAAsB;QAAtB,mBAAc,GAAd,cAAc,CAAQ;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAA,gBAAQ,EAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,
|
|
1
|
+
{"version":3,"file":"appmapIndex.js","sourceRoot":"","sources":["../../src/fingerprint/appmapIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileTooLargeError.js","sourceRoot":"","sources":["../../src/fingerprint/fileTooLargeError.ts"],"names":[],"mappings":";;;;;AAAA,gEAAuC;AAEvC,MAAqB,iBAAkB,SAAQ,KAAK;IAClD,YAAmB,IAAY,EAAS,KAAa,EAAS,QAAgB;QAC5E,KAAK,EAAE,CAAC;QADS,SAAI,GAAJ,IAAI,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAQ;
|
|
1
|
+
{"version":3,"file":"fileTooLargeError.js","sourceRoot":"","sources":["../../src/fingerprint/fileTooLargeError.ts"],"names":[],"mappings":";;;;;AAAA,gEAAuC;AAEvC,MAAqB,iBAAkB,SAAQ,KAAK;IAClD,YAAmB,IAAY,EAAS,KAAa,EAAS,QAAgB;QAC5E,KAAK,EAAE,CAAC;QADS,SAAI,GAAJ,IAAI,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAQ;QAI9E,SAAI,GAAG,mBAAmB,CAAC;IAF3B,CAAC;IAID,IAAI,OAAO;QACT,MAAM,IAAI,GAAG,IAAA,sBAAW,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAA,sBAAW,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,QAAQ,IAAI,CAAC,IAAI,6BAA6B,IAAI,wDAAwD,OAAO,GAAG,CAAC;IAC9H,CAAC;CACF;AAZD,oCAYC"}
|
|
@@ -40,7 +40,7 @@ class FingerprintDirectoryCommand {
|
|
|
40
40
|
console.warn(`Fingerprinting appmaps in ${this.directory}`);
|
|
41
41
|
}
|
|
42
42
|
const fpQueue = new fingerprintQueue_1.default();
|
|
43
|
-
fpQueue.
|
|
43
|
+
fpQueue.on('index', ({ numEvents, metadata }) => {
|
|
44
44
|
this.appmaps += 1;
|
|
45
45
|
this.events += numEvents;
|
|
46
46
|
this.metadata = metadata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprintDirectoryCommand.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintDirectoryCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oCAA8C;AAC9C,0EAAkD;AAClD,8DAAgE;AAEhE,MAAM,2BAA2B;IAK/B,YAA6B,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAJtC,YAAO,GAAG,CAAC,CAAC;QACZ,WAAM,GAAG,CAAC,CAAC;IAG8B,CAAC;IAElD,KAAK,CAAC,OAAO;QACX,IAAI,IAAA,eAAO,GAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;SAC7D;QAED,MAAM,OAAO,GAAG,IAAI,0BAAgB,EAAE,CAAC;QACvC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"fingerprintDirectoryCommand.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintDirectoryCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oCAA8C;AAC9C,0EAAkD;AAClD,8DAAgE;AAEhE,MAAM,2BAA2B;IAK/B,YAA6B,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAJtC,YAAO,GAAG,CAAC,CAAC;QACZ,WAAM,GAAG,CAAC,CAAC;IAG8B,CAAC;IAElD,KAAK,CAAC,OAAO;QACX,IAAI,IAAA,eAAO,GAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;SAC7D;QAED,MAAM,OAAO,GAAG,IAAI,0BAAgB,EAAE,CAAC;QACvC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAEvC,MAAM,SAAS,GAAG,MAAM,IAAA,4BAAgB,EACtC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,MAAM,IAAA,mBAAU,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE;QACZ,OAAO,IAAA,iBAAS,EAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;CACF;AAED,kBAAe,2BAA2B,CAAC"}
|
|
@@ -1,50 +1,58 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
2
7
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
8
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
9
|
};
|
|
10
|
+
var _FingerprintQueue_instances, _FingerprintQueue_processed;
|
|
5
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const fingerprinter_1 = __importDefault(require("./fingerprinter"));
|
|
12
|
+
const node_events_1 = require("node:events");
|
|
13
|
+
const workerPool_1 = __importDefault(require("../lib/workerPool"));
|
|
9
14
|
const utils_1 = require("../utils");
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
const fingerprintWorker_1 = require("./fingerprintWorker");
|
|
16
|
+
/**
|
|
17
|
+
* FingerprintQueue manages parallel processing of AppMap files using a worker pool.
|
|
18
|
+
*
|
|
19
|
+
* Each AppMap file is processed by a worker thread which:
|
|
20
|
+
* 1. Reads and validates the AppMap file
|
|
21
|
+
* 2. Generates a fingerprint (canonicalized representation)
|
|
22
|
+
* 3. Saves the fingerprint to the index directory
|
|
23
|
+
*
|
|
24
|
+
* Error handling:
|
|
25
|
+
* - FileTooLargeError: Logs a warning and skips the file
|
|
26
|
+
* - ENOENT (file not found): Logs a warning and skips the file
|
|
27
|
+
* - Other errors: Stores the error and continues processing other files
|
|
28
|
+
* The error will be thrown when process() is called
|
|
29
|
+
*
|
|
30
|
+
* Events:
|
|
31
|
+
* - 'index': Emitted when an AppMap is successfully fingerprinted
|
|
32
|
+
* Payload: FingerprintEvent containing numEvents and metadata
|
|
33
|
+
*
|
|
34
|
+
* Example:
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const queue = new FingerprintQueue(4); // 4 worker threads
|
|
37
|
+
* queue.on('index', ({ numEvents, metadata }) => {
|
|
38
|
+
* console.log(`Indexed AppMap with ${numEvents} events`);
|
|
39
|
+
* });
|
|
40
|
+
* queue.push('path/to/appmap.json');
|
|
41
|
+
* await queue.process(); // Wait for all files to be processed
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @emits index - Emitted when an AppMap is successfully fingerprinted
|
|
45
|
+
*/
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
|
|
47
|
+
class FingerprintQueue extends node_events_1.EventEmitter {
|
|
48
|
+
constructor(numThreads = 2) {
|
|
49
|
+
super();
|
|
50
|
+
_FingerprintQueue_instances.add(this);
|
|
14
51
|
this.pending = new Set();
|
|
15
|
-
|
|
16
|
-
this.handler = new fingerprinter_1.default();
|
|
17
|
-
this.queue = (0, async_1.queue)(async (appmapFileName) => {
|
|
18
|
-
try {
|
|
19
|
-
await this.handler.fingerprint(appmapFileName);
|
|
20
|
-
}
|
|
21
|
-
catch (e) {
|
|
22
|
-
console.warn(`Error fingerprinting ${appmapFileName}: ${e}`);
|
|
23
|
-
}
|
|
24
|
-
this.pending.delete(appmapFileName);
|
|
25
|
-
}, this.size);
|
|
26
|
-
this.queue.drain(() => (this.handler.checkVersion = false));
|
|
27
|
-
this.queue.error((error) => {
|
|
28
|
-
if (error instanceof fileTooLargeError_1.default) {
|
|
29
|
-
console.warn([
|
|
30
|
-
`Skipped: ${error.message}`,
|
|
31
|
-
'Tip: consider recording a shorter interaction or removing some classes from appmap.yml.',
|
|
32
|
-
].join('\n'));
|
|
33
|
-
}
|
|
34
|
-
else if ((0, utils_1.isNodeError)(error, 'ENOENT')) {
|
|
35
|
-
console.warn(`Skipped: ${error.path}\nThe file does not exist.`);
|
|
36
|
-
}
|
|
37
|
-
else if (this.failOnError) {
|
|
38
|
-
this.lastError = error;
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
console.warn(`Skipped: ${error}`);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
52
|
+
this.pool = new workerPool_1.default(fingerprintWorker_1.FINGERPRINT_WORKER_FILE, numThreads);
|
|
44
53
|
}
|
|
45
54
|
async process() {
|
|
46
|
-
|
|
47
|
-
await this.queue.drain();
|
|
55
|
+
await this.pool.drain();
|
|
48
56
|
if (this.lastError)
|
|
49
57
|
throw this.lastError;
|
|
50
58
|
}
|
|
@@ -52,8 +60,41 @@ class FingerprintQueue {
|
|
|
52
60
|
if (this.pending.has(job))
|
|
53
61
|
return;
|
|
54
62
|
this.pending.add(job);
|
|
55
|
-
this.
|
|
63
|
+
this.pool.runTask(makeTask(job), __classPrivateFieldGet(this, _FingerprintQueue_instances, "m", _FingerprintQueue_processed).bind(this));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
_FingerprintQueue_instances = new WeakSet(), _FingerprintQueue_processed = function _FingerprintQueue_processed(err, { error, result, appmapFile }) {
|
|
67
|
+
this.pending.delete(appmapFile);
|
|
68
|
+
if (err) {
|
|
69
|
+
console.warn(`Error fingerprinting ${appmapFile}: ${String(err)}`);
|
|
70
|
+
return;
|
|
56
71
|
}
|
|
72
|
+
if (error) {
|
|
73
|
+
// eslint-disable-next-line no-param-reassign
|
|
74
|
+
error = workerPool_1.default.recoverError(error);
|
|
75
|
+
// Note errors transported over IPC won't have the same prototype.
|
|
76
|
+
if (error.name === 'FileTooLargeError') {
|
|
77
|
+
console.warn([
|
|
78
|
+
`Skipped: ${error.message}`,
|
|
79
|
+
'Tip: consider recording a shorter interaction or removing some classes from appmap.yml.',
|
|
80
|
+
].join('\n'));
|
|
81
|
+
}
|
|
82
|
+
else if ((0, utils_1.isNodeError)(error, 'ENOENT')) {
|
|
83
|
+
console.warn(`Skipped: ${appmapFile}\nThe file does not exist.`);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
console.warn(`Skipped: ${String(error)}`);
|
|
87
|
+
this.lastError = err !== null && err !== void 0 ? err : error;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (result)
|
|
91
|
+
this.emit('index', result);
|
|
92
|
+
};
|
|
93
|
+
function makeTask(appmapFile) {
|
|
94
|
+
return {
|
|
95
|
+
verbose: (0, utils_1.verbose)(),
|
|
96
|
+
appmapFile,
|
|
97
|
+
};
|
|
57
98
|
}
|
|
58
99
|
exports.default = FingerprintQueue;
|
|
59
100
|
//# sourceMappingURL=fingerprintQueue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprintQueue.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintQueue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fingerprintQueue.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintQueue.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6CAA2C;AAE3C,mEAA2C;AAC3C,oCAAgD;AAEhD,2DAI6B;AAG7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,4EAA4E;AAC5E,MAAM,gBAAiB,SAAQ,0BAAY;IAKzC,YAAY,UAAU,GAAG,CAAC;QACxB,KAAK,EAAE,CAAC;;QAJF,YAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAKlC,IAAI,CAAC,IAAI,GAAG,IAAI,oBAAU,CAAC,2CAAuB,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IA8BD,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAA,IAAI,gEAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;gHAtCY,GAAiB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAyB;IAChF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChC,IAAI,GAAG,EAAE;QACP,OAAO,CAAC,IAAI,CAAC,wBAAwB,UAAU,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO;KACR;IAED,IAAI,KAAK,EAAE;QACT,6CAA6C;QAC7C,KAAK,GAAG,oBAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,kEAAkE;QAClE,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE;YACtC,OAAO,CAAC,IAAI,CACV;gBACE,YAAY,KAAK,CAAC,OAAO,EAAE;gBAC3B,yFAAyF;aAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;SACH;aAAM,IAAI,IAAA,mBAAW,EAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;YACvC,OAAO,CAAC,IAAI,CAAC,YAAY,UAAU,4BAA4B,CAAC,CAAC;SAClE;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,KAAK,CAAC;SAC/B;KACF;IACD,IAAI,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAcH,SAAS,QAAQ,CAAC,UAAkB;IAClC,OAAO;QACL,OAAO,EAAE,IAAA,eAAO,GAAE;QAClB,UAAU;KACX,CAAC;AACJ,CAAC;AAQD,kBAAe,gBAAgB,CAAC"}
|
|
@@ -56,7 +56,7 @@ class FingerprintWatchCommand {
|
|
|
56
56
|
await this.reportUsage(events);
|
|
57
57
|
this.numProcessed += events.length;
|
|
58
58
|
});
|
|
59
|
-
this.eventAggregator.attach(this.fpQueue
|
|
59
|
+
this.eventAggregator.attach(this.fpQueue, 'index');
|
|
60
60
|
}
|
|
61
61
|
removePidfile() {
|
|
62
62
|
if (this.pidfilePath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprintWatchCommand.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintWatchCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAqC;AACrC,uCAAsD;AACtD,6CAA2C;AAC3C,6EAAuE;AACvE,oCAAmC;AACnC,0EAAkD;AAClD,wDAAoD;AACpD,6DAAqC;AACrC,gDAA+E;AAG/E,0CAAiC;AACjC,gEAAwC;AAExC,MAAqB,uBAAuB;IAW1C,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAY,YAAY,CAAC,KAAK;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,YAAoB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAd7B,kBAAa,GAAG,CAAC,CAAC;QAEnB,oBAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,qBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,kBAAa,GAAG,KAAK,CAAC;QAW3B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAA,WAAI,EAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACzF,IAAI,CAAC,OAAO,GAAG,IAAI,0BAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,yBAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC1D,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"fingerprintWatchCommand.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintWatchCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FINGERPRINT_WORKER_FILE = void 0;
|
|
7
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
+
const node_fs_1 = require("node:fs");
|
|
9
|
+
const node_path_1 = require("node:path");
|
|
10
|
+
const types_1 = require("node:util/types");
|
|
11
|
+
const node_worker_threads_1 = require("node:worker_threads");
|
|
12
|
+
const utils_1 = require("../utils");
|
|
13
|
+
const fingerprinter_1 = __importDefault(require("./fingerprinter"));
|
|
14
|
+
if (node_worker_threads_1.parentPort) {
|
|
15
|
+
const fingerprinter = new fingerprinter_1.default();
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
17
|
+
node_worker_threads_1.parentPort.on('message', async (task) => {
|
|
18
|
+
(0, node_assert_1.default)(node_worker_threads_1.parentPort);
|
|
19
|
+
(0, utils_1.verbose)(task.verbose);
|
|
20
|
+
const result = {
|
|
21
|
+
appmapFile: task.appmapFile,
|
|
22
|
+
};
|
|
23
|
+
try {
|
|
24
|
+
result.result = await fingerprinter.fingerprint(task.appmapFile);
|
|
25
|
+
}
|
|
26
|
+
catch (e) {
|
|
27
|
+
(0, node_assert_1.default)((0, types_1.isNativeError)(e));
|
|
28
|
+
result.error = Object.assign(Object.assign({}, e), { name: e.name, message: e.message, stack: e.stack, cause: e.cause });
|
|
29
|
+
}
|
|
30
|
+
node_worker_threads_1.parentPort.postMessage(result);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
const builtWorkerFile = (0, node_path_1.join)(__dirname, '../../built/fingerprint/fingerprintWorker.js');
|
|
34
|
+
exports.FINGERPRINT_WORKER_FILE = (0, node_fs_1.existsSync)(builtWorkerFile) ? builtWorkerFile : __filename;
|
|
35
|
+
//# sourceMappingURL=fingerprintWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fingerprintWorker.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintWorker.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAiC;AACjC,qCAAqC;AACrC,yCAAiC;AACjC,2CAAgD;AAChD,6DAAiD;AAEjD,oCAAmC;AACnC,oEAAkE;AAalE,IAAI,gCAAU,EAAE;IACd,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;IAE1C,kEAAkE;IAClE,gCAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAqB,EAAE,EAAE;QACvD,IAAA,qBAAM,EAAC,gCAAU,CAAC,CAAC;QACnB,IAAA,eAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,MAAM,MAAM,GAA0B;YACpC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QACF,IAAI;YACF,MAAM,CAAC,MAAM,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAClE;QAAC,OAAO,CAAC,EAAE;YACV,IAAA,qBAAM,EAAC,IAAA,qBAAa,EAAC,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,CAAC,KAAK,mCACP,CAAC,KACJ,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,KAAK,EAAE,CAAC,CAAC,KAAK,GACf,CAAC;SACH;QACD,gCAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;CACJ;AAED,MAAM,eAAe,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,8CAA8C,CAAC,CAAC;AAC3E,QAAA,uBAAuB,GAAG,IAAA,oBAAU,EAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC"}
|
|
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.VERSION = void 0;
|
|
7
7
|
/* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
|
|
8
8
|
const path_1 = require("path");
|
|
9
|
-
const graceful_fs_1 = __importDefault(require("graceful-fs"));
|
|
10
|
-
const util_1 = require("util");
|
|
11
9
|
const models_1 = require("@appland/models");
|
|
12
10
|
const assert_1 = __importDefault(require("assert"));
|
|
13
11
|
const fileTooLargeError_1 = __importDefault(require("./fileTooLargeError"));
|
|
@@ -16,7 +14,6 @@ const canonicalize_1 = require("./canonicalize");
|
|
|
16
14
|
const appmapIndex_1 = __importDefault(require("./appmapIndex"));
|
|
17
15
|
const events_1 = __importDefault(require("events"));
|
|
18
16
|
const quotePath_1 = __importDefault(require("../lib/quotePath"));
|
|
19
|
-
const renameFile = (0, util_1.promisify)(graceful_fs_1.default.rename);
|
|
20
17
|
/**
|
|
21
18
|
* CHANGELOG
|
|
22
19
|
*
|
|
@@ -79,6 +76,8 @@ class Fingerprinter extends events_1.default {
|
|
|
79
76
|
if (!(await index.initialize())) {
|
|
80
77
|
return;
|
|
81
78
|
}
|
|
79
|
+
const mtime = index.appmapCreatedAt;
|
|
80
|
+
(0, assert_1.default)(mtime);
|
|
82
81
|
if ((!this.checkVersion || (await index.versionUpToDate(exports.VERSION))) &&
|
|
83
82
|
(await index.indexUpToDate())) {
|
|
84
83
|
if ((0, utils_1.verbose)()) {
|
|
@@ -91,10 +90,6 @@ class Fingerprinter extends events_1.default {
|
|
|
91
90
|
const appmapData = await index.loadAppMapData();
|
|
92
91
|
if (!appmapData)
|
|
93
92
|
return;
|
|
94
|
-
const appmapDataWithoutMetadata = await index.loadAppMapData();
|
|
95
|
-
if (!appmapDataWithoutMetadata)
|
|
96
|
-
return;
|
|
97
|
-
delete appmapDataWithoutMetadata.metadata;
|
|
98
93
|
const appmap = (0, models_1.buildAppMap)(appmapData).normalize().build();
|
|
99
94
|
const numEvents = appmap.events.length;
|
|
100
95
|
// This field is deprecated, because for some change sets the Git status may be large and unweildy.
|
|
@@ -110,20 +105,12 @@ class Fingerprinter extends events_1.default {
|
|
|
110
105
|
const canonicalJSON = JSON.stringify(canonicalForm, null, 2);
|
|
111
106
|
await index.writeFileAtomic(`canonical.${algorithmName}.json`, canonicalJSON);
|
|
112
107
|
}));
|
|
113
|
-
const tempAppMapFileName = (0, path_1.join)(index.indexDir, 'appmap.tmp');
|
|
114
|
-
await index.writeFileAtomic((0, path_1.basename)(tempAppMapFileName), JSON.stringify(appmap, null, 2));
|
|
115
|
-
const appMapIndexedAt = await (0, utils_1.mtime)(tempAppMapFileName);
|
|
116
|
-
(0, assert_1.default)(appMapIndexedAt, `${tempAppMapFileName} should always exist and be a readable file`);
|
|
117
108
|
await Promise.all([
|
|
118
109
|
index.writeFileAtomic('version', exports.VERSION),
|
|
119
110
|
index.writeFileAtomic('classMap.json', JSON.stringify(appmap.classMap, null, 2)),
|
|
120
111
|
index.writeFileAtomic('metadata.json', JSON.stringify(appmap.metadata, null, 2)),
|
|
121
|
-
index.writeFileAtomic('mtime',
|
|
112
|
+
index.writeFileAtomic('mtime', mtime.toString()),
|
|
122
113
|
]);
|
|
123
|
-
// At this point, moving the AppMap file into place will trigger re-indexing.
|
|
124
|
-
// But the mtime will match the file modification time, so the algorithm will
|
|
125
|
-
// determine that the index is up-to-date.
|
|
126
|
-
await renameFile(tempAppMapFileName, appMapFileName);
|
|
127
114
|
// Note: don't remove or modify the output below,
|
|
128
115
|
// it's machine-readable (see doc/index-verbose.md)
|
|
129
116
|
if ((0, utils_1.verbose)())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprinter.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprinter.ts"],"names":[],"mappings":";;;;;;AAAA,qEAAqE;AACrE,+
|
|
1
|
+
{"version":3,"file":"fingerprinter.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprinter.ts"],"names":[],"mappings":"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"}
|
package/built/lib/UpToDate.js
CHANGED
|
@@ -12,9 +12,8 @@ const node_assert_1 = __importDefault(require("node:assert"));
|
|
|
12
12
|
const parseFilePath = (location) => location.split(':')[0];
|
|
13
13
|
class FileAppMapIndex {
|
|
14
14
|
async updatedAt(appmapName) {
|
|
15
|
-
let appmapUpdatedAtStr;
|
|
16
15
|
try {
|
|
17
|
-
|
|
16
|
+
return (await (0, promises_1.stat)((0, node_path_1.join)(appmapName, 'mtime'))).mtimeMs;
|
|
18
17
|
}
|
|
19
18
|
catch (err) {
|
|
20
19
|
if (!(0, utils_1.isCodedError)(err))
|
|
@@ -23,7 +22,6 @@ class FileAppMapIndex {
|
|
|
23
22
|
console.warn(err);
|
|
24
23
|
return;
|
|
25
24
|
}
|
|
26
|
-
return parseFloat(appmapUpdatedAtStr);
|
|
27
25
|
}
|
|
28
26
|
async classMap(appmapName) {
|
|
29
27
|
return JSON.parse(await (0, promises_1.readFile)((0, node_path_1.join)(appmapName, 'classMap.json'), 'utf-8'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpToDate.js","sourceRoot":"","sources":["../../src/lib/UpToDate.ts"],"names":[],"mappings":";;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"UpToDate.js","sourceRoot":"","sources":["../../src/lib/UpToDate.ts"],"names":[],"mappings":"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"}
|
package/built/lib/workerPool.js
CHANGED
|
@@ -12,6 +12,7 @@ const worker_threads_1 = require("worker_threads");
|
|
|
12
12
|
const assert_1 = __importDefault(require("assert"));
|
|
13
13
|
const console_1 = require("console");
|
|
14
14
|
const utils_1 = require("../utils");
|
|
15
|
+
const types_1 = require("util/types");
|
|
15
16
|
const kTaskInfo = Symbol('kTaskInfo');
|
|
16
17
|
const kWorkerFreedEvent = Symbol('kWorkerFreedEvent');
|
|
17
18
|
class WorkerPoolTaskInfo extends async_hooks_1.AsyncResource {
|
|
@@ -71,8 +72,19 @@ class WorkerPool extends events_1.EventEmitter {
|
|
|
71
72
|
worker[kTaskInfo] = new WorkerPoolTaskInfo(callback);
|
|
72
73
|
if ((0, utils_1.verbose)())
|
|
73
74
|
(0, console_1.warn)(`Assigning ${JSON.stringify(task)} to worker thread ${worker.threadId}`);
|
|
75
|
+
worker.ref();
|
|
74
76
|
worker.postMessage(task);
|
|
75
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Wait until all tasks are done.
|
|
80
|
+
*/
|
|
81
|
+
async drain() {
|
|
82
|
+
while (this.tasks.length > 0 || this.workers.length != this.freeWorkers.length) {
|
|
83
|
+
await new Promise((resolve) => {
|
|
84
|
+
this.once(kWorkerFreedEvent, resolve);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
76
88
|
async close() {
|
|
77
89
|
if (this.addWorkerInterval)
|
|
78
90
|
clearInterval(this.addWorkerInterval);
|
|
@@ -110,6 +122,7 @@ class WorkerPool extends events_1.EventEmitter {
|
|
|
110
122
|
this.workerTask(worker);
|
|
111
123
|
worker[kTaskInfo].done(null, result);
|
|
112
124
|
worker[kTaskInfo] = null;
|
|
125
|
+
worker.unref();
|
|
113
126
|
this.freeWorkers.push(worker);
|
|
114
127
|
this.emit(kWorkerFreedEvent);
|
|
115
128
|
});
|
|
@@ -128,10 +141,33 @@ class WorkerPool extends events_1.EventEmitter {
|
|
|
128
141
|
worker.unref();
|
|
129
142
|
this.addNewWorker();
|
|
130
143
|
});
|
|
144
|
+
worker.unref();
|
|
131
145
|
this.workers.push(worker);
|
|
132
146
|
this.freeWorkers.push(worker);
|
|
133
147
|
this.emit(kWorkerFreedEvent);
|
|
134
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Errors passed over IPC lose all properties.
|
|
151
|
+
* This function restores the properties of the original error.
|
|
152
|
+
*/
|
|
153
|
+
static recoverError(e) {
|
|
154
|
+
if (typeof e !== 'object')
|
|
155
|
+
return new Error(String(e));
|
|
156
|
+
if (e === null)
|
|
157
|
+
return new Error('null');
|
|
158
|
+
if ((0, types_1.isNativeError)(e))
|
|
159
|
+
return e;
|
|
160
|
+
// If the error is not a native error, we need to create a new one
|
|
161
|
+
// and copy the properties over.
|
|
162
|
+
// This is a workaround for the fact that the error object is not
|
|
163
|
+
// serialized correctly over IPC.
|
|
164
|
+
const error = new Error('message' in e ? String(e.message) : undefined);
|
|
165
|
+
for (const key of Object.keys(e)) {
|
|
166
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
167
|
+
error[key] = e[key];
|
|
168
|
+
}
|
|
169
|
+
return error;
|
|
170
|
+
}
|
|
135
171
|
}
|
|
136
172
|
exports.default = WorkerPool;
|
|
137
173
|
//# sourceMappingURL=workerPool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerPool.js","sourceRoot":"","sources":["../../src/lib/workerPool.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,yFAAyF;;;;;;AAEzF,6CAA4C;AAC5C,mCAAsC;AACtC,mDAAwC;AACxC,oDAA4B;AAC5B,qCAA+B;AAC/B,oCAAmC;
|
|
1
|
+
{"version":3,"file":"workerPool.js","sourceRoot":"","sources":["../../src/lib/workerPool.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,11 +22,14 @@ const node_os_1 = require("node:os");
|
|
|
22
22
|
const node_path_1 = require("node:path");
|
|
23
23
|
const configuration_1 = __importDefault(require("../../configuration"));
|
|
24
24
|
const tsyringe_1 = require("tsyringe");
|
|
25
|
-
const
|
|
26
|
-
const
|
|
25
|
+
const promises_1 = require("node:fs/promises");
|
|
26
|
+
const proper_lockfile_1 = require("proper-lockfile");
|
|
27
|
+
const SCHEMA_VERSION = 1;
|
|
28
|
+
const INITIALIZE_SESSION_SQL = `
|
|
29
|
+
PRAGMA busy_timeout = 3000;
|
|
27
30
|
PRAGMA foreign_keys = ON;
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
`;
|
|
32
|
+
const INITIALIZE_DB_SQL = `
|
|
30
33
|
CREATE TABLE IF NOT EXISTS threads (
|
|
31
34
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
32
35
|
uuid TEXT NOT NULL UNIQUE,
|
|
@@ -49,6 +52,8 @@ CREATE TABLE IF NOT EXISTS project_directories (
|
|
|
49
52
|
);
|
|
50
53
|
|
|
51
54
|
CREATE INDEX IF NOT EXISTS idx_thread_id ON project_directories (thread_id);
|
|
55
|
+
|
|
56
|
+
PRAGMA user_version = ${SCHEMA_VERSION};
|
|
52
57
|
`;
|
|
53
58
|
const QUERY_INSERT_THREAD_SQL = `INSERT INTO threads (uuid, path, title) VALUES (?, ?, ?)
|
|
54
59
|
ON CONFLICT (uuid) DO UPDATE SET updated_at = CURRENT_TIMESTAMP, title = ?`;
|
|
@@ -62,15 +67,60 @@ ON CONFLICT (thread_id, path) DO NOTHING`;
|
|
|
62
67
|
let ThreadIndexService = ThreadIndexService_1 = class ThreadIndexService {
|
|
63
68
|
constructor(db) {
|
|
64
69
|
this.db = db;
|
|
65
|
-
this.db.exec(
|
|
70
|
+
this.db.exec(INITIALIZE_SESSION_SQL);
|
|
71
|
+
}
|
|
72
|
+
shouldMigrate() {
|
|
73
|
+
var _a;
|
|
74
|
+
const currentVersion = (_a = this.db.get('PRAGMA user_version')) === null || _a === void 0 ? void 0 : _a.user_version;
|
|
75
|
+
return currentVersion !== SCHEMA_VERSION;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Migrates the database schema to the latest version. This should be called upon application
|
|
79
|
+
* initialization to ensure that the database is up to date.
|
|
80
|
+
*/
|
|
81
|
+
async migrate(databaseFilePath = ThreadIndexService_1.DEFAULT_DATABASE_PATH) {
|
|
82
|
+
if (!this.shouldMigrate())
|
|
83
|
+
return;
|
|
84
|
+
let lockRelease;
|
|
85
|
+
try {
|
|
86
|
+
await (0, promises_1.mkdir)((0, node_path_1.dirname)(databaseFilePath), { recursive: true });
|
|
87
|
+
lockRelease = await (0, proper_lockfile_1.lock)(databaseFilePath, {
|
|
88
|
+
retries: ThreadIndexService_1.MIGRATION_RETRIES,
|
|
89
|
+
stale: 10000,
|
|
90
|
+
lockfilePath: `${databaseFilePath}.migration.lock`,
|
|
91
|
+
});
|
|
92
|
+
if (!this.shouldMigrate()) {
|
|
93
|
+
console.info('ThreadIndexService: migration completed by another process');
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
console.info(`ThreadIndexService: migrating schema to v${SCHEMA_VERSION}`);
|
|
97
|
+
try {
|
|
98
|
+
this.db.exec('PRAGMA journal_mode = WAL');
|
|
99
|
+
this.db.exec('BEGIN TRANSACTION');
|
|
100
|
+
this.db.exec(INITIALIZE_DB_SQL);
|
|
101
|
+
this.db.exec('COMMIT');
|
|
102
|
+
console.info(`ThreadIndexService: successfully migrated schema to v${SCHEMA_VERSION}`);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
catch (e) {
|
|
106
|
+
this.db.exec('ROLLBACK');
|
|
107
|
+
throw e;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
if (lockRelease) {
|
|
112
|
+
await lockRelease();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
66
115
|
}
|
|
67
116
|
/**
|
|
68
117
|
* Binds the database to a sqlite3 instance on disk at the default database path
|
|
69
118
|
*/
|
|
70
|
-
static useDefault() {
|
|
71
|
-
(0,
|
|
119
|
+
static async useDefault() {
|
|
120
|
+
await (0, promises_1.mkdir)((0, node_path_1.dirname)(this.DEFAULT_DATABASE_PATH), { recursive: true });
|
|
72
121
|
const db = new node_sqlite3_wasm_1.default.Database(this.DEFAULT_DATABASE_PATH);
|
|
73
122
|
tsyringe_1.container.registerInstance(this.DATABASE, db);
|
|
123
|
+
await tsyringe_1.container.resolve(ThreadIndexService_1).migrate();
|
|
74
124
|
}
|
|
75
125
|
/**
|
|
76
126
|
* Indexes a thread with the given path and title. If the thread is already indexed, it will be
|
|
@@ -166,6 +216,7 @@ let ThreadIndexService = ThreadIndexService_1 = class ThreadIndexService {
|
|
|
166
216
|
return this.db.all(queryString, params);
|
|
167
217
|
}
|
|
168
218
|
};
|
|
219
|
+
ThreadIndexService.MIGRATION_RETRIES = 5;
|
|
169
220
|
ThreadIndexService.DEFAULT_DATABASE_PATH = (0, node_path_1.join)((0, node_os_1.homedir)(), '.appmap', 'navie', 'thread-index.db');
|
|
170
221
|
ThreadIndexService.DATABASE = 'ThreadIndexDatabase';
|
|
171
222
|
ThreadIndexService = ThreadIndexService_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"threadIndexService.js","sourceRoot":"","sources":["../../../../src/rpc/navie/services/threadIndexService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,0EAAwC;AACxC,qCAAkC;AAClC,yCAA0C;AAC1C,wEAAgD;AAChD,uCAAoE;AACpE,
|
|
1
|
+
{"version":3,"file":"threadIndexService.js","sourceRoot":"","sources":["../../../../src/rpc/navie/services/threadIndexService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appland/appmap",
|
|
3
|
-
"version": "3.188.
|
|
3
|
+
"version": "3.188.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"bin": "built/cli.js",
|
|
6
6
|
"engines": {
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"@types/lunr": "^2.3.7",
|
|
50
50
|
"@types/moo": "^0.5.5",
|
|
51
51
|
"@types/node": "^16",
|
|
52
|
+
"@types/proper-lockfile": "^4.1.4",
|
|
52
53
|
"@types/semver": "^7.3.10",
|
|
53
54
|
"@types/sinon": "^10.0.2",
|
|
54
55
|
"@types/tmp": "^0.2.3",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"pkg": "^5.8.1",
|
|
142
143
|
"port-pid": "^0.0.7",
|
|
143
144
|
"pretty-bytes": "^5.6.0",
|
|
145
|
+
"proper-lockfile": "^4.1.2",
|
|
144
146
|
"ps-node": "^0.1.6",
|
|
145
147
|
"read-pkg-up": "^7.0.1",
|
|
146
148
|
"reflect-metadata": "^0.2.2",
|