@appland/appmap 3.29.4 → 3.32.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 (47) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/built/appmap.html +1 -1
  3. package/built/cli.js +17 -121
  4. package/built/cli.js.map +1 -1
  5. package/built/cmds/inspect/inspect.js +55 -0
  6. package/built/cmds/inspect/inspect.js.map +1 -0
  7. package/built/fingerprint/fingerprintWatchCommand.js +39 -16
  8. package/built/fingerprint/fingerprintWatchCommand.js.map +1 -1
  9. package/built/functionStats.js +9 -0
  10. package/built/functionStats.js.map +1 -1
  11. package/built/inspect/context.js +66 -0
  12. package/built/inspect/context.js.map +1 -0
  13. package/built/inspect/filter.js +8 -5
  14. package/built/inspect/filter.js.map +1 -1
  15. package/built/inspect/home.js +14 -9
  16. package/built/inspect/home.js.map +1 -1
  17. package/built/inspect/navigate.js +15 -0
  18. package/built/inspect/navigate.js.map +1 -0
  19. package/built/inspect/reset.js +5 -5
  20. package/built/inspect/reset.js.map +1 -1
  21. package/built/inspect/ui.js +121 -0
  22. package/built/inspect/ui.js.map +1 -0
  23. package/built/inspect/undoFilter.js +5 -5
  24. package/built/inspect/undoFilter.js.map +1 -1
  25. package/built/lib/appmapDirFromConfig.js +27 -0
  26. package/built/lib/appmapDirFromConfig.js.map +1 -0
  27. package/built/lib/handleWorkingDirectory.js +10 -0
  28. package/built/lib/handleWorkingDirectory.js.map +1 -0
  29. package/built/lib/locateAppMapDir.js +14 -0
  30. package/built/lib/locateAppMapDir.js.map +1 -0
  31. package/built/main.js.map +1 -1
  32. package/built/search/{codeObjectMatcher.js → descentCodeObjectMatcher.js} +50 -17
  33. package/built/search/descentCodeObjectMatcher.js.map +1 -0
  34. package/built/search/findCodeObjects.js +96 -126
  35. package/built/search/findCodeObjects.js.map +1 -1
  36. package/built/search/findEvents.js +1 -1
  37. package/built/search/findEvents.js.map +1 -1
  38. package/built/search/iterateCodeObjectMatcher.js +37 -0
  39. package/built/search/iterateCodeObjectMatcher.js.map +1 -0
  40. package/built/search/matchSpec.js +11 -3
  41. package/built/search/matchSpec.js.map +1 -1
  42. package/built/utils.js +5 -1
  43. package/built/utils.js.map +1 -1
  44. package/package.json +3 -3
  45. package/built/inspect.js +0 -8
  46. package/built/inspect.js.map +0 -1
  47. package/built/search/codeObjectMatcher.js.map +0 -1
package/built/cli.js CHANGED
@@ -36,24 +36,22 @@ const { promises: fsp, readFileSync } = require('fs');
36
36
  const { queue } = require('async');
37
37
  const readline = require('readline');
38
38
  const { join } = require('path');
39
- const cliProgress = require('cli-progress');
40
39
  const { algorithms, canonicalize } = require('./fingerprint');
41
40
  const { verbose, loadAppMap } = require('./utils');
42
41
  const appMapCatalog = require('./appMapCatalog');
43
42
  const FingerprintDirectoryCommand = require('./fingerprint/fingerprintDirectoryCommand');
44
43
  const FingerprintWatchCommand = require('./fingerprint/fingerprintWatchCommand');
45
44
  const Depends = require('./depends');
46
- const FindCodeObjects = require('./search/findCodeObjects');
47
- const FindEvents = require('./search/findEvents');
48
- const FunctionStats = require('./functionStats');
49
- const Inspect = require('./inspect');
50
45
  const OpenAPICommand = __importStar(require("./cmds/openapi"));
51
46
  const InventoryCommand = require('./inventoryCommand');
52
47
  const OpenCommand = require('./cmds/open/open');
48
+ const InspectCommand = require('./cmds/inspect/inspect');
53
49
  const RecordCommand = require('./cmds/record/record');
54
50
  const install_agent_1 = __importDefault(require("./cmds/agentInstaller/install-agent"));
55
51
  const status_1 = __importDefault(require("./cmds/agentInstaller/status"));
56
52
  const prune_1 = __importDefault(require("./cmds/prune/prune"));
