@mongosh/logging 1.0.7 → 1.1.4

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/AUTHORS CHANGED
@@ -1,2 +1,3 @@
1
1
  Anna Henningsen <anna@addaleax.net>
2
2
  Alena Khineika <alena.khineika@gmail.com>
3
+ github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@@ -12,6 +12,24 @@ class NoopAnalytics {
12
12
  identify(_info) { }
13
13
  track(_info) { }
14
14
  }
15
+ class MultiSet {
16
+ constructor() {
17
+ this._entries = new Map();
18
+ }
19
+ add(entry) {
20
+ var _a;
21
+ const key = JSON.stringify(Object.entries(entry).sort());
22
+ this._entries.set(key, ((_a = this._entries.get(key)) !== null && _a !== void 0 ? _a : 0) + 1);
23
+ }
24
+ clear() {
25
+ this._entries.clear();
26
+ }
27
+ *[Symbol.iterator]() {
28
+ for (const [key, count] of this._entries) {
29
+ yield [Object.fromEntries(JSON.parse(key)), count];
30
+ }
31
+ }
32
+ }
15
33
  function setupLoggerAndTelemetry(bus, log, makeAnalytics, userTraits, mongosh_version) {
16
34
  const { logId } = log;
17
35
  let userId;
@@ -115,7 +133,7 @@ function setupLoggerAndTelemetry(bus, log, makeAnalytics, userTraits, mongosh_ve
115
133
  bus.on('mongosh:setCtx', function (args) {
116
134
  log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000010), 'shell-api', 'Initialized context', args);
117
135
  });
