@mongosh/logging 1.1.8 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AUTHORS +1 -0
- package/lib/analytics-helpers.d.ts +31 -0
- package/lib/analytics-helpers.js +59 -0
- package/lib/analytics-helpers.js.map +1 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -1
- package/lib/index.js.map +1 -1
- package/lib/setup-logger-and-telemetry.d.ts +2 -17
- package/lib/setup-logger-and-telemetry.js +84 -115
- package/lib/setup-logger-and-telemetry.js.map +1 -1
- package/package.json +6 -6
- package/src/analytics-helpers.spec.ts +44 -0
- package/src/analytics-helpers.ts +88 -0
- package/src/index.ts +2 -1
- package/src/setup-logger-and-telemetry.spec.ts +34 -46
- package/src/setup-logger-and-telemetry.ts +89 -138
package/AUTHORS
CHANGED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface MongoshAnalytics {
|
|
2
|
+
identify(message: {
|
|
3
|
+
userId: string;
|
|
4
|
+
traits: {
|
|
5
|
+
platform: string;
|
|
6
|
+
};
|
|
7
|
+
}): void;
|
|
8
|
+
track(message: {
|
|
9
|
+
userId: string;
|
|
10
|
+
event: string;
|
|
11
|
+
properties: {
|
|
12
|
+
mongosh_version: string;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
}): void;
|
|
16
|
+
}
|
|
17
|
+
export declare class NoopAnalytics implements MongoshAnalytics {
|
|
18
|
+
identify(_info: any): void;
|
|
19
|
+
track(_info: any): void;
|
|
20
|
+
}
|
|
21
|
+
export declare class ToggleableAnalytics implements MongoshAnalytics {
|
|
22
|
+
_queue: Array<['identify', Parameters<MongoshAnalytics['identify']>] | ['track', Parameters<MongoshAnalytics['track']>]>;
|
|
23
|
+
_state: 'enabled' | 'disabled' | 'paused';
|
|
24
|
+
_target: MongoshAnalytics;
|
|
25
|
+
constructor(target?: MongoshAnalytics);
|
|
26
|
+
identify(...args: Parameters<MongoshAnalytics['identify']>): void;
|
|
27
|
+
track(...args: Parameters<MongoshAnalytics['track']>): void;
|
|
28
|
+
enable(): void;
|
|
29
|
+
disable(): void;
|
|
30
|
+
pause(): void;
|
|
31
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ToggleableAnalytics = exports.NoopAnalytics = void 0;
|
|
4
|
+
class NoopAnalytics {
|
|
5
|
+
identify(_info) { }
|
|
6
|
+
track(_info) { }
|
|
7
|
+
}
|
|
8
|
+
exports.NoopAnalytics = NoopAnalytics;
|
|
9
|
+
class ToggleableAnalytics {
|
|
10
|
+
constructor(target = new NoopAnalytics()) {
|
|
11
|
+
this._queue = [];
|
|
12
|
+
this._state = 'paused';
|
|
13
|
+
this._target = target;
|
|
14
|
+
}
|
|
15
|
+
identify(...args) {
|
|
16
|
+
switch (this._state) {
|
|
17
|
+
case 'enabled':
|
|
18
|
+
this._target.identify(...args);
|
|
19
|
+
break;
|
|
20
|
+
case 'paused':
|
|
21
|
+
this._queue.push(['identify', args]);
|
|
22
|
+
break;
|
|
23
|
+
default:
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
track(...args) {
|
|
28
|
+
switch (this._state) {
|
|
29
|
+
case 'enabled':
|
|
30
|
+
this._target.track(...args);
|
|
31
|
+
break;
|
|
32
|
+
case 'paused':
|
|
33
|
+
this._queue.push(['track', args]);
|
|
34
|
+
break;
|
|
35
|
+
default:
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
enable() {
|
|
40
|
+
this._state = 'enabled';
|
|
41
|
+
const queue = this._queue;
|
|
42
|
+
this._queue = [];
|
|
43
|
+
for (const entry of queue) {
|
|
44
|
+
if (entry[0] === 'identify')
|
|
45
|
+
this.identify(...entry[1]);
|
|
46
|
+
if (entry[0] === 'track')
|
|
47
|
+
this.track(...entry[1]);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
disable() {
|
|
51
|
+
this._state = 'disabled';
|
|
52
|
+
this._queue = [];
|
|
53
|
+
}
|
|
54
|
+
pause() {
|
|
55
|
+
this._state = 'paused';
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.ToggleableAnalytics = ToggleableAnalytics;
|
|
59
|
+
//# sourceMappingURL=analytics-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics-helpers.js","sourceRoot":"","sources":["../src/analytics-helpers.ts"],"names":[],"mappings":";;;AAyBA,MAAa,aAAa;IACxB,QAAQ,CAAC,KAAU,IAAS,CAAC;IAC7B,KAAK,CAAC,KAAU,IAAS,CAAC;CAC3B;AAHD,sCAGC;AAMD,MAAa,mBAAmB;IAK9B,YAAY,SAA2B,IAAI,aAAa,EAAE;QAJ1D,WAAM,GAAqH,EAAE,CAAC;QAC9H,WAAM,GAAsC,QAAQ,CAAC;QAInD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,GAAG,IAA8C;QACxD,QAAQ,IAAI,CAAC,MAAM,EAAE;YACnB,KAAK,SAAS;gBACZ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;gBACrC,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IAED,KAAK,CAAC,GAAG,IAA2C;QAClD,QAAQ,IAAI,CAAC,MAAM,EAAE;YACnB,KAAK,SAAS;gBACZ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAClC,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU;gBAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACnD;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IACzB,CAAC;CACF;AArDD,kDAqDC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { setupLoggerAndTelemetry } from './setup-logger-and-telemetry';
|
|
2
|
+
export { MongoshAnalytics, ToggleableAnalytics, NoopAnalytics } from './analytics-helpers';
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setupLoggerAndTelemetry = void 0;
|
|
3
|
+
exports.NoopAnalytics = exports.ToggleableAnalytics = exports.setupLoggerAndTelemetry = void 0;
|
|
4
4
|
var setup_logger_and_telemetry_1 = require("./setup-logger-and-telemetry");
|
|
5
5
|
Object.defineProperty(exports, "setupLoggerAndTelemetry", { enumerable: true, get: function () { return setup_logger_and_telemetry_1.setupLoggerAndTelemetry; } });
|
|
6
|
+
var analytics_helpers_1 = require("./analytics-helpers");
|
|
7
|
+
Object.defineProperty(exports, "ToggleableAnalytics", { enumerable: true, get: function () { return analytics_helpers_1.ToggleableAnalytics; } });
|
|
8
|
+
Object.defineProperty(exports, "NoopAnalytics", { enumerable: true, get: function () { return analytics_helpers_1.NoopAnalytics; } });
|
|
6
9
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,yDAA2F;AAAhE,wHAAA,mBAAmB,OAAA;AAAE,kHAAA,aAAa,OAAA"}
|
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
import type { MongoshBus } from '@mongosh/types';
|
|
2
2
|
import { MongoLogWriter } from 'mongodb-log-writer';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
userId: string;
|
|
6
|
-
traits: {
|
|
7
|
-
platform: string;
|
|
8
|
-
};
|
|
9
|
-
}): void;
|
|
10
|
-
track(message: {
|
|
11
|
-
userId: string;
|
|
12
|
-
event: string;
|
|
13
|
-
properties: {
|
|
14
|
-
mongosh_version: string;
|
|
15
|
-
[key: string]: any;
|
|
16
|
-
};
|
|
17
|
-
}): void;
|
|
18
|
-
}
|
|
19
|
-
export declare function setupLoggerAndTelemetry(bus: MongoshBus, log: MongoLogWriter, makeAnalytics: () => MongoshAnalytics, userTraits: any, mongosh_version: string): void;
|
|
3
|
+
import { MongoshAnalytics } from './analytics-helpers';
|
|
4
|
+
export declare function setupLoggerAndTelemetry(bus: MongoshBus, log: MongoLogWriter, analytics: MongoshAnalytics, userTraits: any, mongosh_version: string): void;
|
|
@@ -9,10 +9,6 @@ const history_1 = require("@mongosh/history");
|
|
|
9
9
|
const util_1 = require("util");
|
|
10
10
|
const mongodb_log_writer_1 = require("mongodb-log-writer");
|
|
11
11
|
const devtools_connect_1 = require("@mongodb-js/devtools-connect");
|
|
12
|
-
class NoopAnalytics {
|
|
13
|
-
identify(_info) { }
|
|
14
|
-
track(_info) { }
|
|
15
|
-
}
|
|
16
12
|
class MultiSet {
|
|
17
13
|
constructor() {
|
|
18
14
|
this._entries = new Map();
|
|
@@ -31,17 +27,9 @@ class MultiSet {
|
|
|
31
27
|
}
|
|
32
28
|
}
|
|
33
29
|
}
|
|
34
|
-
function setupLoggerAndTelemetry(bus, log,
|
|
30
|
+
function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_version) {
|
|
35
31
|
const { logId } = log;
|
|
36
32
|
let userId;
|
|
37
|
-
let telemetry;
|
|
38
|
-
let analytics = new NoopAnalytics();
|
|
39
|
-
try {
|
|
40
|
-
analytics = makeAnalytics();
|
|
41
|
-
}
|
|
42
|
-
catch (e) {
|
|
43
|
-
log.error('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000001), 'analytics', 'Failed to instantiate analytics provider', e);
|
|
44
|
-
}
|
|
45
33
|
let hasStartedMongoshRepl = false;
|
|
46
34
|
bus.on('mongosh:start-mongosh-repl', (ev) => {
|
|
47
35
|
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000002), 'repl', 'Started REPL', ev);
|
|
@@ -57,30 +45,24 @@ function setupLoggerAndTelemetry(bus, log, makeAnalytics, userTraits, mongosh_ve
|
|
|
57
45
|
const { uri: _uri, ...argsWithoutUri } = args;
|
|
58
46
|
const params = { session_id: logId, userId, connectionUri, ...argsWithoutUri };
|
|
59
47
|
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000004), 'connect', 'Connecting to server', params);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
});
|
|
70
|
-
}
|
|
48
|
+
analytics.track({
|
|
49
|
+
userId,
|
|
50
|
+
event: 'New Connection',
|
|
51
|
+
properties: {
|
|
52
|
+
mongosh_version,
|
|
53
|
+
session_id: logId,
|
|
54
|
+
...argsWithoutUri
|
|
55
|
+
}
|
|
56
|
+
});
|
|
71
57
|
});
|
|
72
|
-
bus.on('mongosh:new-user', function (id
|
|
58
|
+
bus.on('mongosh:new-user', function (id) {
|
|
73
59
|
userId = id;
|
|
74
|
-
|
|
75
|
-
if (telemetry)
|
|
76
|
-
analytics.identify({ userId, traits: userTraits });
|
|
60
|
+
analytics.identify({ userId, traits: userTraits });
|
|
77
61
|
});
|
|
78
|
-
bus.on('mongosh:update-user', function (id
|
|
62
|
+
bus.on('mongosh:update-user', function (id) {
|
|
79
63
|
userId = id;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
analytics.identify({ userId, traits: userTraits });
|
|
83
|
-
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000005), 'config', 'User updated', { enableTelemetry });
|
|
64
|
+
analytics.identify({ userId, traits: userTraits });
|
|
65
|
+
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000005), 'config', 'User updated');
|
|
84
66
|
});
|
|
85
67
|
bus.on('mongosh:error', function (error, context) {
|
|
86
68
|
if (context === 'fatal') {
|
|
@@ -89,7 +71,7 @@ function setupLoggerAndTelemetry(bus, log, makeAnalytics, userTraits, mongosh_ve
|
|
|
89
71
|
else {
|
|
90
72
|
log.error('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000006), context, `${error.name}: ${error.message}`, error);
|
|
91
73
|
}
|
|
92
|
-
if (
|
|
74
|
+
if (error.name.includes('Mongosh')) {
|
|
93
75
|
analytics.track({
|
|
94
76
|
userId,
|
|
95
77
|
event: 'Error',
|
|
@@ -103,33 +85,32 @@ function setupLoggerAndTelemetry(bus, log, makeAnalytics, userTraits, mongosh_ve
|
|
|
103
85
|
});
|
|
104
86
|
}
|
|
105
87
|
});
|
|
88
|
+
bus.on('mongosh:globalconfig-load', function (args) {
|
|
89
|
+
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000048), 'config', 'Loading global configuration file', args);
|
|
90
|
+
});
|
|
106
91
|
bus.on('mongosh:evaluate-input', function (args) {
|
|
107
92
|
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000007), 'repl', 'Evaluating input', args);
|
|
108
93
|
});
|
|
109
94
|
bus.on('mongosh:use', function (args) {
|
|
110
95
|
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000008), 'shell-api', 'Used "use" command', args);
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
});
|
|
119
|
-
}
|
|
96
|
+
analytics.track({
|
|
97
|
+
userId,
|
|
98
|
+
event: 'Use',
|
|
99
|
+
properties: {
|
|
100
|
+
mongosh_version
|
|
101
|
+
}
|
|
102
|
+
});
|
|
120
103
|
});
|
|
121
104
|
bus.on('mongosh:show', function (args) {
|
|
122
105
|
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000009), 'shell-api', 'Used "show" command', args);
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
});
|
|
132
|
-
}
|
|
106
|
+
analytics.track({
|
|
107
|
+
userId,
|
|
108
|
+
event: 'Show',
|
|
109
|
+
properties: {
|
|
110
|
+
mongosh_version,
|
|
111
|
+
method: args.method
|
|
112
|
+
}
|
|
113
|
+
});
|
|
133
114
|
});
|
|
134
115
|
bus.on('mongosh:setCtx', function (args) {
|
|
135
116
|
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000010), 'shell-api', 'Initialized context', args);
|
|
@@ -146,54 +127,46 @@ function setupLoggerAndTelemetry(bus, log, makeAnalytics, userTraits, mongosh_ve
|
|
|
146
127
|
});
|
|
147
128
|
bus.on('mongosh:api-load-file', function (args) {
|
|
148
129
|
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000012), 'shell-api', 'Loading file via load()', args);
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
});
|
|
159
|
-
}
|
|
130
|
+
analytics.track({
|
|
131
|
+
userId,
|
|
132
|
+
event: hasStartedMongoshRepl ? 'Script Loaded' : 'Script Loaded CLI',
|
|
133
|
+
properties: {
|
|
134
|
+
mongosh_version,
|
|
135
|
+
nested: args.nested,
|
|
136
|
+
...(hasStartedMongoshRepl ? {} : { shell: usesShellOption })
|
|
137
|
+
}
|
|
138
|
+
});
|
|
160
139
|
});
|
|
161
140
|
bus.on('mongosh:eval-cli-script', function () {
|
|
162
141
|
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000013), 'repl', 'Evaluating script passed on the command line');
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
});
|
|
172
|
-
}
|
|
142
|
+
analytics.track({
|
|
143
|
+
userId,
|
|
144
|
+
event: 'Script Evaluated',
|
|
145
|
+
properties: {
|
|
146
|
+
mongosh_version,
|
|
147
|
+
shell: usesShellOption
|
|
148
|
+
}
|
|
149
|
+
});
|
|
173
150
|
});
|
|
174
151
|
bus.on('mongosh:mongoshrc-load', function () {
|
|
175
152
|
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000014), 'repl', 'Loading .mongoshrc.js');
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
});
|
|
184
|
-
}
|
|
153
|
+
analytics.track({
|
|
154
|
+
userId,
|
|
155
|
+
event: 'Mongoshrc Loaded',
|
|
156
|
+
properties: {
|
|
157
|
+
mongosh_version
|
|
158
|
+
}
|
|
159
|
+
});
|
|
185
160
|
});
|
|
186
161
|
bus.on('mongosh:mongoshrc-mongorc-warn', function () {
|
|
187
162
|
log.info('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000015), 'repl', 'Warning about .mongorc.js/.mongoshrc.js mismatch');
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
});
|
|
196
|
-
}
|
|
163
|
+
analytics.track({
|
|
164
|
+
userId,
|
|
165
|
+
event: 'Mongorc Warning',
|
|
166
|
+
properties: {
|
|
167
|
+
mongosh_version
|
|
168
|
+
}
|
|
169
|
+
});
|
|
197
170
|
});
|
|
198
171
|
bus.on('mongosh:mongocryptd-tryspawn', function (ev) {
|
|
199
172
|
log.info('MONGOCRYPTD', mongodb_log_writer_1.mongoLogId(1000000016), 'mongocryptd', 'Trying to spawn mongocryptd', ev);
|
|
@@ -246,7 +219,7 @@ function setupLoggerAndTelemetry(bus, log, makeAnalytics, userTraits, mongosh_ve
|
|
|
246
219
|
});
|
|
247
220
|
bus.on('mongosh-snippets:snippet-command', function (ev) {
|
|
248
221
|
log.info('MONGOSH-SNIPPETS', mongodb_log_writer_1.mongoLogId(1000000031), 'snippets', 'Running snippet command', ev);
|
|
249
|
-
if (
|
|
222
|
+
if (ev.args[0] === 'install') {
|
|
250
223
|
analytics.track({
|
|
251
224
|
userId,
|
|
252
225
|
event: 'Snippet Install',
|
|
@@ -276,29 +249,25 @@ function setupLoggerAndTelemetry(bus, log, makeAnalytics, userTraits, mongosh_ve
|
|
|
276
249
|
bus.on('mongosh:evaluate-finished', function () {
|
|
277
250
|
for (const [entry] of deprecatedApiCalls) {
|
|
278
251
|
log.warn('MONGOSH', mongodb_log_writer_1.mongoLogId(1000000033), 'shell-api', 'Deprecated API call', entry);
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
});
|
|
288
|
-
}
|
|
252
|
+
analytics.track({
|
|
253
|
+
userId,
|
|
254
|
+
event: 'Deprecated Method',
|
|
255
|
+
properties: {
|
|
256
|
+
mongosh_version,
|
|
257
|
+
...entry
|
|
258
|
+
}
|
|
259
|
+
});
|
|
289
260
|
}
|
|
290
261
|
for (const [entry, count] of apiCalls) {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
});
|
|
301
|
-
}
|
|
262
|
+
analytics.track({
|
|
263
|
+
userId,
|
|
264
|
+
event: 'API Call',
|
|
265
|
+
properties: {
|
|
266
|
+
mongosh_version,
|
|
267
|
+
...entry,
|
|
268
|
+
count
|
|
269
|
+
}
|
|
270
|
+
});
|
|
302
271
|
}
|
|
303
272
|
deprecatedApiCalls.clear();
|
|
304
273
|
apiCalls.clear();
|
|
@@ -308,7 +277,7 @@ function setupLoggerAndTelemetry(bus, log, makeAnalytics, userTraits, mongosh_ve
|
|
|
308
277
|
log.info('MONGOSH-SP', mongodb_log_writer_1.mongoLogId(1000000040), 'connect', 'Reconnect because of changed connection options');
|
|
309
278
|
});
|
|
310
279
|
bus.on('mongosh-editor:run-edit-command', function (ev) {
|
|
311
|
-
log.error('MONGOSH-EDITOR', mongodb_log_writer_1.mongoLogId(
|
|
280
|
+
log.error('MONGOSH-EDITOR', mongodb_log_writer_1.mongoLogId(1000000047), 'editor', 'Open external editor', mongodb_redact_1.default(ev));
|
|
312
281
|
});
|
|
313
282
|
bus.on('mongosh-editor:read-vscode-extensions-done', function (ev) {
|
|
314
283
|
log.error('MONGOSH-EDITOR', mongodb_log_writer_1.mongoLogId(1000000043), 'editor', 'Reading vscode extensions from file system succeeded', ev);
|
|
@@ -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":";;;;;;AACA,oEAAwC;AACxC,8CAAwD;AA+BxD,+BAA+B;AAC/B,2DAAgE;AAChE,mEAAuF;AAMvF,MAAM,QAAQ;IAAd;QACE,aAAQ,GAAwB,IAAI,GAAG,EAAE,CAAC;IAgB5C,CAAC;IAdC,GAAG,CAAC,KAAQ;;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACxC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAM,EAAE,KAAK,CAAC,CAAC;SACzD;IACH,CAAC;CACF;AASD,SAAgB,uBAAuB,CACrC,GAAe,EACf,GAAmB,EACnB,SAA2B,EAC3B,UAAe,EACf,eAAuB;IACvB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IACtB,IAAI,MAAc,CAAC;IAMnB,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,GAAG,CAAC,EAAE,CAAC,4BAA4B,EAAE,CAAC,EAAyB,EAAE,EAAE;QACjE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;QAC3E,qBAAqB,GAAG,IAAI,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,GAAG,CAAC,EAAE,CAAC,mCAAmC,EAAE,CAAC,KAAkC,EAAE,EAAE;QACjF,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,MAAM,EAAE,2BAA2B,CAAC,CAAC;QACpF,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,UAAS,IAAkB;QACnD,MAAM,aAAa,GAAG,8BAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC;QAC9C,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,cAAc,EAAE,CAAC;QAC/E,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,CAAC,CAAC;QAE1F,SAAS,CAAC,KAAK,CAAC;YACd,MAAM;YACN,KAAK,EAAE,gBAAgB;YACvB,UAAU,EAAE;gBACV,eAAe;gBACf,UAAU,EAAE,KAAK;gBACjB,GAAG,cAAc;aAClB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,UAAS,EAAU;QAC5C,MAAM,GAAG,EAAE,CAAC;QACZ,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,UAAS,EAAU;QAC/C,MAAM,GAAG,EAAE,CAAC;QACZ,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,UAAS,KAAU,EAAE,OAAe;QAC1D,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;SACpG;aAAM;YACL,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;SACpG;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAClC,SAAS,CAAC,KAAK,CAAC;gBACd,MAAM;gBACN,KAAK,EAAE,OAAO;gBACd,UAAU,EAAE;oBACV,eAAe;oBACf,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,2BAA2B,EAAE,UAAS,IAA+B;QAC1E,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,QAAQ,EAAE,mCAAmC,EAAE,IAAI,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,wBAAwB,EAAE,UAAS,IAAwB;QAChE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,UAAS,IAAc;QAC3C,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAExF,SAAS,CAAC,KAAK,CAAC;YACd,MAAM;YACN,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE;gBACV,eAAe;aAChB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,UAAS,IAAe;QAC7C,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAEzF,SAAS,CAAC,KAAK,CAAC;YACd,MAAM;YACN,KAAK,EAAE,MAAM;YACb,UAAU,EAAE;gBACV,eAAe;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,gBAAgB,EAAE,UAAS,IAA2B;QAC3D,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,iCAAiC,EAAE,UAAS,IAA2B;QAE5E,IAAI,GAAG,CAAC;QACR,IAAI;YACF,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACxC;QAAC,WAAM;YACN,GAAG,GAAG,EAAE,UAAU,EAAE,cAAO,CAAC,IAAI,CAAC,EAAE,CAAC;SACrC;QACD,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,wBAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,uBAAuB,EAAE,UAAS,IAAyB;QAChE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAC;QAE7F,SAAS,CAAC,KAAK,CAAC;YACd,MAAM;YACN,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB;YACpE,UAAU,EAAE;gBACV,eAAe;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;aAC7D;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,yBAAyB,EAAE;QAChC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,MAAM,EAAE,8CAA8C,CAAC,CAAC;QAEvG,SAAS,CAAC,KAAK,CAAC;YACd,MAAM;YACN,KAAK,EAAE,kBAAkB;YACzB,UAAU,EAAE;gBACV,eAAe;gBACf,KAAK,EAAE,eAAe;aACvB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,wBAAwB,EAAE;QAC/B,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAEhF,SAAS,CAAC,KAAK,CAAC;YACd,MAAM;YACN,KAAK,EAAE,kBAAkB;YACzB,UAAU,EAAE;gBACV,eAAe;aAChB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,gCAAgC,EAAE;QACvC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,MAAM,EAAE,kDAAkD,CAAC,CAAC;QAE3G,SAAS,CAAC,KAAK,CAAC;YACd,MAAM;YACN,KAAK,EAAE,iBAAiB;YACxB,UAAU,EAAE;gBACV,eAAe;aAChB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,8BAA8B,EAAE,UAAS,EAA4B;QAC1E,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,aAAa,EAAE,6BAA6B,EAAE,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,2BAA2B,EAAE,UAAS,EAAyB;;QACpE,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,aAAa,EAAE,2BAA2B,EAAE;YAC7F,GAAG,EAAE;YACL,KAAK,EAAE,MAAA,EAAE,CAAC,KAAK,0CAAE,OAAO;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,yBAAyB,EAAE,UAAS,EAAuB;QAChE,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,aAAa,EAAE,yBAAyB,EAAE,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,yBAAyB,EAAE,UAAS,EAAuB;QAChE,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,6BAA6B,EAAE,UAAS,EAA0B;QACvE,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,qCAAqC,EAAE;QAC5C,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,sCAAsC,EAAE,UAAS,EAAkC;QACxF,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,sCAAsC,EAAE,UAAS,EAAkC;QACxF,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,8BAA8B,EAAE,UAAS,EAA2B;QACzE,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,sCAAsC,EAAE;QAC7C,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,oCAAoC,EAAE,UAAS,EAAgC;QACpF,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,+BAA+B,EAAE,EAAE,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,mCAAmC,EAAE;QAC1C,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,6BAA6B,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,0CAA0C,EAAE,UAAS,EAAsB;QAChF,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,wCAAwC,EAAE,EAAE,CAAC,CAAC;IACpH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,8BAA8B,EAAE,UAAS,EAAuB;QACrE,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,+BAA+B,EAAE,UAAS,EAA4B;QAC3E,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,kCAAkC,EAAE,UAAS,EAAwB;QAC1E,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,yBAAyB,EAAE,EAAE,CAAC,CAAC;QAEnG,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;YAC5B,SAAS,CAAC,KAAK,CAAC;gBACd,MAAM;gBACN,KAAK,EAAE,iBAAiB;gBACxB,UAAU,EAAE;oBACV,eAAe;iBAChB;aACF,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,kCAAkC,EAAE,UAAS,EAA+B;QACjF,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,UAAU,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,IAAI,QAAQ,EAAsC,CAAC;IAC9E,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAsC,CAAC;IACpE,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,UAAS,EAAY;QAC9C,IAAI,EAAE,CAAC,UAAU,EAAE;YACjB,kBAAkB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;SAChE;QACD,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE;YACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,EAAE,CAAC,0BAA0B,EAAE;QAKjC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,EAAE,CAAC,2BAA2B,EAAE;QAClC,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,kBAAkB,EAAE;YACxC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAE1F,SAAS,CAAC,KAAK,CAAC;gBACd,MAAM;gBACN,KAAK,EAAE,mBAAmB;gBAC1B,UAAU,EAAE;oBACV,eAAe;oBACf,GAAG,KAAK;iBACT;aACF,CAAC,CAAC;SACJ;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE;YACrC,SAAS,CAAC,KAAK,CAAC;gBACd,MAAM;gBACN,KAAK,EAAE,UAAU;gBACjB,UAAU,EAAE;oBACV,eAAe;oBACf,GAAG,KAAK;oBACR,KAAK;iBACN;aACF,CAAC,CAAC;SACJ;QACD,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAIH,6BAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,8BAAoB,CAAC,CAAC;IAErE,GAAG,CAAC,EAAE,CAAC,qCAAqC,EAAE;QAC5C,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,SAAS,EAAE,iDAAiD,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,iCAAiC,EAAE,UAAS,EAA6B;QAC9E,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,QAAQ,EAAE,sBAAsB,EAAE,wBAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,4CAA4C,EAAE,UAAS,EAAuC;QACnG,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,QAAQ,EAAE,sDAAsD,EAAE,EAAE,CAAC,CAAC;IAC/H,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,8CAA8C,EAAE,UAAS,EAAyC;QACvG,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,+BAAU,CAAC,UAAa,CAAC,EAAE,QAAQ,EAAE,mDAAmD,EAAE;YACpH,GAAG,EAAE;YACL,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AAKL,CAAC;AAvUD,0DAuUC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mongosh/logging",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "MongoDB Shell Logging Utilities Package",
|
|
5
5
|
"homepage": "https://github.com/mongodb-js/mongosh",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"node": ">=12.4.0"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@mongodb-js/devtools-connect": "^1.
|
|
21
|
-
"@mongosh/errors": "1.
|
|
22
|
-
"@mongosh/history": "1.
|
|
23
|
-
"@mongosh/types": "1.
|
|
20
|
+
"@mongodb-js/devtools-connect": "^1.2.4",
|
|
21
|
+
"@mongosh/errors": "1.2.2",
|
|
22
|
+
"@mongosh/history": "1.2.2",
|
|
23
|
+
"@mongosh/types": "1.2.2",
|
|
24
24
|
"mongodb-log-writer": "^1.1.3",
|
|
25
25
|
"mongodb-redact": "^0.2.2"
|
|
26
26
|
},
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"mongosh": {
|
|
36
36
|
"unitTestsOnly": true
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "7956ae40dde9eb7e6ee8cad058f88953781dc049"
|
|
39
39
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { ToggleableAnalytics, MongoshAnalytics } from './analytics-helpers';
|
|
3
|
+
|
|
4
|
+
describe('ToggleableAnalytics', () => {
|
|
5
|
+
let events: any[];
|
|
6
|
+
let target: MongoshAnalytics;
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
events = [];
|
|
10
|
+
target = {
|
|
11
|
+
identify(info: any) { events.push(['identify', info]); },
|
|
12
|
+
track(info: any) { events.push(['track', info]); }
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
it('starts out in paused state and can be toggled on and off', () => {
|
|
17
|
+
const toggleable = new ToggleableAnalytics(target);
|
|
18
|
+
expect(events).to.have.lengthOf(0);
|
|
19
|
+
|
|
20
|
+
toggleable.identify({ userId: 'me', traits: { platform: '1234' } });
|
|
21
|
+
toggleable.track({ userId: 'me', event: 'something', properties: { mongosh_version: '1.2.3' } });
|
|
22
|
+
expect(events).to.have.lengthOf(0);
|
|
23
|
+
|
|
24
|
+
toggleable.enable();
|
|
25
|
+
expect(events).to.have.lengthOf(2);
|
|
26
|
+
|
|
27
|
+
toggleable.track({ userId: 'me', event: 'something2', properties: { mongosh_version: '1.2.3' } });
|
|
28
|
+
expect(events).to.have.lengthOf(3);
|
|
29
|
+
|
|
30
|
+
toggleable.pause();
|
|
31
|
+
toggleable.track({ userId: 'me', event: 'something3', properties: { mongosh_version: '1.2.3' } });
|
|
32
|
+
expect(events).to.have.lengthOf(3);
|
|
33
|
+
|
|
34
|
+
toggleable.disable();
|
|
35
|
+
expect(events).to.have.lengthOf(3);
|
|
36
|
+
toggleable.enable();
|
|
37
|
+
|
|
38
|
+
expect(events).to.deep.equal([
|
|
39
|
+
[ 'identify', { userId: 'me', traits: { platform: '1234' } } ],
|
|
40
|
+
[ 'track', { userId: 'me', event: 'something', properties: { mongosh_version: '1.2.3' } } ],
|
|
41
|
+
[ 'track', { userId: 'me', event: 'something2', properties: { mongosh_version: '1.2.3' } } ]
|
|
42
|
+
]);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* General interface for an Analytics provider that mongosh can use.
|
|
3
|
+
*/
|
|
4
|
+
export interface MongoshAnalytics {
|
|
5
|
+
identify(message: {
|
|
6
|
+
userId: string,
|
|
7
|
+
traits: { platform: string }
|
|
8
|
+
}): void;
|
|
9
|
+
|
|
10
|
+
track(message: {
|
|
11
|
+
userId: string,
|
|
12
|
+
event: string,
|
|
13
|
+
properties: {
|
|
14
|
+
// eslint-disable-next-line camelcase
|
|
15
|
+
mongosh_version: string,
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
}
|
|
18
|
+
}): void;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A no-op implementation of MongoshAnalytics that can be used when
|
|
23
|
+
* actually connecting to the telemetry provider is not possible
|
|
24
|
+
* (e.g. because we are running without an API key).
|
|
25
|
+
*/
|
|
26
|
+
export class NoopAnalytics implements MongoshAnalytics {
|
|
27
|
+
identify(_info: any): void {} // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
28
|
+
track(_info: any): void {} // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* An implementation of MongoshAnalytics that forwards to another implementation
|
|
33
|
+
* and can be enabled/paused/disabled.
|
|
34
|
+
*/
|
|
35
|
+
export class ToggleableAnalytics implements MongoshAnalytics {
|
|
36
|
+
_queue: Array<['identify', Parameters<MongoshAnalytics['identify']>] | ['track', Parameters<MongoshAnalytics['track']>]> = [];
|
|
37
|
+
_state: 'enabled' | 'disabled' | 'paused' = 'paused';
|
|
38
|
+
_target: MongoshAnalytics;
|
|
39
|
+
|
|
40
|
+
constructor(target: MongoshAnalytics = new NoopAnalytics()) {
|
|
41
|
+
this._target = target;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
identify(...args: Parameters<MongoshAnalytics['identify']>): void {
|
|
45
|
+
switch (this._state) {
|
|
46
|
+
case 'enabled':
|
|
47
|
+
this._target.identify(...args);
|
|
48
|
+
break;
|
|
49
|
+
case 'paused':
|
|
50
|
+
this._queue.push(['identify', args]);
|
|
51
|
+
break;
|
|
52
|
+
default:
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
track(...args: Parameters<MongoshAnalytics['track']>): void {
|
|
58
|
+
switch (this._state) {
|
|
59
|
+
case 'enabled':
|
|
60
|
+
this._target.track(...args);
|
|
61
|
+
break;
|
|
62
|
+
case 'paused':
|
|
63
|
+
this._queue.push(['track', args]);
|
|
64
|
+
break;
|
|
65
|
+
default:
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
enable() {
|
|
71
|
+
this._state = 'enabled';
|
|
72
|
+
const queue = this._queue;
|
|
73
|
+
this._queue = [];
|
|
74
|
+
for (const entry of queue) {
|
|
75
|
+
if (entry[0] === 'identify') this.identify(...entry[1]);
|
|
76
|
+
if (entry[0] === 'track') this.track(...entry[1]);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
disable() {
|
|
81
|
+
this._state = 'disabled';
|
|
82
|
+
this._queue = [];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
pause() {
|
|
86
|
+
this._state = 'paused';
|
|
87
|
+
}
|
|
88
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { setupLoggerAndTelemetry } from './setup-logger-and-telemetry';
|
|
2
|
+
export { MongoshAnalytics, ToggleableAnalytics, NoopAnalytics } from './analytics-helpers';
|
|
@@ -29,30 +29,26 @@ describe('setupLoggerAndTelemetry', () => {
|
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
it('works', () => {
|
|
32
|
-
setupLoggerAndTelemetry(bus, logger,
|
|
32
|
+
setupLoggerAndTelemetry(bus, logger, analytics, {
|
|
33
33
|
platform: process.platform,
|
|
34
34
|
arch: process.arch
|
|
35
35
|
}, '1.0.0');
|
|
36
36
|
expect(logOutput).to.have.lengthOf(0);
|
|
37
37
|
expect(analyticsOutput).to.be.empty;
|
|
38
38
|
|
|
39
|
-
bus.emit('mongosh:new-user', userId
|
|
40
|
-
bus.emit('mongosh:new-user', userId, true);
|
|
39
|
+
bus.emit('mongosh:new-user', userId);
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
bus.emit('mongosh:use', { db: 'admin' });
|
|
54
|
-
bus.emit('mongosh:show', { method: 'dbs' });
|
|
55
|
-
}
|
|
41
|
+
bus.emit('mongosh:update-user', userId);
|
|
42
|
+
bus.emit('mongosh:connect', {
|
|
43
|
+
uri: 'mongodb://localhost/',
|
|
44
|
+
is_localhost: true,
|
|
45
|
+
is_atlas: false,
|
|
46
|
+
node_version: 'v12.19.0'
|
|
47
|
+
} as any);
|
|
48
|
+
bus.emit('mongosh:error', new MongoshInvalidInputError('meow', 'CLIREPL-1005', { cause: 'x' }), 'repl');
|
|
49
|
+
bus.emit('mongosh:error', new MongoshInvalidInputError('meow', 'CLIREPL-1005', { cause: 'x' }), 'fatal');
|
|
50
|
+
bus.emit('mongosh:use', { db: 'admin' });
|
|
51
|
+
bus.emit('mongosh:show', { method: 'dbs' });
|
|
56
52
|
|
|
57
53
|
bus.emit('mongosh:setCtx', { method: 'setCtx' });
|
|
58
54
|
bus.emit('mongosh:api-call-with-arguments', { method: 'auth', class: 'Database', db: 'test-1603986682000', arguments: { } });
|
|
@@ -71,6 +67,7 @@ describe('setupLoggerAndTelemetry', () => {
|
|
|
71
67
|
bus.emit('mongosh:mongoshrc-load');
|
|
72
68
|
bus.emit('mongosh:mongoshrc-mongorc-warn');
|
|
73
69
|
bus.emit('mongosh:eval-cli-script');
|
|
70
|
+
bus.emit('mongosh:globalconfig-load', { filename: '/etc/mongosh.conf', found: true });
|
|
74
71
|
|
|
75
72
|
bus.emit('mongosh:mongocryptd-tryspawn', { spawnPath: ['mongocryptd'], path: 'path' });
|
|
76
73
|
bus.emit('mongosh:mongocryptd-error', { cause: 'something', error: new Error('mongocryptd error!'), stderr: 'stderr', pid: 12345 });
|
|
@@ -102,8 +99,17 @@ describe('setupLoggerAndTelemetry', () => {
|
|
|
102
99
|
bus.emit('devtools-connect:connect-heartbeat-succeeded', { connectionId: 'localhost' });
|
|
103
100
|
bus.emit('devtools-connect:connect-fail-early');
|
|
104
101
|
bus.emit('devtools-connect:connect-attempt-finished');
|
|
105
|
-
bus.emit('devtools-connect:resolve-srv-error', {
|
|
106
|
-
|
|
102
|
+
bus.emit('devtools-connect:resolve-srv-error', {
|
|
103
|
+
from: 'mongodb+srv://foo:bar@hello.world/',
|
|
104
|
+
error: new Error('failed'),
|
|
105
|
+
duringLoad: false,
|
|
106
|
+
resolutionDetails: []
|
|
107
|
+
});
|
|
108
|
+
bus.emit('devtools-connect:resolve-srv-succeeded', {
|
|
109
|
+
from: 'mongodb+srv://foo:bar@hello.world/',
|
|
110
|
+
to: 'mongodb://foo:bar@db.hello.world/',
|
|
111
|
+
resolutionDetails: []
|
|
112
|
+
});
|
|
107
113
|
bus.emit('devtools-connect:missing-optional-dependency', { name: 'kerberos', error: new Error('no kerberos') });
|
|
108
114
|
bus.emit('mongosh-sp:reset-connection-options');
|
|
109
115
|
|
|
@@ -112,8 +118,7 @@ describe('setupLoggerAndTelemetry', () => {
|
|
|
112
118
|
bus.emit('mongosh-editor:read-vscode-extensions-failed', { vscodeDir: 'vscodir', error: new Error('failed') });
|
|
113
119
|
|
|
114
120
|
let i = 0;
|
|
115
|
-
expect(logOutput[i].msg).to.equal('User updated');
|
|
116
|
-
expect(logOutput[i++].attr).to.deep.equal({ enableTelemetry: false });
|
|
121
|
+
expect(logOutput[i++].msg).to.equal('User updated');
|
|
117
122
|
expect(logOutput[i].msg).to.equal('Connecting to server');
|
|
118
123
|
expect(logOutput[i].attr.session_id).to.equal('5fb3c20ee1507e894e5340f3');
|
|
119
124
|
expect(logOutput[i].attr.userId).to.equal('53defe995fa47e6c13102d9d');
|
|
@@ -129,17 +134,6 @@ describe('setupLoggerAndTelemetry', () => {
|
|
|
129
134
|
expect(logOutput[i++].attr).to.deep.equal({ db: 'admin' });
|
|
130
135
|
expect(logOutput[i].msg).to.equal('Used "show" command');
|
|
131
136
|
expect(logOutput[i++].attr).to.deep.equal({ method: 'dbs' });
|
|
132
|
-
expect(logOutput[i].msg).to.equal('User updated');
|
|
133
|
-
expect(logOutput[i++].attr).to.deep.equal({ enableTelemetry: true });
|
|
134
|
-
expect(logOutput[i++].msg).to.equal('Connecting to server');
|
|
135
|
-
expect(logOutput[i].s).to.equal('E');
|
|
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/);
|
|
139
|
-
expect(logOutput[i].msg).to.equal('Used "use" command');
|
|
140
|
-
expect(logOutput[i++].attr).to.deep.equal({ db: 'admin' });
|
|
141
|
-
expect(logOutput[i].msg).to.equal('Used "show" command');
|
|
142
|
-
expect(logOutput[i++].attr).to.deep.equal({ method: 'dbs' });
|
|
143
137
|
expect(logOutput[i++].msg).to.equal('Initialized context');
|
|
144
138
|
expect(logOutput[i].msg).to.equal('Performed API call');
|
|
145
139
|
expect(logOutput[i++].attr.db).to.equal('test-1603986682000');
|
|
@@ -160,6 +154,8 @@ describe('setupLoggerAndTelemetry', () => {
|
|
|
160
154
|
expect(logOutput[i++].msg).to.equal('Loading .mongoshrc.js');
|
|
161
155
|
expect(logOutput[i++].msg).to.equal('Warning about .mongorc.js/.mongoshrc.js mismatch');
|
|
162
156
|
expect(logOutput[i++].msg).to.equal('Evaluating script passed on the command line');
|
|
157
|
+
expect(logOutput[i].msg).to.equal('Loading global configuration file');
|
|
158
|
+
expect(logOutput[i++].attr.filename).to.equal('/etc/mongosh.conf');
|
|
163
159
|
expect(logOutput[i].msg).to.equal('Trying to spawn mongocryptd');
|
|
164
160
|
expect(logOutput[i++].attr).to.deep.equal({ spawnPath: ['mongocryptd'], path: 'path' });
|
|
165
161
|
expect(logOutput[i].msg).to.equal('Error running mongocryptd');
|
|
@@ -201,9 +197,9 @@ describe('setupLoggerAndTelemetry', () => {
|
|
|
201
197
|
expect(logOutput[i++].msg).to.equal('Aborting connection attempt as irrecoverable');
|
|
202
198
|
expect(logOutput[i++].msg).to.equal('Connection attempt finished');
|
|
203
199
|
expect(logOutput[i].msg).to.equal('Resolving SRV record failed');
|
|
204
|
-
expect(logOutput[i++].attr).to.deep.equal({ from: 'mongodb+srv://<credentials>@hello.world/', error: 'failed', duringLoad: false });
|
|
200
|
+
expect(logOutput[i++].attr).to.deep.equal({ from: 'mongodb+srv://<credentials>@hello.world/', error: 'failed', duringLoad: false, resolutionDetails: [] });
|
|
205
201
|
expect(logOutput[i].msg).to.equal('Resolving SRV record succeeded');
|
|
206
|
-
expect(logOutput[i++].attr).to.deep.equal({ from: 'mongodb+srv://<credentials>@hello.world/', to: 'mongodb://<credentials>@db.hello.world/' });
|
|
202
|
+
expect(logOutput[i++].attr).to.deep.equal({ from: 'mongodb+srv://<credentials>@hello.world/', to: 'mongodb://<credentials>@db.hello.world/', resolutionDetails: [] });
|
|
207
203
|
expect(logOutput[i].msg).to.equal('Missing optional dependency');
|
|
208
204
|
expect(logOutput[i++].attr).to.deep.equal({ name: 'kerberos', error: 'no kerberos' });
|
|
209
205
|
expect(logOutput[i++].msg).to.equal('Reconnect because of changed connection options');
|
|
@@ -365,11 +361,11 @@ describe('setupLoggerAndTelemetry', () => {
|
|
|
365
361
|
});
|
|
366
362
|
|
|
367
363
|
it('buffers deprecated API calls', () => {
|
|
368
|
-
setupLoggerAndTelemetry(bus, logger,
|
|
364
|
+
setupLoggerAndTelemetry(bus, logger, analytics, {}, '1.0.0');
|
|
369
365
|
expect(logOutput).to.have.lengthOf(0);
|
|
370
366
|
expect(analyticsOutput).to.be.empty;
|
|
371
367
|
|
|
372
|
-
bus.emit('mongosh:new-user', userId
|
|
368
|
+
bus.emit('mongosh:new-user', userId);
|
|
373
369
|
|
|
374
370
|
logOutput = [];
|
|
375
371
|
analyticsOutput = [];
|
|
@@ -459,7 +455,7 @@ describe('setupLoggerAndTelemetry', () => {
|
|
|
459
455
|
],
|
|
460
456
|
]);
|
|
461
457
|
|
|
462
|
-
bus.emit('mongosh:new-user', userId
|
|
458
|
+
bus.emit('mongosh:new-user', userId);
|
|
463
459
|
logOutput = [];
|
|
464
460
|
analyticsOutput = [];
|
|
465
461
|
|
|
@@ -472,14 +468,6 @@ describe('setupLoggerAndTelemetry', () => {
|
|
|
472
468
|
expect(logOutput).to.have.length(1);
|
|
473
469
|
expect(logOutput[0].msg).to.equal('Deprecated API call');
|
|
474
470
|
expect(logOutput[0].attr).to.deep.equal({ class: 'Database', method: 'cloneDatabase' });
|
|
475
|
-
expect(analyticsOutput).to.
|
|
476
|
-
});
|
|
477
|
-
|
|
478
|
-
it('works when analytics are not available', () => {
|
|
479
|
-
setupLoggerAndTelemetry(bus, logger, () => { throw new Error(); }, {}, '1.0.0');
|
|
480
|
-
bus.emit('mongosh:new-user', userId, true);
|
|
481
|
-
expect(analyticsOutput).to.be.empty;
|
|
482
|
-
expect(logOutput).to.have.lengthOf(1);
|
|
483
|
-
expect(logOutput[0].s).to.equal('E');
|
|
471
|
+
expect(analyticsOutput).to.have.lengthOf(2);
|
|
484
472
|
});
|
|
485
473
|
});
|
|
@@ -12,6 +12,7 @@ import type {
|
|
|
12
12
|
ScriptLoadFileEvent,
|
|
13
13
|
StartLoadingCliScriptsEvent,
|
|
14
14
|
StartMongoshReplEvent,
|
|
15
|
+
GlobalConfigFileLoadEvent,
|
|
15
16
|
MongocryptdTrySpawnEvent,
|
|
16
17
|
MongocryptdLogEvent,
|
|
17
18
|
MongocryptdErrorEvent,
|
|
@@ -33,35 +34,7 @@ import type {
|
|
|
33
34
|
import { inspect } from 'util';
|
|
34
35
|
import { MongoLogWriter, mongoLogId } from 'mongodb-log-writer';
|
|
35
36
|
import { hookLogger as devtoolsConnectHookLogger } from '@mongodb-js/devtools-connect';
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* General interface for an Analytics provider that mongosh can use.
|
|
39
|
-
*/
|
|
40
|
-
export interface MongoshAnalytics {
|
|
41
|
-
identify(message: {
|
|
42
|
-
userId: string,
|
|
43
|
-
traits: { platform: string }
|
|
44
|
-
}): void;
|
|
45
|
-
|
|
46
|
-
track(message: {
|
|
47
|
-
userId: string,
|
|
48
|
-
event: string,
|
|
49
|
-
properties: {
|
|
50
|
-
mongosh_version: string,
|
|
51
|
-
[key: string]: any;
|
|
52
|
-
}
|
|
53
|
-
}): void;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* A no-op implementation of MongoshAnalytics that can be used when
|
|
58
|
-
* actually connecting to the telemetry provider is not possible
|
|
59
|
-
* (e.g. because we are running without an API key).
|
|
60
|
-
*/
|
|
61
|
-
class NoopAnalytics implements MongoshAnalytics {
|
|
62
|
-
identify(_info: any): void {} // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
63
|
-
track(_info: any): void {} // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
64
|
-
}
|
|
37
|
+
import { MongoshAnalytics } from './analytics-helpers';
|
|
65
38
|
|
|
66
39
|
/**
|
|
67
40
|
* A helper class for keeping track of how often specific events occurred.
|
|
@@ -95,19 +68,11 @@ class MultiSet<T> {
|
|
|
95
68
|
export function setupLoggerAndTelemetry(
|
|
96
69
|
bus: MongoshBus,
|
|
97
70
|
log: MongoLogWriter,
|
|
98
|
-
|
|
71
|
+
analytics: MongoshAnalytics,
|
|
99
72
|
userTraits: any,
|
|
100
73
|
mongosh_version: string): void {
|
|
101
74
|
const { logId } = log;
|
|
102
75
|
let userId: string;
|
|
103
|
-
let telemetry: boolean;
|
|
104
|
-
|
|
105
|
-
let analytics: MongoshAnalytics = new NoopAnalytics();
|
|
106
|
-
try {
|
|
107
|
-
analytics = makeAnalytics();
|
|
108
|
-
} catch (e) {
|
|
109
|
-
log.error('MONGOSH', mongoLogId(1_000_000_001), 'analytics', 'Failed to instantiate analytics provider', e);
|
|
110
|
-
}
|
|
111
76
|
|
|
112
77
|
// We emit different analytics events for loading files and evaluating scripts
|
|
113
78
|
// depending on whether we're already in the REPL or not yet. We store the
|
|
@@ -131,30 +96,26 @@ export function setupLoggerAndTelemetry(
|
|
|
131
96
|
const params = { session_id: logId, userId, connectionUri, ...argsWithoutUri };
|
|
132
97
|
log.info('MONGOSH', mongoLogId(1_000_000_004), 'connect', 'Connecting to server', params);
|
|
133
98
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
});
|
|
144
|
-
}
|
|
99
|
+
analytics.track({
|
|
100
|
+
userId,
|
|
101
|
+
event: 'New Connection',
|
|
102
|
+
properties: {
|
|
103
|
+
mongosh_version,
|
|
104
|
+
session_id: logId,
|
|
105
|
+
...argsWithoutUri
|
|
106
|
+
}
|
|
107
|
+
});
|
|
145
108
|
});
|
|
146
109
|
|
|
147
|
-
bus.on('mongosh:new-user', function(id: string
|
|
110
|
+
bus.on('mongosh:new-user', function(id: string) {
|
|
148
111
|
userId = id;
|
|
149
|
-
|
|
150
|
-
if (telemetry) analytics.identify({ userId, traits: userTraits });
|
|
112
|
+
analytics.identify({ userId, traits: userTraits });
|
|
151
113
|
});
|
|
152
114
|
|
|
153
|
-
bus.on('mongosh:update-user', function(id: string
|
|
115
|
+
bus.on('mongosh:update-user', function(id: string) {
|
|
154
116
|
userId = id;
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
log.info('MONGOSH', mongoLogId(1_000_000_005), 'config', 'User updated', { enableTelemetry });
|
|
117
|
+
analytics.identify({ userId, traits: userTraits });
|
|
118
|
+
log.info('MONGOSH', mongoLogId(1_000_000_005), 'config', 'User updated');
|
|
158
119
|
});
|
|
159
120
|
|
|
160
121
|
bus.on('mongosh:error', function(error: any, context: string) {
|
|
@@ -164,7 +125,7 @@ export function setupLoggerAndTelemetry(
|
|
|
164
125
|
log.error('MONGOSH', mongoLogId(1_000_000_006), context, `${error.name}: ${error.message}`, error);
|
|
165
126
|
}
|
|
166
127
|
|
|
167
|
-
if (
|
|
128
|
+
if (error.name.includes('Mongosh')) {
|
|
168
129
|
analytics.track({
|
|
169
130
|
userId,
|
|
170
131
|
event: 'Error',
|
|
@@ -179,6 +140,10 @@ export function setupLoggerAndTelemetry(
|
|
|
179
140
|
}
|
|
180
141
|
});
|
|
181
142
|
|
|
143
|
+
bus.on('mongosh:globalconfig-load', function(args: GlobalConfigFileLoadEvent) {
|
|
144
|
+
log.info('MONGOSH', mongoLogId(1_000_000_048), 'config', 'Loading global configuration file', args);
|
|
145
|
+
});
|
|
146
|
+
|
|
182
147
|
bus.on('mongosh:evaluate-input', function(args: EvaluateInputEvent) {
|
|
183
148
|
log.info('MONGOSH', mongoLogId(1_000_000_007), 'repl', 'Evaluating input', args);
|
|
184
149
|
});
|
|
@@ -186,30 +151,26 @@ export function setupLoggerAndTelemetry(
|
|
|
186
151
|
bus.on('mongosh:use', function(args: UseEvent) {
|
|
187
152
|
log.info('MONGOSH', mongoLogId(1_000_000_008), 'shell-api', 'Used "use" command', args);
|
|
188
153
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
});
|
|
197
|
-
}
|
|
154
|
+
analytics.track({
|
|
155
|
+
userId,
|
|
156
|
+
event: 'Use',
|
|
157
|
+
properties: {
|
|
158
|
+
mongosh_version
|
|
159
|
+
}
|
|
160
|
+
});
|
|
198
161
|
});
|
|
199
162
|
|
|
200
163
|
bus.on('mongosh:show', function(args: ShowEvent) {
|
|
201
164
|
log.info('MONGOSH', mongoLogId(1_000_000_009), 'shell-api', 'Used "show" command', args);
|
|
202
165
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
});
|
|
212
|
-
}
|
|
166
|
+
analytics.track({
|
|
167
|
+
userId,
|
|
168
|
+
event: 'Show',
|
|
169
|
+
properties: {
|
|
170
|
+
mongosh_version,
|
|
171
|
+
method: args.method
|
|
172
|
+
}
|
|
173
|
+
});
|
|
213
174
|
});
|
|
214
175
|
|
|
215
176
|
bus.on('mongosh:setCtx', function(args: ApiEventWithArguments) {
|
|
@@ -230,60 +191,52 @@ export function setupLoggerAndTelemetry(
|
|
|
230
191
|
bus.on('mongosh:api-load-file', function(args: ScriptLoadFileEvent) {
|
|
231
192
|
log.info('MONGOSH', mongoLogId(1_000_000_012), 'shell-api', 'Loading file via load()', args);
|
|
232
193
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
});
|
|
243
|
-
}
|
|
194
|
+
analytics.track({
|
|
195
|
+
userId,
|
|
196
|
+
event: hasStartedMongoshRepl ? 'Script Loaded' : 'Script Loaded CLI',
|
|
197
|
+
properties: {
|
|
198
|
+
mongosh_version,
|
|
199
|
+
nested: args.nested,
|
|
200
|
+
...(hasStartedMongoshRepl ? {} : { shell: usesShellOption })
|
|
201
|
+
}
|
|
202
|
+
});
|
|
244
203
|
});
|
|
245
204
|
|
|
246
205
|
bus.on('mongosh:eval-cli-script', function() {
|
|
247
206
|
log.info('MONGOSH', mongoLogId(1_000_000_013), 'repl', 'Evaluating script passed on the command line');
|
|
248
207
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
});
|
|
258
|
-
}
|
|
208
|
+
analytics.track({
|
|
209
|
+
userId,
|
|
210
|
+
event: 'Script Evaluated',
|
|
211
|
+
properties: {
|
|
212
|
+
mongosh_version,
|
|
213
|
+
shell: usesShellOption
|
|
214
|
+
}
|
|
215
|
+
});
|
|
259
216
|
});
|
|
260
217
|
|
|
261
218
|
bus.on('mongosh:mongoshrc-load', function() {
|
|
262
219
|
log.info('MONGOSH', mongoLogId(1_000_000_014), 'repl', 'Loading .mongoshrc.js');
|
|
263
220
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
});
|
|
272
|
-
}
|
|
221
|
+
analytics.track({
|
|
222
|
+
userId,
|
|
223
|
+
event: 'Mongoshrc Loaded',
|
|
224
|
+
properties: {
|
|
225
|
+
mongosh_version
|
|
226
|
+
}
|
|
227
|
+
});
|
|
273
228
|
});
|
|
274
229
|
|
|
275
230
|
bus.on('mongosh:mongoshrc-mongorc-warn', function() {
|
|
276
231
|
log.info('MONGOSH', mongoLogId(1_000_000_015), 'repl', 'Warning about .mongorc.js/.mongoshrc.js mismatch');
|
|
277
232
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
});
|
|
286
|
-
}
|
|
233
|
+
analytics.track({
|
|
234
|
+
userId,
|
|
235
|
+
event: 'Mongorc Warning',
|
|
236
|
+
properties: {
|
|
237
|
+
mongosh_version
|
|
238
|
+
}
|
|
239
|
+
});
|
|
287
240
|
});
|
|
288
241
|
|
|
289
242
|
bus.on('mongosh:mongocryptd-tryspawn', function(ev: MongocryptdTrySpawnEvent) {
|
|
@@ -352,7 +305,7 @@ export function setupLoggerAndTelemetry(
|
|
|
352
305
|
bus.on('mongosh-snippets:snippet-command', function(ev: SnippetsCommandEvent) {
|
|
353
306
|
log.info('MONGOSH-SNIPPETS', mongoLogId(1_000_000_031), 'snippets', 'Running snippet command', ev);
|
|
354
307
|
|
|
355
|
-
if (
|
|
308
|
+
if (ev.args[0] === 'install') {
|
|
356
309
|
analytics.track({
|
|
357
310
|
userId,
|
|
358
311
|
event: 'Snippet Install',
|
|
@@ -389,29 +342,25 @@ export function setupLoggerAndTelemetry(
|
|
|
389
342
|
for (const [entry] of deprecatedApiCalls) {
|
|
390
343
|
log.warn('MONGOSH', mongoLogId(1_000_000_033), 'shell-api', 'Deprecated API call', entry);
|
|
391
344
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
});
|
|
401
|
-
}
|
|
345
|
+
analytics.track({
|
|
346
|
+
userId,
|
|
347
|
+
event: 'Deprecated Method',
|
|
348
|
+
properties: {
|
|
349
|
+
mongosh_version,
|
|
350
|
+
...entry
|
|
351
|
+
}
|
|
352
|
+
});
|
|
402
353
|
}
|
|
403
354
|
for (const [entry, count] of apiCalls) {
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
});
|
|
414
|
-
}
|
|
355
|
+
analytics.track({
|
|
356
|
+
userId,
|
|
357
|
+
event: 'API Call',
|
|
358
|
+
properties: {
|
|
359
|
+
mongosh_version,
|
|
360
|
+
...entry,
|
|
361
|
+
count
|
|
362
|
+
}
|
|
363
|
+
});
|
|
415
364
|
}
|
|
416
365
|
deprecatedApiCalls.clear();
|
|
417
366
|
apiCalls.clear();
|
|
@@ -426,7 +375,7 @@ export function setupLoggerAndTelemetry(
|
|
|
426
375
|
});
|
|
427
376
|
|
|
428
377
|
bus.on('mongosh-editor:run-edit-command', function(ev: EditorRunEditCommandEvent) {
|
|
429
|
-
log.error('MONGOSH-EDITOR', mongoLogId(
|
|
378
|
+
log.error('MONGOSH-EDITOR', mongoLogId(1_000_000_047), 'editor', 'Open external editor', redactInfo(ev));
|
|
430
379
|
});
|
|
431
380
|
|
|
432
381
|
bus.on('mongosh-editor:read-vscode-extensions-done', function(ev: EditorReadVscodeExtensionsDoneEvent) {
|
|
@@ -441,4 +390,6 @@ export function setupLoggerAndTelemetry(
|
|
|
441
390
|
});
|
|
442
391
|
|
|
443
392
|
// NB: mongoLogId(1_000_000_045) is used in cli-repl itself
|
|
393
|
+
// NB: mongoLogId(1_000_000_034) through mongoLogId(1_000_000_042) are used in devtools-connect
|
|
394
|
+
// NB: mongoLogId(1_000_000_049) is used in devtools-connect
|
|
444
395
|
}
|