53
+ const handleWorkingDirectory_1 = require("./lib/handleWorkingDirectory");
54
+ const locateAppMapDir_1 = require("./lib/locateAppMapDir");
57
55
  class DiffCommand {
58
56
  setBaseDir(dir) {
59
57
  this.baseDir = dir;
@@ -157,6 +155,11 @@ class DetailedDiff {
157
155
  // eslint-disable-next-line no-unused-expressions
158
156
  yargs(process.argv.slice(2))
159
157
  .command('diff', 'Compute the difference between two mapsets', (args) => {
158
+ args.option('directory', {
159
+ describe: 'program working directory',
160
+ type: 'string',
161
+ alias: 'd',
162
+ });
160
163
  args.option('name', {
161
164
  describe: 'indicate a specific AppMap to of compare',
162
165
  });
@@ -172,6 +175,7 @@ yargs(process.argv.slice(2))
172
175
  });
173
176
  }, async function (argv) {
174
177
  verbose(argv.verbose);
178
+ (0, handleWorkingDirectory_1.handleWorkingDirectory)(argv.directory);
175
179
  let baseDir;
176
180
  let workingDir;
177
181
  const { showDiff } = argv;
@@ -296,122 +300,6 @@ yargs(process.argv.slice(2))
296
300
  appMapNames.forEach((name) => values.push(name));
297
301
  }
298
302
  console.log(Array.from(new Set(values)).sort().join('\n'));
299
- })
300
- .command('inspect <code-object>', 'Search AppMaps for references to a code object (package, function, class, query, route, etc) and print available event info', (args) => {
301
- args.positional('code-object', {
302
- describe: 'identifies the code-object to inspect',
303
- });
304
- args.option('appmap-dir', {
305
- describe: 'directory to recursively inspect for AppMaps',
306
- default: 'tmp/appmap',
307
- });
308
- args.option('interactive', {
309
- describe: 'interact with the output via CLI',
310
- alias: 'i',
311
- boolean: true,
312
- });
313
- return args.strict();
314
- }, async (argv) => {
315
- verbose(argv.verbose);
316
- const newProgress = () => {
317
- if (argv.interactive) {
318
- return new cliProgress.SingleBar({}, cliProgress.Presets.shades_classic);
319
- }
320
- return {
321
- increment: () => { },
322
- start: () => { },
323
- stop: () => { },
324
- };
325
- };
326
- console.warn('Indexing the AppMap database');
327
- await new FingerprintDirectoryCommand(argv.appmapDir).execute();
328
- console.warn('Finding matching AppMaps');
329
- let progress = newProgress();
330
- const codeObjectId = argv.codeObject;
331
- const finder = new FindCodeObjects(argv.appmapDir, codeObjectId);
332
- const codeObjectMatches = await finder.find((count) => progress.start(count, 0), progress.increment.bind(progress));
333
- progress.stop();
334
- if (!codeObjectMatches) {
335
- return;
336
- }
337
- const filters = [];
338
- let stats = null;
339
- const buildStats = async () => {
340
- const result = [];
341
- console.warn('Finding matching Events');
342
- progress = newProgress();
343
- progress.start(codeObjectMatches.length, 0);
344
- await Promise.all(codeObjectMatches.map(async (codeObjectMatch) => {
345
- const findEvents = new FindEvents(codeObjectMatch.appmap, codeObjectMatch.codeObject);
346
- findEvents.filter(filters);
347
- const events = await findEvents.matches();
348
- result.push(...events);
349
- progress.increment();
350
- }));
351
- progress.stop();
352
- console.warn('Collating results...');
353
- stats = new FunctionStats(result);
354
- };
355
- await buildStats();
356
- const interactive = () => {
357
- const rl = readline.createInterface({
358
- input: process.stdin,
359
- output: process.stdout,
360
- });
361
- rl.on('close', function () {
362
- yargs.exit(0, new Error());
363
- });
364
- const home = () => {
365
- Inspect.home(codeObjectId, filters, stats, getCommand);
366
- };
367
- const filter = () => {
368
- Inspect.filter(rl, filters, stats, buildStats, home);
369
- };
370
- const undoFilter = async () => {
371
- await Inspect.undoFilter(filters, buildStats, home);
372
- };
373
- const reset = async () => {
374
- await Inspect.reset(filters, buildStats, home);
375
- };
376
- const print = () => {
377
- Inspect.print(stats, rl, getCommand, home);
378
- };
379
- const getCommand = () => {
380
- console.log();
381
- rl.question('Command (h)ome, (p)rint, (f)ilter, (u)ndo filter, (r)eset filters, (q)uit: ', function (command) {
382
- // eslint-disable-next-line default-case
383
- switch (command) {
384
- case 'h':
385
- home();
386
- break;
387
- case 'p':
388
- print();
389
- break;
390
- case 'f':
391
- filter();
392
- break;
393
- case 'u':
394
- undoFilter();
395
- break;
396
- case 'r':
397
- reset();
398
- break;
399
- case 'q':
400
- rl.close();
401
- break;
402
- default:
403
- getCommand();
404
- }
405
- });
406
- };
407
- home();
408
- };
409
- if (argv.interactive) {
410
- interactive();
411
- }
412
- else {
413
- console.log(JSON.stringify(stats, null, 2));
414
- }
415
303
  })