118
- bus.on('mongosh:api-call', function (args) {
136
+ bus.on('mongosh:api-call-with-arguments', function (args) {
119
137
  let arg;
120
138
  try {
121
139
  arg = JSON.parse(JSON.stringify(args));
@@ -180,7 +198,11 @@ function setupLoggerAndTelemetry(bus, log, makeAnalytics, userTraits, mongosh_ve
180
198
  log.info('MONGOCRYPTD', mongodb_log_writer_1.mongoLogId(1000000016), 'mongocryptd', 'Trying to spawn mongocryptd', ev);
181
199
  });
182
200
  bus.on('mongosh:mongocryptd-error', function (ev) {
183
- log.warn('MONGOCRYPTD', mongodb_log_writer_1.mongoLogId(1000000017), 'mongocryptd', 'Error running mongocryptd', ev);
201
+ var _a;
202
+ log.warn('MONGOCRYPTD', mongodb_log_writer_1.mongoLogId(1000000017), 'mongocryptd', 'Error running mongocryptd', {
203
+ ...ev,
204
+ error: (_a = ev.error) === null || _a === void 0 ? void 0 : _a.message
205
+ });
184
206
  });
185
207
  bus.on('mongosh:mongocryptd-log', function (ev) {
186
208
  log.info('MONGOCRYPTD', mongodb_log_writer_1.mongoLogId(1000000018), 'mongocryptd', 'mongocryptd log message', ev);
@@ -236,30 +258,55 @@ function setupLoggerAndTelemetry(bus, log, makeAnalytics, userTraits, mongosh_ve
236
258
  bus.on('mongosh-snippets:transform-error', function (ev) {
237
259
  log.info('MONGOSH-SNIPPETS', mongodb_log_writer_1.mongoLogId(1000000032), 'snippets', 'Rewrote error message', ev);
238
260
  });
239
- const deprecatedApiCalls = new Set();
240
- bus.on('mongosh:deprecated-api-call', function (ev) {
241
- deprecatedApiCalls.add(`${ev.class}#${ev.method}`);
261
+ const deprecatedApiCalls = new MultiSet();
262
+ const apiCalls = new MultiSet();
263
+ bus.on('mongosh:api-call', function (ev) {
264
+ if (ev.deprecated) {
265
+ deprecatedApiCalls.add({ class: ev.class, method: ev.method });
266
+ }
267
+ if (ev.callDepth === 0 && ev.isAsync) {
268
+ apiCalls.add({ class: ev.class, method: ev.method });
269
+ }
270
+ });
271
+ bus.on('mongosh:evaluate-started', function () {
272
+ deprecatedApiCalls.clear();
273
+ apiCalls.clear();
242
274
  });
243
275
  bus.on('mongosh:evaluate-finished', function () {
244
- deprecatedApiCalls.forEach(e => {
245
- const [clazz, method] = e.split('#');
246
- log.warn('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000033), 'shell-api', 'Deprecated API call', { class: clazz, method });
276
+ for (const [entry] of deprecatedApiCalls) {
277
+ log.warn('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000033), 'shell-api', 'Deprecated API call', entry);
247
278
  if (telemetry) {
248
279
  analytics.track({
249
280
  userId,
250
281
  event: 'Deprecated Method',
251
282
  properties: {
252
283
  mongosh_version,
253
- class: clazz,
254
- method
284
+ ...entry
255
285
  }
256
286
  });
257
287
  }
258
- });
288
+ }
289
+ for (const [entry, count] of apiCalls) {
290
+ if (telemetry) {
291
+ analytics.track({
292
+ userId,
293
+ event: 'API Call',
294
+ properties: {
295
+ mongosh_version,
296
+ ...entry,
297
+ count
298
+ }
299
+ });
300
+ }
301
+ }
259
302
  deprecatedApiCalls.clear();
303
+ apiCalls.clear();
260
304
  });
261
305
  bus.on('mongosh-sp:connect-attempt-initialized', function (ev) {
262
- log.info('MONGOSH-SP', mongodb_log_writer_1.mongoLogId(1000000042), 'connect', 'Initiating connection attempt', ev);
306
+ log.info('MONGOSH-SP', mongodb_log_writer_1.mongoLogId(1000000042), 'connect', 'Initiating connection attempt', {
307
+ ...ev,
308
+ uri: history_1.redactURICredentials(ev.uri)
309
+ });
263
310
  });
264
311
  bus.on('mongosh-sp:connect-heartbeat-failure', function (ev) {
265
312
  var _a;
@@ -301,13 +348,16 @@ function setupLoggerAndTelemetry(bus, log, makeAnalytics, userTraits, mongosh_ve
301
348
  });
302
349
  });
303
350
  bus.on('mongosh-editor:run-edit-command', function (ev) {
304
- log.error('MONGOSH-EDITOR', mongodb_log_writer_1.mongoLogId(1000000042), 'editor', 'Open external editor', ev);
351
+ log.error('MONGOSH-EDITOR', mongodb_log_writer_1.mongoLogId(1000000042), 'editor', 'Open external editor', mongodb_redact_1.default(ev));
305
352
  });
306
353
  bus.on('mongosh-editor:read-vscode-extensions-done', function (ev) {
307
- log.error('MONGOSH-EDITOR', mongodb_log_writer_1.mongoLogId(1000000043), 'editor', 'Reading vscode extensions from disc succeeded', ev);
354
+ log.error('MONGOSH-EDITOR', mongodb_log_writer_1.mongoLogId(1000000043), 'editor', 'Reading vscode extensions from file system succeeded', ev);
308
355
  });
309
356
  bus.on('mongosh-editor:read-vscode-extensions-failed', function (ev) {
310
- log.error('MONGOSH-EDITOR', mongodb_log_writer_1.mongoLogId(1000000044), 'editor', 'Reading vscode extensions from disc failed', ev);
357
+ log.error('MONGOSH-EDITOR', mongodb_log_writer_1.mongoLogId(1000000044), 'editor', 'Reading vscode extensions from file system failed', {
358
+ ...ev,
359
+ error: ev.error.message
360
+ });
311
361
  });
312
362
  }
313
363
  exports.setupLoggerAndTelemetry = setupLoggerAndTelemetry;
@@ -1 +1 @@
1
- {"version":3,"file":"setup-logger-and-telemetry.js","sourceRoot":"","sources":["../src/setup-logger-and-telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-logger-and-telemetry.js","sourceRoot":"","sources":["../src/setup-logger-and-telemetry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mongosh/logging",
3
- "version": "1.0.7",
3
+ "version": "1.1.4",
4
4
  "description": "MongoDB Shell Logging Utilities Package",
5
5
  "homepage": "https://github.com/mongodb-js/mongosh",
6
6
  "license": "Apache-2.0",
@@ -17,9 +17,9 @@
17
17
  "node": ">=12.4.0"
18
18
  },
19
19
  "dependencies": {
20
- "@mongosh/errors": "1.0.7",
21
- "@mongosh/history": "1.0.7",
22
- "@mongosh/types": "1.0.7",
20
+ "@mongosh/errors": "1.1.4",
21
+ "@mongosh/history": "1.1.4",
22
+ "@mongosh/types": "1.1.4",
23
23
  "mongodb-log-writer": "^1.0.3",
24
24
  "mongodb-redact": "^0.2.2"
25
25
  },
@@ -34,5 +34,5 @@
34
34
  "mongosh": {
35
35
  "unitTestsOnly": true
36
36
  },
37
- "gitHead": "fa92af95014f84e2ae640aacbe063ec0ba62fbd1"
37
+ "gitHead": "956e60d4d4e064956f11f4f03c0a21d42a9d8193"
38
38
  }
@@ -49,18 +49,19 @@ describe('setupLoggerAndTelemetry', () => {
49
49
  node_version: 'v12.19.0'
50
50
  } as any);
51
51
  bus.emit('mongosh:error', new MongoshInvalidInputError('meow', 'CLIREPL-1005', { cause: 'x' }), 'repl');
52
+ bus.emit('mongosh:error', new MongoshInvalidInputError('meow', 'CLIREPL-1005', { cause: 'x' }), 'fatal');
52
53
  bus.emit('mongosh:use', { db: 'admin' });
53
54
  bus.emit('mongosh:show', { method: 'dbs' });
54
55
  }
55
56
 
56
57
  bus.emit('mongosh:setCtx', { method: 'setCtx' });
57
- bus.emit('mongosh:api-call', { method: 'auth', class: 'Database', db: 'test-1603986682000', arguments: { } });
58
- bus.emit('mongosh:api-call', { method: 'redactable', arguments: { filter: { email: 'mongosh@example.com' } } });
58
+ bus.emit('mongosh:api-call-with-arguments', { method: 'auth', class: 'Database', db: 'test-1603986682000', arguments: { } });
59
+ bus.emit('mongosh:api-call-with-arguments', { method: 'redactable', arguments: { filter: { email: 'mongosh@example.com' } } });
59
60
  bus.emit('mongosh:evaluate-input', { input: '1+1' });
60
61
 
61
62
  const circular: any = {};
62
63
  circular.circular = circular;
63
- bus.emit('mongosh:api-call', { method: 'circulararg', arguments: { options: { circular } } });
64
+ bus.emit('mongosh:api-call-with-arguments', { method: 'circulararg', arguments: { options: { circular } } });
64
65
  expect(circular.circular).to.equal(circular); // Make sure the argument is still intact afterwards
65
66
 
66
67
  bus.emit('mongosh:start-loading-cli-scripts', { usesShellOption: true });
@@ -71,6 +72,10 @@ describe('setupLoggerAndTelemetry', () => {
71
72
  bus.emit('mongosh:mongoshrc-mongorc-warn');
72
73
  bus.emit('mongosh:eval-cli-script');
73
74
 
75
+ bus.emit('mongosh:mongocryptd-tryspawn', { spawnPath: ['mongocryptd'], path: 'path' });
76
+ bus.emit('mongosh:mongocryptd-error', { cause: 'something', error: new Error('mongocryptd error!'), stderr: 'stderr', pid: 12345 });
77
+ bus.emit('mongosh:mongocryptd-log', { pid: 12345, logEntry: {} });
78
+
74
79
  bus.emit('mongosh-snippets:loaded', { installdir: '/' });
75
80
  bus.emit('mongosh-snippets:npm-lookup', { existingVersion: 'v1.2.3' });
76
81
  bus.emit('mongosh-snippets:npm-lookup-stopped');
@@ -89,7 +94,8 @@ describe('setupLoggerAndTelemetry', () => {
89
94
  const connAttemptData = {
90
95
  driver: { name: 'nodejs', version: '3.6.1' },
91
96
  serviceProviderVersion: '1.0.0',
92
- host: 'localhost'
97
+ host: 'localhost',
98
+ uri: 'mongodb://localhost/'
93
99
  };
94
100
  bus.emit('mongosh-sp:connect-attempt-initialized', connAttemptData);
95
101
  bus.emit('mongosh-sp:connect-heartbeat-failure', { connectionId: 'localhost', failure: new Error('cause'), isFailFast: true, isKnownServer: true });
@@ -101,6 +107,10 @@ describe('setupLoggerAndTelemetry', () => {
101
107
  bus.emit('mongosh-sp:reset-connection-options');
102
108
  bus.emit('mongosh-sp:missing-optional-dependency', { name: 'kerberos', error: new Error('no kerberos') });
103
109
 
110
+ bus.emit('mongosh-editor:run-edit-command', { tmpDoc: 'tmpDoc', editor: 'editor', code: '<code>' });
111
+ bus.emit('mongosh-editor:read-vscode-extensions-done', { vscodeDir: 'vscodir', hasMongodbExtension: false });
112
+ bus.emit('mongosh-editor:read-vscode-extensions-failed', { vscodeDir: 'vscodir', error: new Error('failed') });
113
+
104
114
  let i = 0;
105
115
  expect(logOutput[i].msg).to.equal('User updated');
106
116
  expect(logOutput[i++].attr).to.deep.equal({ enableTelemetry: false });
@@ -113,6 +123,8 @@ describe('setupLoggerAndTelemetry', () => {
113
123
  expect(logOutput[i++].attr.node_version).to.equal('v12.19.0');
114
124
  expect(logOutput[i].s).to.equal('E');
115
125
  expect(logOutput[i++].attr.message).to.match(/meow/);
126
+ expect(logOutput[i].s).to.equal('F');
127
+ expect(logOutput[i++].attr.message).to.match(/meow/);
116
128
  expect(logOutput[i].msg).to.equal('Used "use" command');
117
129
  expect(logOutput[i++].attr).to.deep.equal({ db: 'admin' });
118
130
  expect(logOutput[i].msg).to.equal('Used "show" command');
@@ -122,6 +134,8 @@ describe('setupLoggerAndTelemetry', () => {
122
134
  expect(logOutput[i++].msg).to.equal('Connecting to server');
123
135
  expect(logOutput[i].s).to.equal('E');
124
136
  expect(logOutput[i++].attr.message).to.match(/meow/);
137
+ expect(logOutput[i].s).to.equal('F');
138
+ expect(logOutput[i++].attr.message).to.match(/meow/);
125
139
  expect(logOutput[i].msg).to.equal('Used "use" command');
126
140
  expect(logOutput[i++].attr).to.deep.equal({ db: 'admin' });
127
141
  expect(logOutput[i].msg).to.equal('Used "show" command');
@@ -146,6 +160,12 @@ describe('setupLoggerAndTelemetry', () => {
146
160
  expect(logOutput[i++].msg).to.equal('Loading .mongoshrc.js');
147
161
  expect(logOutput[i++].msg).to.equal('Warning about .mongorc.js/.mongoshrc.js mismatch');
148
162
  expect(logOutput[i++].msg).to.equal('Evaluating script passed on the command line');
163
+ expect(logOutput[i].msg).to.equal('Trying to spawn mongocryptd');
164
+ expect(logOutput[i++].attr).to.deep.equal({ spawnPath: ['mongocryptd'], path: 'path' });
165
+ expect(logOutput[i].msg).to.equal('Error running mongocryptd');
166
+ expect(logOutput[i++].attr).to.deep.equal({ cause: 'something', error: 'mongocryptd error!', stderr: 'stderr', pid: 12345 });
167
+ expect(logOutput[i].msg).to.equal('mongocryptd log message');
168
+ expect(logOutput[i++].attr).to.deep.equal({ pid: 12345, logEntry: {} });
149
169
  expect(logOutput[i].msg).to.equal('Loaded snippets');
150
170
  expect(logOutput[i++].attr).to.deep.equal({ installdir: '/' });
151
171
  expect(logOutput[i].msg).to.equal('Performing npm lookup');
@@ -187,6 +207,12 @@ describe('setupLoggerAndTelemetry', () => {
187
207
  expect(logOutput[i++].msg).to.equal('Reconnect because of changed connection options');
188
208
  expect(logOutput[i].msg).to.equal('Missing optional dependency');
189
209
  expect(logOutput[i++].attr).to.deep.equal({ name: 'kerberos', error: 'no kerberos' });
210
+ expect(logOutput[i].msg).to.equal('Open external editor');
211
+ expect(logOutput[i++].attr).to.deep.equal({ tmpDoc: 'tmpDoc', editor: 'editor', code: '<code>' });
212
+ expect(logOutput[i].msg).to.equal('Reading vscode extensions from file system succeeded');
213
+ expect(logOutput[i++].attr).to.deep.equal({ vscodeDir: 'vscodir', hasMongodbExtension: false });
214
+ expect(logOutput[i].msg).to.equal('Reading vscode extensions from file system failed');
215
+ expect(logOutput[i++].attr).to.deep.equal({ vscodeDir: 'vscodir', error: 'failed' });
190
216
  expect(i).to.equal(logOutput.length);
191
217
 
192
218
  expect(analyticsOutput).to.deep.equal([
@@ -238,6 +264,20 @@ describe('setupLoggerAndTelemetry', () => {
238
264
  }
239
265
  }
240
266
  ],
267
+ [
268
+ 'track',
269
+ {
270
+ userId: '53defe995fa47e6c13102d9d',
271
+ event: 'Error',
272
+ properties: {
273
+ mongosh_version: '1.0.0',
274
+ name: 'MongoshInvalidInputError',
275
+ code: 'CLIREPL-1005',
276
+ scope: 'CLIREPL',
277
+ metadata: { cause: 'x' }
278
+ }
279
+ }
280
+ ],
241
281
  [
242
282
  'track',
243
283
  {
@@ -334,22 +374,26 @@ describe('setupLoggerAndTelemetry', () => {
334
374
  logOutput = [];
335
375
  analyticsOutput = [];
336
376
 
337
- bus.emit('mongosh:deprecated-api-call', { method: 'cloneDatabase', class: 'Database' });
338
- bus.emit('mongosh:deprecated-api-call', { method: 'cloneDatabase', class: 'Database' });
339
- bus.emit('mongosh:deprecated-api-call', { method: 'copyDatabase', class: 'Database' });
340
- bus.emit('mongosh:deprecated-api-call', { method: 'cloneDatabase', class: 'Database' });
377
+ bus.emit('mongosh:api-call', { method: 'cloneDatabase', class: 'Database', deprecated: true, callDepth: 0, isAsync: true });
378
+ bus.emit('mongosh:api-call', { method: 'cloneDatabase', class: 'Database', deprecated: true, callDepth: 0, isAsync: true });
379
+ bus.emit('mongosh:api-call', { method: 'copyDatabase', class: 'Database', deprecated: true, callDepth: 0, isAsync: true });
380
+ bus.emit('mongosh:api-call', { method: 'cloneDatabase', class: 'Database', deprecated: true, callDepth: 0, isAsync: true });
381
+ bus.emit('mongosh:api-call', { method: 'mangleDatabase', class: 'Database', deprecated: true, callDepth: 1, isAsync: true });
382
+ bus.emit('mongosh:api-call', { method: 'getName', class: 'Database', deprecated: false, callDepth: 0, isAsync: false });
341
383
 
342
384
  expect(logOutput).to.be.empty;
343
385
  expect(analyticsOutput).to.be.empty;
344
386
 
345
387
  bus.emit('mongosh:evaluate-finished');
346
- expect(logOutput).to.have.length(2);
347
- expect(analyticsOutput).to.have.length(2);
388
+ expect(logOutput).to.have.length(3);
389
+ expect(analyticsOutput).to.have.length(5);
348
390
 
349
391
  expect(logOutput[0].msg).to.equal('Deprecated API call');
350
392
  expect(logOutput[0].attr).to.deep.equal({ class: 'Database', method: 'cloneDatabase' });
351
393
  expect(logOutput[1].msg).to.equal('Deprecated API call');
352
394
  expect(logOutput[1].attr).to.deep.equal({ class: 'Database', method: 'copyDatabase' });
395
+ expect(logOutput[2].msg).to.equal('Deprecated API call');
396
+ expect(logOutput[2].attr).to.deep.equal({ class: 'Database', method: 'mangleDatabase' });
353
397
  expect(analyticsOutput).to.deep.equal([
354
398
  [
355
399
  'track',
@@ -374,14 +418,52 @@ describe('setupLoggerAndTelemetry', () => {
374
418
  method: 'copyDatabase',
375
419
  }
376
420
  }
377
- ]
421
+ ],
422
+ [
423
+ 'track',
424
+ {
425
+ userId: '53defe995fa47e6c13102d9d',
426
+ event: 'Deprecated Method',
427
+ properties: {
428
+ mongosh_version: '1.0.0',
429
+ class: 'Database',
430
+ method: 'mangleDatabase',
431
+ }
432
+ }
433
+ ],
434
+ [
435
+ 'track',
436
+ {
437
+ userId: '53defe995fa47e6c13102d9d',
438
+ event: 'API Call',
439
+ properties: {
440
+ mongosh_version: '1.0.0',
441
+ class: 'Database',
442
+ method: 'cloneDatabase',
443
+ count: 3
444
+ }
445
+ }
446
+ ],
447
+ [
448
+ 'track',
449
+ {
450
+ userId: '53defe995fa47e6c13102d9d',
451
+ event: 'API Call',
452
+ properties: {
453
+ mongosh_version: '1.0.0',
454
+ class: 'Database',
455
+ method: 'copyDatabase',
456
+ count: 1
457
+ }
458
+ }
459
+ ],
378
460
  ]);
379
461
 
380
462
  bus.emit('mongosh:new-user', userId, false);
381
463
  logOutput = [];
382
464
  analyticsOutput = [];
383
465
 
384
- bus.emit('mongosh:deprecated-api-call', { method: 'cloneDatabase', class: 'Database' });
466
+ bus.emit('mongosh:api-call', { method: 'cloneDatabase', class: 'Database', deprecated: true, callDepth: 0, isAsync: true });
385
467
 
386
468
  expect(logOutput).to.be.empty;
387
469
  expect(analyticsOutput).to.be.empty;
@@ -3,6 +3,7 @@ import redactInfo from 'mongodb-redact';
3
3
  import { redactURICredentials } from '@mongosh/history';
4
4
  import type {
5
5
  MongoshBus,
6
+ ApiEventWithArguments,
6
7
  ApiEvent,
7
8
  UseEvent,
8
9
  EvaluateInputEvent,
@@ -67,6 +68,28 @@ class NoopAnalytics implements MongoshAnalytics {
67
68
  track(_info: any): void {} // eslint-disable-line @typescript-eslint/no-unused-vars
68
69
  }
69
70
 
71
+ /**
72
+ * A helper class for keeping track of how often specific events occurred.
73
+ */
74
+ class MultiSet<T> {
75
+ _entries: Map<string, number> = new Map();
76
+
77
+ add(entry: T): void {
78
+ const key = JSON.stringify(Object.entries(entry).sort());
79
+ this._entries.set(key, (this._entries.get(key) ?? 0) + 1);
80
+ }
81
+
82
+ clear(): void {
83
+ this._entries.clear();
84
+ }
85
+
86
+ *[Symbol.iterator](): Iterator<[T, number]> {
87
+ for (const [key, count] of this._entries) {
88
+ yield [Object.fromEntries(JSON.parse(key)) as T, count];
89
+ }
90
+ }
91
+ }
92
+
70
93
  /**
71
94
  * Connect a MongoshBus instance that emits events to logging and analytics providers.
72
95
  *
@@ -194,11 +217,11 @@ export function setupLoggerAndTelemetry(
194
217
  }
195
218
  });
196
219
 
197
- bus.on('mongosh:setCtx', function(args: ApiEvent) {
220
+ bus.on('mongosh:setCtx', function(args: ApiEventWithArguments) {
198
221
  log.info('MONGOSH', mongoLogId(1_000_000_010), 'shell-api', 'Initialized context', args);
199
222
  });
200
223
 
201
- bus.on('mongosh:api-call', function(args: ApiEvent) {
224
+ bus.on('mongosh:api-call-with-arguments', function(args: ApiEventWithArguments) {
202
225
  // TODO: redactInfo cannot handle circular or otherwise nontrivial input
203
226
  let arg;
204
227
  try {
@@ -273,7 +296,10 @@ export function setupLoggerAndTelemetry(
273
296
  });
274
297
 
275
298
  bus.on('mongosh:mongocryptd-error', function(ev: MongocryptdErrorEvent) {
276
- log.warn('MONGOCRYPTD', mongoLogId(1_000_000_017), 'mongocryptd', 'Error running mongocryptd', ev);
299
+ log.warn('MONGOCRYPTD', mongoLogId(1_000_000_017), 'mongocryptd', 'Error running mongocryptd', {
300
+ ...ev,
301
+ error: ev.error?.message
302
+ });
277
303
  });
278
304
 
279
305
  bus.on('mongosh:mongocryptd-log', function(ev: MongocryptdLogEvent) {
@@ -346,14 +372,27 @@ export function setupLoggerAndTelemetry(
346
372
  log.info('MONGOSH-SNIPPETS', mongoLogId(1_000_000_032), 'snippets', 'Rewrote error message', ev);
347
373
  });
348
374
 
349
- const deprecatedApiCalls = new Set<string>();
350
- bus.on('mongosh:deprecated-api-call', function(ev: ApiEvent) {
351
- deprecatedApiCalls.add(`${ev.class}#${ev.method}`);
375
+ const deprecatedApiCalls = new MultiSet<Pick<ApiEvent, 'class' | 'method'>>();
376
+ const apiCalls = new MultiSet<Pick<ApiEvent, 'class' | 'method'>>();
377
+ bus.on('mongosh:api-call', function(ev: ApiEvent) {
378
+ if (ev.deprecated) {
379
+ deprecatedApiCalls.add({ class: ev.class, method: ev.method });
380
+ }
381
+ if (ev.callDepth === 0 && ev.isAsync) {
382
+ apiCalls.add({ class: ev.class, method: ev.method });
383
+ }
384
+ });
385
+ bus.on('mongosh:evaluate-started', function() {
386
+ // Clear API calls before evaluation starts. This is important because
387
+ // some API calls are also emitted by mongosh CLI repl internals,
388
+ // but we only care about those emitted from user code (i.e. during
389
+ // evaluation).
390
+ deprecatedApiCalls.clear();
391
+ apiCalls.clear();
352
392
  });
353
393
  bus.on('mongosh:evaluate-finished', function() {
354
- deprecatedApiCalls.forEach(e => {
355
- const [clazz, method] = e.split('#');
356
- log.warn('MONGOSH', mongoLogId(1_000_000_033), 'shell-api', 'Deprecated API call', { class: clazz, method });
394
+ for (const [entry] of deprecatedApiCalls) {
395
+ log.warn('MONGOSH', mongoLogId(1_000_000_033), 'shell-api', 'Deprecated API call', entry);
357
396
 
358
397
  if (telemetry) {
359
398
  analytics.track({
@@ -361,17 +400,33 @@ export function setupLoggerAndTelemetry(
361
400
  event: 'Deprecated Method',
362
401
  properties: {
363
402
  mongosh_version,
364
- class: clazz,
365
- method
403
+ ...entry
366
404
  }
367
405
  });
368
406
  }
369
- });
407
+ }
408
+ for (const [entry, count] of apiCalls) {
409
+ if (telemetry) {
410
+ analytics.track({
411
+ userId,
412
+ event: 'API Call',
413
+ properties: {
414
+ mongosh_version,
415
+ ...entry,
416
+ count
417
+ }
418
+ });
419
+ }
420
+ }
370
421
  deprecatedApiCalls.clear();
422
+ apiCalls.clear();
371
423
  });
372
424
 
373
425
  bus.on('mongosh-sp:connect-attempt-initialized', function(ev: SpConnectAttemptInitializedEvent) {
374
- log.info('MONGOSH-SP', mongoLogId(1_000_000_042), 'connect', 'Initiating connection attempt', ev);
426
+ log.info('MONGOSH-SP', mongoLogId(1_000_000_042), 'connect', 'Initiating connection attempt', {
427
+ ...ev,
428
+ uri: redactURICredentials(ev.uri)
429
+ });
375
430
  });
376
431
 
377
432
  bus.on('mongosh-sp:connect-heartbeat-failure', function(ev: SpConnectHeartbeatFailureEvent) {
@@ -420,14 +475,19 @@ export function setupLoggerAndTelemetry(
420
475
  });
421
476
 
422
477
  bus.on('mongosh-editor:run-edit-command', function(ev: EditorRunEditCommandEvent) {
423
- log.error('MONGOSH-EDITOR', mongoLogId(1_000_000_042), 'editor', 'Open external editor', ev);
478
+ log.error('MONGOSH-EDITOR', mongoLogId(1_000_000_042), 'editor', 'Open external editor', redactInfo(ev));
424
479
  });
425
480
 
426
481
  bus.on('mongosh-editor:read-vscode-extensions-done', function(ev: EditorReadVscodeExtensionsDoneEvent) {
427
- log.error('MONGOSH-EDITOR', mongoLogId(1_000_000_043), 'editor', 'Reading vscode extensions from disc succeeded', ev);
482
+ log.error('MONGOSH-EDITOR', mongoLogId(1_000_000_043), 'editor', 'Reading vscode extensions from file system succeeded', ev);
428
483
  });
429
484
 
430
485
  bus.on('mongosh-editor:read-vscode-extensions-failed', function(ev: EditorReadVscodeExtensionsFailedEvent) {
431
- log.error('MONGOSH-EDITOR', mongoLogId(1_000_000_044), 'editor', 'Reading vscode extensions from disc failed', ev);
486
+ log.error('MONGOSH-EDITOR', mongoLogId(1_000_000_044), 'editor', 'Reading vscode extensions from file system failed', {
487
+ ...ev,
488
+ error: ev.error.message
489
+ });
432
490
  });
491
+
492
+ // NB: mongoLogId(1_000_000_045) is used in cli-repl itself
433
493
  }