416
304
  .command('index', 'Compute fingerprints and update index files for all appmaps in a directory', (args) => {
417
305
  args.option('watch', {
@@ -447,6 +335,11 @@ yargs(process.argv.slice(2))
447
335
  }
448
336
  })
449
337
  .command('inventory', 'Generate canonical lists of the application code object inventory', (args) => {
338
+ args.option('directory', {
339
+ describe: 'program working directory',
340
+ type: 'string',
341
+ alias: 'd',
342
+ });
450
343
  args.option('appmap-dir', {
451
344
  describe: 'directory to recursively inspect for AppMaps',
452
345
  default: 'tmp/appmap',
@@ -454,6 +347,8 @@ yargs(process.argv.slice(2))
454
347
  return args.strict();
455
348
  }, async (argv) => {
456
349
  verbose(argv.verbose);
350
+ (0, handleWorkingDirectory_1.handleWorkingDirectory)(argv.directory);
351
+ const appmapDir = await (0, locateAppMapDir_1.locateAppMapDir)(argv.appmapDir);
457
352
  await new FingerprintDirectoryCommand(argv.appmapDir).execute();
458
353
  const inventory = await new InventoryCommand(argv.appmapDir).execute();
459
354
  console.log(yaml.dump(inventory));
@@ -484,6 +379,7 @@ yargs(process.argv.slice(2))
484
379
  .command(OpenCommand)
485
380
  .command(RecordCommand)
486
381
  .command(status_1.default)
382
+ .command(InspectCommand)
487
383
  .command(prune_1.default)
488
384
  .strict()
489
385
  .demandCommand()
package/built/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
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.handler = exports.builder = exports.describe = exports.command = void 0;
7
+ const yargs_1 = __importDefault(require("yargs"));
8
+ const context_1 = __importDefault(require("../../inspect/context"));
9
+ const ui_1 = __importDefault(require("../../inspect/ui"));
10
+ const handleWorkingDirectory_1 = require("../../lib/handleWorkingDirectory");
11
+ const locateAppMapDir_1 = require("../../lib/locateAppMapDir");
12
+ const utils_1 = require("../../utils");
13
+ exports.command = 'inspect <code-object>';
14
+ exports.describe = 'Search AppMaps for references to a code object (package, function, class, query, route, etc) and print available event info';
15
+ const builder = (args) => {
16
+ args.positional('code-object', {
17
+ describe: 'identifies the code-object to inspect',
18
+ });
19
+ args.option('directory', {
20
+ describe: 'program working directory',
21
+ type: 'string',
22
+ alias: 'd',
23
+ });
24
+ args.option('appmap-dir', {
25
+ describe: 'directory to recursively inspect for AppMaps',
26
+ });
27
+ args.option('interactive', {
28
+ describe: 'interact with the output via CLI',
29
+ alias: 'i',
30
+ boolean: true,
31
+ });
32
+ return args.strict();
33
+ };
34
+ exports.builder = builder;
35
+ const handler = async (argv) => {
36
+ var _a;
37
+ (0, utils_1.verbose)(argv.verbose);
38
+ (0, handleWorkingDirectory_1.handleWorkingDirectory)(argv.directory);
39
+ const appmapDir = await (0, locateAppMapDir_1.locateAppMapDir)(argv.appmapDir);
40
+ const codeObjectId = argv.codeObject;
41
+ if (argv.interactive) {
42
+ new ui_1.default(appmapDir, codeObjectId).start();
43
+ }
44
+ else {
45
+ const context = new context_1.default(appmapDir, codeObjectId);
46
+ await context.findCodeObjects();
47
+ if (((_a = context.codeObjectMatches) === null || _a === void 0 ? void 0 : _a.length) === 0) {
48
+ return yargs_1.default.exit(1, new Error(`Code object '${context.codeObjectId}' not found`));
49
+ }
50
+ await context.buildStats();
51
+ console.log(JSON.stringify(context.stats, null, 2));
52
+ }
53
+ };
54
+ exports.handler = handler;
55
+ //# sourceMappingURL=inspect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/cmds/inspect/inspect.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,oEAA4C;AAC5C,0DAAkC;AAClC,6EAA0E;AAC1E,+DAA4D;AAC5D,uCAAsC;AAEzB,QAAA,OAAO,GAAG,uBAAuB,CAAC;AAClC,QAAA,QAAQ,GACnB,6HAA6H,CAAC;AAEzH,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE;IAC9B,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;QAC7B,QAAQ,EAAE,uCAAuC;KAClD,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QACvB,QAAQ,EAAE,2BAA2B;QACrC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QACxB,QAAQ,EAAE,8CAA8C;KACzD,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;QACzB,QAAQ,EAAE,kCAAkC;QAC5C,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC,CAAC;AAlBW,QAAA,OAAO,WAkBlB;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE;;IACpC,IAAA,eAAO,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,IAAA,+CAAsB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,IAAA,iCAAe,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;IAErC,IAAI,IAAI,CAAC,WAAW,EAAE;QACpB,IAAI,YAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;KACzC;SAAM;QACL,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACrD,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;QAChC,IAAI,CAAA,MAAA,OAAO,CAAC,iBAAiB,0CAAE,MAAM,MAAK,CAAC,EAAE;YAC3C,OAAO,eAAK,CAAC,IAAI,CACf,CAAC,EACD,IAAI,KAAK,CAAC,gBAAgB,OAAO,CAAC,YAAY,aAAa,CAAC,CAC7D,CAAC;SACH;QACD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;KACrD;AACH,CAAC,CAAC;AApBW,QAAA,OAAO,WAoBlB"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  const chokidar = require('chokidar');
3
+ const fs = require('fs-extra');
4
+ const path = require('path');
3
5
  const { verbose } = require('../utils');
4
6
  const FingerprintQueue = require('./fingerprintQueue');
5
7
  class FingerprintWatchCommand {
@@ -7,26 +9,37 @@ class FingerprintWatchCommand {
7
9
  this.directory = directory;
8
10
  this.print = true;
9
11
  this.numProcessed = 0;
12
+ this.pidfilePath =
13
+ process.env.APPMAP_WRITE_PIDFILE &&
14
+ path.join(this.directory, 'index.pid');
10
15
  }
11
- execute() {
12
- if (verbose()) {
13
- console.warn(`Watching appmaps in ${this.directory}`);
16
+ removePidfile() {
17
+ if (this.pidfilePath) {
18
+ console.log(`Removing ${this.pidfilePath}`);
19
+ fs.removeSync(this.pidfilePath);
20
+ this.pidfilePath = null;
14
21
  }
15
- this.fpQueue = new FingerprintQueue();
16
- this.fpQueue.setCounterFn(() => {
17
- this.numProcessed += 1;
18
- });
19
- this.fpQueue.process();
20
- this.watcher = chokidar.watch(`${this.directory}/**/*.appmap.json`, {
21
- ignoreInitial: true,
22
+ }
23
+ execute() {
24
+ return new Promise((resolve) => {
25
+ this.fpQueue = new FingerprintQueue();
26
+ this.fpQueue.setCounterFn(() => {
27
+ this.numProcessed += 1;
28
+ });
29
+ this.fpQueue.process();
30
+ this.watcher = chokidar.watch(`${this.directory}/**/*.appmap.json`, {
31
+ ignoreInitial: true,
32
+ });
33
+ this.watcher
34
+ .on('add', this.added.bind(this))
35
+ .on('change', this.changed.bind(this))
36
+ .on('unlink', this.removed.bind(this))
37
+ .on('ready', this.ready.bind(this, resolve));
22
38
  });
23
- this.watcher
24
- .on('add', this.added.bind(this))
25
- .on('change', this.changed.bind(this))
26
- .on('unlink', this.removed.bind(this));
27
39
  }
28
- close() {
29
- this.watcher.close();
40
+ async close() {
41
+ await this.watcher.close();
42
+ this.removePidfile();
30
43
  this.watcher = null;
31
44
  }
32
45
  added(file) {
@@ -45,6 +58,16 @@ class FingerprintWatchCommand {
45
58
  removed(file) {
46
59
  console.warn(`TODO: AppMap removed: ${file}`);
47
60
  }
61
+ ready(resolve) {
62
+ if (this.pidfilePath) {
63
+ fs.outputFileSync(this.pidfilePath, `${process.pid}`);
64
+ process.on('exit', this.removePidfile.bind(this));
65
+ }
66
+ if (verbose()) {
67
+ console.warn(`Watching appmaps in ${path.resolve(process.cwd(), this.directory)}`);
68
+ }
69
+ resolve();
70
+ }
48
71
  enqueue(file) {
49
72
  // This shouldn't be necessary, but it's passing through the wrong file names.
50
73
  if (!file.includes('.appmap.json')) {
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprintWatchCommand.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintWatchCommand.js"],"names":[],"mappings":";AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACrC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACxC,MAAM,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEvD,MAAM,uBAAuB;IAC3B,YAAY,SAAS;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,OAAO;QACL,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;SACvD;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE;YAC7B,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,mBAAmB,EAAE;YAClE,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO;aACT,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAChC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,OAAO,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,kDAAkD;IAClD,OAAO,CAAC,IAAI;QACV,OAAO,CAAC,IAAI,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,IAAI;QACV,8EAA8E;QAC9E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YAClC,OAAO;SACR;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,CAAC,OAAO,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"fingerprintWatchCommand.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprintWatchCommand.js"],"names":[],"mappings":"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"}
@@ -85,6 +85,9 @@ class FunctionStats {
85
85
  .flat()),
86
86
  ].sort();
87
87
  }
88
+ /**
89
+ * @returns {string[]}
90
+ */
88
91
  get callers() {
89
92
  return [
90
93
  ...new Set(this.eventMatches
@@ -94,6 +97,9 @@ class FunctionStats {
94
97
  .filter((e) => e)),
95
98
  ];
96
99
  }
100
+ /**
101
+ * @returns {string[]}
102
+ */
97
103
  get ancestors() {
98
104
  return [
99
105
  ...new Set(this.eventMatches
@@ -104,6 +110,9 @@ class FunctionStats {
104
110
  .filter((e) => e)),
105
111
  ];
106
112
  }
113
+ /**
114
+ * @returns {string[]}
115
+ */
107
116
  get descendants() {
108
117
  return [
109
118
  ...new Set(this.eventMatches
@@ -1 +1 @@
1
- {"version":3,"file":"functionStats.js","sourceRoot":"","sources":["../src/functionStats.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functionStats.js","sourceRoot":"","sources":["../src/functionStats.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
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
+ const assert_1 = __importDefault(require("assert"));
7
+ const events_1 = __importDefault(require("events"));
8
+ const functionStats_1 = __importDefault(require("../functionStats"));
9
+ const findCodeObjects_1 = __importDefault(require("../search/findCodeObjects"));
10
+ const findEvents_1 = __importDefault(require("../search/findEvents"));
11
+ class Context extends events_1.default {
12
+ constructor(appmapDir, codeObjectId) {
13
+ super();
14
+ this.appmapDir = appmapDir;
15
+ this.filters = [];
16
+ this.saves = [];
17
+ this._codeObjectId = codeObjectId;
18
+ }
19
+ get codeObjectId() {
20
+ return this._codeObjectId;
21
+ }
22
+ set codeObjectId(codeObjectId) {
23
+ this._codeObjectId = codeObjectId;
24
+ this.codeObjectMatches = undefined;
25
+ this.stats = undefined;
26
+ }
27
+ async findCodeObjects() {
28
+ const finder = new findCodeObjects_1.default(this.appmapDir, this.codeObjectId);
29
+ this.codeObjectMatches = await finder.find((count) => this.emit('start', count), () => this.emit('increment'));
30
+ this.emit('stop');
31
+ }
32
+ async buildStats() {
33
+ (0, assert_1.default)(this.codeObjectMatches, `codeObjectMatches is not yet computed`);
34
+ this.emit('start', this.codeObjectMatches.length);
35
+ const result = [];
36
+ await Promise.all(this.codeObjectMatches.map(async (codeObjectMatch) => {
37
+ const findEvents = new findEvents_1.default(codeObjectMatch.appmap, codeObjectMatch.codeObject);
38
+ findEvents.filter(this.filters);
39
+ const events = await findEvents.matches();
40
+ result.push(...events);
41
+ this.emit('increment');
42
+ }));
43
+ this.emit('stop');
44
+ this.emit('collate');
45
+ this.stats = new functionStats_1.default(result);
46
+ }
47
+ save() {
48
+ this.saves.push(this.codeObjectId);
49
+ }
50
+ async filter(filter) {
51
+ this.filters.push(filter);
52
+ await this.buildStats();
53
+ }
54
+ async clearFilters() {
55
+ this.filters = [];
56
+ await this.buildStats();
57
+ }
58
+ async undoFilter() {
59
+ if (this.filters.length > 0) {
60
+ this.filters.pop();
61
+ }
62
+ await this.buildStats();
63
+ }
64
+ }
65
+ exports.default = Context;
66
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/inspect/context.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,11 @@
2
2
  const { Table } = require('console-table-printer');
3
3
  const Fields = require('./fields');
4
4
  const filterFields = Fields.fields.filter((f) => f.filterName);
5
- const filter = (rl, filters, stats, buildStats, home) => {
5
+ /** @typedef {import('./context').default} Context */
6
+ /**
7
+ * @param {Context} context
8
+ */
9
+ const filter = (rl, context, home) => {
6
10
  const filterFieldIndexes = Fields.selectIndexes(filterFields.map((f) => f.name));
7
11
  const dsTable = new Table({
8
12
  title: 'Filter data set',
@@ -30,12 +34,12 @@ const filter = (rl, filters, stats, buildStats, home) => {
30
34
  }
31
35
  const filterField = Fields.fieldFromIndex(parseInt(num, 10) - 1);
32
36
  function retry() {
33
- filter(rl, filters, stats, buildStats, home);
37
+ filter(rl, context, home);
34
38
  }
35
39
  if (!filterField || !filterField.filterName) {
36
40
  return retry();
37
41
  }
38
- const statsValues = stats[filterField.name];
42
+ const statsValues = context.stats[filterField.name];
39
43
  if (!statsValues) {
40
44
  return retry();
41
45
  }
@@ -70,8 +74,7 @@ const filter = (rl, filters, stats, buildStats, home) => {
70
74
  const value = statsValues[parseInt(index, 10) - 1];
71
75
  if (value) {
72
76
  const newFilter = { name: filterField.filterName, value };
73
- filters.push(newFilter);
74
- await buildStats();
77
+ await context.filter(newFilter);
75
78
  console.log();
76
79
  home();
77
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/inspect/filter.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/inspect/filter.js"],"names":[],"mappings":"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"}
@@ -4,22 +4,27 @@ const { Table } = require('console-table-printer');
4
4
  const Fields = require('./fields');
5
5
  /** @typedef {import('../search/types').FunctionStats} FunctionStats */
6
6
  /** @typedef {import('./types').Filter} Filter */
7
+ /** @typedef {import('./context').default} Context */
7
8
  const MAX_VALUE_LENGTH = 60;
8
9
  /**
9
- *
10
- * @param {string} codeObjectId
11
- * @param {Filter[]} filters
12
- * @param {FunctionStats} stats
10
+ * @param {Context} context
13
11
  * @param {function(): void} getCommand
14
12
  */
15
- const home = (codeObjectId, filters, stats, getCommand) => {
16
- if (filters.length > 0) {
13
+ const home = (context, getCommand) => {
14
+ if (context.filters.length > 0) {
17
15
  console.log('Filters:');
18
- console.log(filters.map((filter) => `${filter.name} = ${filter.value}`).join('\n'));
16
+ console.log(context.filters
17
+ .map((filter) => `${filter.name} = ${filter.value}`)
18
+ .join('\n'));
19
+ console.log();
20
+ }
21
+ if (context.saves.length > 0) {
22
+ console.log('Saved ids:');
23
+ console.log(context.saves.join('\n'));
19
24
  console.log();
20
25
  }
21
26
  const table = new Table({
22
- title: codeObjectId,
27
+ title: context.codeObjectId,
23
28
  columns: [
24
29
  { name: 'index', alignment: 'left', title: 'Index' },
25
30
  { name: 'name', alignment: 'left', title: 'Name' },
@@ -27,7 +32,7 @@ const home = (codeObjectId, filters, stats, getCommand) => {
27
32
  ],
28
33
  });
29
34
  Fields.fields.forEach((field, index) => {
30
- const values = stats[field.name];
35
+ const values = context.stats[field.name];
31
36
  let printValue = null;
32
37
  if (values) {
33
38
  printValue = values.length;