@mongosh/logging 2.0.2 → 2.1.1
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 +17 -0
- package/lib/analytics-helpers.js +28 -4
- package/lib/analytics-helpers.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/setup-logger-and-telemetry.d.ts +1 -0
- package/lib/setup-logger-and-telemetry.js +43 -15
- package/lib/setup-logger-and-telemetry.js.map +1 -1
- package/package.json +6 -6
- package/src/analytics-helpers.spec.ts +71 -11
- package/src/analytics-helpers.ts +45 -4
- package/src/index.ts +1 -0
- package/src/setup-logger-and-telemetry.spec.ts +65 -1
- package/src/setup-logger-and-telemetry.ts +68 -14
package/AUTHORS
CHANGED
|
@@ -8,14 +8,18 @@ export type MongoshAnalyticsIdentity = {
|
|
|
8
8
|
type AnalyticsIdentifyMessage = MongoshAnalyticsIdentity & {
|
|
9
9
|
traits: {
|
|
10
10
|
platform: string;
|
|
11
|
+
session_id: string;
|
|
11
12
|
};
|
|
13
|
+
timestamp?: Date;
|
|
12
14
|
};
|
|
13
15
|
type AnalyticsTrackMessage = MongoshAnalyticsIdentity & {
|
|
14
16
|
event: string;
|
|
15
17
|
properties: {
|
|
16
18
|
mongosh_version: string;
|
|
19
|
+
session_id: string;
|
|
17
20
|
[key: string]: any;
|
|
18
21
|
};
|
|
22
|
+
timestamp?: Date;
|
|
19
23
|
};
|
|
20
24
|
export interface MongoshAnalytics {
|
|
21
25
|
identify(message: AnalyticsIdentifyMessage): void;
|
|
@@ -77,4 +81,17 @@ export declare class ThrottledAnalytics implements MongoshAnalytics {
|
|
|
77
81
|
private shouldEmitAnalyticsEvent;
|
|
78
82
|
flush(callback: (err?: Error | undefined) => void): void;
|
|
79
83
|
}
|
|
84
|
+
type SampledAnalyticsOptions = {
|
|
85
|
+
target?: MongoshAnalytics;
|
|
86
|
+
sampling: () => boolean;
|
|
87
|
+
};
|
|
88
|
+
export declare class SampledAnalytics implements MongoshAnalytics {
|
|
89
|
+
private isEnabled;
|
|
90
|
+
private target;
|
|
91
|
+
constructor(configuration: SampledAnalyticsOptions);
|
|
92
|
+
get enabled(): boolean;
|
|
93
|
+
identify(message: AnalyticsIdentifyMessage): void;
|
|
94
|
+
track(message: AnalyticsTrackMessage): void;
|
|
95
|
+
flush(callback: (err?: Error | undefined) => void): void;
|
|
96
|
+
}
|
|
80
97
|
export {};
|
package/lib/analytics-helpers.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ThrottledAnalytics = exports.ToggleableAnalytics = exports.NoopAnalytics = void 0;
|
|
6
|
+
exports.SampledAnalytics = exports.ThrottledAnalytics = exports.ToggleableAnalytics = exports.NoopAnalytics = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
class Queue {
|
|
@@ -52,6 +52,10 @@ class NoopAnalytics {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
exports.NoopAnalytics = NoopAnalytics;
|
|
55
|
+
function addTimestamp(message) {
|
|
56
|
+
var _a;
|
|
57
|
+
return { ...message, timestamp: (_a = message.timestamp) !== null && _a !== void 0 ? _a : new Date() };
|
|
58
|
+
}
|
|
55
59
|
class ToggleableAnalytics {
|
|
56
60
|
constructor(target = new NoopAnalytics()) {
|
|
57
61
|
this._queue = new Queue((item) => {
|
|
@@ -66,11 +70,11 @@ class ToggleableAnalytics {
|
|
|
66
70
|
}
|
|
67
71
|
identify(...args) {
|
|
68
72
|
this._validateArgs(args);
|
|
69
|
-
this._queue.push(['identify', args]);
|
|
73
|
+
this._queue.push(['identify', [addTimestamp(args[0])]]);
|
|
70
74
|
}
|
|
71
75
|
track(...args) {
|
|
72
76
|
this._validateArgs(args);
|
|
73
|
-
this._queue.push(['track', args]);
|
|
77
|
+
this._queue.push(['track', [addTimestamp(args[0])]]);
|
|
74
78
|
}
|
|
75
79
|
enable() {
|
|
76
80
|
if (this._pendingError) {
|
|
@@ -168,6 +172,7 @@ class ThrottledAnalytics {
|
|
|
168
172
|
}
|
|
169
173
|
identify(message) {
|
|
170
174
|
var _a;
|
|
175
|
+
message = addTimestamp(message);
|
|
171
176
|
if (this.currentUserId) {
|
|
172
177
|
throw new Error('Identify can only be called once per user session');
|
|
173
178
|
}
|
|
@@ -185,7 +190,7 @@ class ThrottledAnalytics {
|
|
|
185
190
|
});
|
|
186
191
|
}
|
|
187
192
|
track(message) {
|
|
188
|
-
this.trackQueue.push(message);
|
|
193
|
+
this.trackQueue.push(addTimestamp(message));
|
|
189
194
|
}
|
|
190
195
|
async restoreThrottleState() {
|
|
191
196
|
if (!this.throttleOptions) {
|
|
@@ -245,4 +250,23 @@ class ThrottledAnalytics {
|
|
|
245
250
|
}
|
|
246
251
|
}
|
|
247
252
|
exports.ThrottledAnalytics = ThrottledAnalytics;
|
|
253
|
+
class SampledAnalytics {
|
|
254
|
+
constructor(configuration) {
|
|
255
|
+
this.isEnabled = configuration.sampling();
|
|
256
|
+
this.target = configuration.target || new NoopAnalytics();
|
|
257
|
+
}
|
|
258
|
+
get enabled() {
|
|
259
|
+
return this.isEnabled;
|
|
260
|
+
}
|
|
261
|
+
identify(message) {
|
|
262
|
+
this.isEnabled && this.target.identify(message);
|
|
263
|
+
}
|
|
264
|
+
track(message) {
|
|
265
|
+
this.isEnabled && this.target.track(message);
|
|
266
|
+
}
|
|
267
|
+
flush(callback) {
|
|
268
|
+
this.target.flush(callback);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
exports.SampledAnalytics = SampledAnalytics;
|
|
248
272
|
//# sourceMappingURL=analytics-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-helpers.js","sourceRoot":"","sources":["../src/analytics-helpers.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;
|
|
1
|
+
{"version":3,"file":"analytics-helpers.js","sourceRoot":"","sources":["../src/analytics-helpers.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { setupLoggerAndTelemetry } from './setup-logger-and-telemetry';
|
|
2
|
-
export { MongoshAnalytics, ToggleableAnalytics, NoopAnalytics, ThrottledAnalytics, } from './analytics-helpers';
|
|
2
|
+
export { MongoshAnalytics, ToggleableAnalytics, SampledAnalytics, NoopAnalytics, ThrottledAnalytics, } from './analytics-helpers';
|
package/lib/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ThrottledAnalytics = exports.NoopAnalytics = exports.ToggleableAnalytics = exports.setupLoggerAndTelemetry = void 0;
|
|
3
|
+
exports.ThrottledAnalytics = exports.NoopAnalytics = exports.SampledAnalytics = 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
6
|
var analytics_helpers_1 = require("./analytics-helpers");
|
|
7
7
|
Object.defineProperty(exports, "ToggleableAnalytics", { enumerable: true, get: function () { return analytics_helpers_1.ToggleableAnalytics; } });
|
|
8
|
+
Object.defineProperty(exports, "SampledAnalytics", { enumerable: true, get: function () { return analytics_helpers_1.SampledAnalytics; } });
|
|
8
9
|
Object.defineProperty(exports, "NoopAnalytics", { enumerable: true, get: function () { return analytics_helpers_1.NoopAnalytics; } });
|
|
9
10
|
Object.defineProperty(exports, "ThrottledAnalytics", { enumerable: true, get: function () { return analytics_helpers_1.ThrottledAnalytics; } });
|
|
10
11
|
//# 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,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2EAAuE;AAA9D,qIAAA,uBAAuB,OAAA;AAChC,yDAM6B;AAJ3B,wHAAA,mBAAmB,OAAA;AACnB,qHAAA,gBAAgB,OAAA;AAChB,kHAAA,aAAa,OAAA;AACb,uHAAA,kBAAkB,OAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { MongoshBus } from '@mongosh/types';
|
|
2
2
|
import type { MongoLogWriter } from 'mongodb-log-writer';
|
|
3
3
|
import type { MongoshAnalytics } from './analytics-helpers';
|
|
4
|
+
export declare function toSnakeCase(str: string): string;
|
|
4
5
|
export declare function setupLoggerAndTelemetry(bus: MongoshBus, log: MongoLogWriter, analytics: MongoshAnalytics, userTraits: any, mongosh_version: string): void;
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.setupLoggerAndTelemetry = void 0;
|
|
6
|
+
exports.setupLoggerAndTelemetry = exports.toSnakeCase = void 0;
|
|
7
7
|
const mongodb_redact_1 = __importDefault(require("mongodb-redact"));
|
|
8
8
|
const history_1 = require("@mongosh/history");
|
|
9
9
|
const util_1 = require("util");
|
|
@@ -26,10 +26,23 @@ class MultiSet {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
+
function toSnakeCase(str) {
|
|
30
|
+
const matches = str.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);
|
|
31
|
+
if (!matches) {
|
|
32
|
+
return str;
|
|
33
|
+
}
|
|
34
|
+
return matches.map((x) => x.toLowerCase()).join('_');
|
|
35
|
+
}
|
|
36
|
+
exports.toSnakeCase = toSnakeCase;
|
|
29
37
|
function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_version) {
|
|
30
|
-
const { logId } = log;
|
|
38
|
+
const { logId: session_id } = log;
|
|
31
39
|
let userId;
|
|
32
40
|
let telemetryAnonymousId;
|
|
41
|
+
userTraits = { ...userTraits, session_id };
|
|
42
|
+
const trackProperties = {
|
|
43
|
+
mongosh_version,
|
|
44
|
+
session_id,
|
|
45
|
+
};
|
|
33
46
|
const getTelemetryUserIdentity = () => {
|
|
34
47
|
if (telemetryAnonymousId) {
|
|
35
48
|
return {
|
|
@@ -52,7 +65,7 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
|
|
|
52
65
|
const connectionUri = (0, history_1.redactURICredentials)(args.uri);
|
|
53
66
|
const { uri: _uri, ...argsWithoutUri } = args;
|
|
54
67
|
const params = {
|
|
55
|
-
session_id
|
|
68
|
+
session_id,
|
|
56
69
|
userId,
|
|
57
70
|
telemetryAnonymousId,
|
|
58
71
|
connectionUri,
|
|
@@ -63,12 +76,27 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
|
|
|
63
76
|
...getTelemetryUserIdentity(),
|
|
64
77
|
event: 'New Connection',
|
|
65
78
|
properties: {
|
|
66
|
-
|
|
67
|
-
session_id: logId,
|
|
79
|
+
...trackProperties,
|
|
68
80
|
...argsWithoutUri,
|
|
69
81
|
},
|
|
70
82
|
});
|
|
71
83
|
});
|
|
84
|
+
bus.on('mongosh:start-session', function (args) {
|
|
85
|
+
const normalisedTimingsArray = Object.entries(args.timings).map(([key, duration]) => {
|
|
86
|
+
const snakeCaseKey = toSnakeCase(key);
|
|
87
|
+
return [snakeCaseKey, duration];
|
|
88
|
+
});
|
|
89
|
+
const normalisedTimings = Object.fromEntries(normalisedTimingsArray);
|
|
90
|
+
analytics.track({
|
|
91
|
+
...getTelemetryUserIdentity(),
|
|
92
|
+
event: 'Startup Time',
|
|
93
|
+
properties: {
|
|
94
|
+
...trackProperties,
|
|
95
|
+
is_interactive: args.isInteractive,
|
|
96
|
+
...normalisedTimings,
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
});
|
|
72
100
|
bus.on('mongosh:new-user', function (newTelemetryUserIdentity) {
|
|
73
101
|
if (!newTelemetryUserIdentity.anonymousId) {
|
|
74
102
|
userId = newTelemetryUserIdentity.userId;
|
|
@@ -109,7 +137,7 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
|
|
|
109
137
|
...getTelemetryUserIdentity(),
|
|
110
138
|
event: 'Error',
|
|
111
139
|
properties: {
|
|
112
|
-
|
|
140
|
+
...trackProperties,
|
|
113
141
|
name: mongoshError.name,
|
|
114
142
|
code: mongoshError.code,
|
|
115
143
|
scope: mongoshError.scope,
|
|
@@ -130,7 +158,7 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
|
|
|
130
158
|
...getTelemetryUserIdentity(),
|
|
131
159
|
event: 'Use',
|
|
132
160
|
properties: {
|
|
133
|
-
|
|
161
|
+
...trackProperties,
|
|
134
162
|
},
|
|
135
163
|
});
|
|
136
164
|
});
|
|
@@ -140,7 +168,7 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
|
|
|
140
168
|
...getTelemetryUserIdentity(),
|
|
141
169
|
event: 'Show',
|
|
142
170
|
properties: {
|
|
143
|
-
|
|
171
|
+
...trackProperties,
|
|
144
172
|
method: args.method,
|
|
145
173
|
},
|
|
146
174
|
});
|
|
@@ -164,7 +192,7 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
|
|
|
164
192
|
...getTelemetryUserIdentity(),
|
|
165
193
|
event: hasStartedMongoshRepl ? 'Script Loaded' : 'Script Loaded CLI',
|
|
166
194
|
properties: {
|
|
167
|
-
|
|
195
|
+
...trackProperties,
|
|
168
196
|
nested: args.nested,
|
|
169
197
|
...(hasStartedMongoshRepl ? {} : { shell: usesShellOption }),
|
|
170
198
|
},
|
|
@@ -176,7 +204,7 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
|
|
|
176
204
|
...getTelemetryUserIdentity(),
|
|
177
205
|
event: 'Script Evaluated',
|
|
178
206
|
properties: {
|
|
179
|
-
|
|
207
|
+
...trackProperties,
|
|
180
208
|
shell: usesShellOption,
|
|
181
209
|
},
|
|
182
210
|
});
|
|
@@ -187,7 +215,7 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
|
|
|
187
215
|
...getTelemetryUserIdentity(),
|
|
188
216
|
event: 'Mongoshrc Loaded',
|
|
189
217
|
properties: {
|
|
190
|
-
|
|
218
|
+
...trackProperties,
|
|
191
219
|
},
|
|
192
220
|
});
|
|
193
221
|
});
|
|
@@ -197,7 +225,7 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
|
|
|
197
225
|
...getTelemetryUserIdentity(),
|
|
198
226
|
event: 'Mongorc Warning',
|
|
199
227
|
properties: {
|
|
200
|
-
|
|
228
|
+
...trackProperties,
|
|
201
229
|
},
|
|
202
230
|
});
|
|
203
231
|
});
|
|
@@ -253,7 +281,7 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
|
|
|
253
281
|
...getTelemetryUserIdentity(),
|
|
254
282
|
event: 'Snippet Install',
|
|
255
283
|
properties: {
|
|
256
|
-
|
|
284
|
+
...trackProperties,
|
|
257
285
|
},
|
|
258
286
|
});
|
|
259
287
|
}
|
|
@@ -282,7 +310,7 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
|
|
|
282
310
|
...getTelemetryUserIdentity(),
|
|
283
311
|
event: 'Deprecated Method',
|
|
284
312
|
properties: {
|
|
285
|
-
|
|
313
|
+
...trackProperties,
|
|
286
314
|
...entry,
|
|
287
315
|
},
|
|
288
316
|
});
|
|
@@ -292,7 +320,7 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
|
|
|
292
320
|
...getTelemetryUserIdentity(),
|
|
293
321
|
event: 'API Call',
|
|
294
322
|
properties: {
|
|
295
|
-
|
|
323
|
+
...trackProperties,
|
|
296
324
|
...entry,
|
|
297
325
|
count,
|
|
298
326
|
},
|
|
@@ -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": "2.
|
|
3
|
+
"version": "2.1.1",
|
|
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": ">=14.15.1"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@mongodb-js/devtools-connect": "^2.4.
|
|
21
|
-
"@mongosh/errors": "2.
|
|
22
|
-
"@mongosh/history": "2.
|
|
23
|
-
"@mongosh/types": "2.
|
|
20
|
+
"@mongodb-js/devtools-connect": "^2.4.3",
|
|
21
|
+
"@mongosh/errors": "2.1.1",
|
|
22
|
+
"@mongosh/history": "2.1.1",
|
|
23
|
+
"@mongosh/types": "2.1.1",
|
|
24
24
|
"mongodb-log-writer": "^1.4.0",
|
|
25
25
|
"mongodb-redact": "^0.2.2"
|
|
26
26
|
},
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"mongosh": {
|
|
50
50
|
"unitTestsOnly": true
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "c7e70b65988d21c9020abf2bbd253a94b1d3316c"
|
|
53
53
|
}
|
|
@@ -4,10 +4,16 @@ import fs from 'fs';
|
|
|
4
4
|
import { promisify } from 'util';
|
|
5
5
|
import { expect } from 'chai';
|
|
6
6
|
import type { MongoshAnalytics } from './analytics-helpers';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
ToggleableAnalytics,
|
|
9
|
+
ThrottledAnalytics,
|
|
10
|
+
SampledAnalytics,
|
|
11
|
+
} from './analytics-helpers';
|
|
8
12
|
|
|
9
13
|
const wait = promisify(setTimeout);
|
|
10
14
|
|
|
15
|
+
const timestamp = new Date();
|
|
16
|
+
|
|
11
17
|
describe('analytics helpers', function () {
|
|
12
18
|
let events: any[];
|
|
13
19
|
let target: MongoshAnalytics;
|
|
@@ -32,11 +38,16 @@ describe('analytics helpers', function () {
|
|
|
32
38
|
const toggleable = new ToggleableAnalytics(target);
|
|
33
39
|
expect(events).to.have.lengthOf(0);
|
|
34
40
|
|
|
35
|
-
toggleable.identify({
|
|
41
|
+
toggleable.identify({
|
|
42
|
+
userId: 'me',
|
|
43
|
+
traits: { platform: '1234', session_id: 'abc' },
|
|
44
|
+
timestamp,
|
|
45
|
+
});
|
|
36
46
|
toggleable.track({
|
|
37
47
|
userId: 'me',
|
|
38
48
|
event: 'something',
|
|
39
|
-
properties: { mongosh_version: '1.2.3' },
|
|
49
|
+
properties: { mongosh_version: '1.2.3', session_id: 'abc' },
|
|
50
|
+
timestamp,
|
|
40
51
|
});
|
|
41
52
|
expect(events).to.have.lengthOf(0);
|
|
42
53
|
|
|
@@ -46,7 +57,8 @@ describe('analytics helpers', function () {
|
|
|
46
57
|
toggleable.track({
|
|
47
58
|
userId: 'me',
|
|
48
59
|
event: 'something2',
|
|
49
|
-
properties: { mongosh_version: '1.2.3' },
|
|
60
|
+
properties: { mongosh_version: '1.2.3', session_id: 'abc' },
|
|
61
|
+
timestamp,
|
|
50
62
|
});
|
|
51
63
|
expect(events).to.have.lengthOf(3);
|
|
52
64
|
|
|
@@ -54,7 +66,8 @@ describe('analytics helpers', function () {
|
|
|
54
66
|
toggleable.track({
|
|
55
67
|
userId: 'me',
|
|
56
68
|
event: 'something3',
|
|
57
|
-
properties: { mongosh_version: '1.2.3' },
|
|
69
|
+
properties: { mongosh_version: '1.2.3', session_id: 'abc' },
|
|
70
|
+
timestamp,
|
|
58
71
|
});
|
|
59
72
|
expect(events).to.have.lengthOf(3);
|
|
60
73
|
|
|
@@ -63,13 +76,21 @@ describe('analytics helpers', function () {
|
|
|
63
76
|
toggleable.enable();
|
|
64
77
|
|
|
65
78
|
expect(events).to.deep.equal([
|
|
66
|
-
[
|
|
79
|
+
[
|
|
80
|
+
'identify',
|
|
81
|
+
{
|
|
82
|
+
userId: 'me',
|
|
83
|
+
traits: { platform: '1234', session_id: 'abc' },
|
|
84
|
+
timestamp,
|
|
85
|
+
},
|
|
86
|
+
],
|
|
67
87
|
[
|
|
68
88
|
'track',
|
|
69
89
|
{
|
|
70
90
|
userId: 'me',
|
|
71
91
|
event: 'something',
|
|
72
|
-
properties: { mongosh_version: '1.2.3' },
|
|
92
|
+
properties: { mongosh_version: '1.2.3', session_id: 'abc' },
|
|
93
|
+
timestamp,
|
|
73
94
|
},
|
|
74
95
|
],
|
|
75
96
|
[
|
|
@@ -77,7 +98,8 @@ describe('analytics helpers', function () {
|
|
|
77
98
|
{
|
|
78
99
|
userId: 'me',
|
|
79
100
|
event: 'something2',
|
|
80
|
-
properties: { mongosh_version: '1.2.3' },
|
|
101
|
+
properties: { mongosh_version: '1.2.3', session_id: 'abc' },
|
|
102
|
+
timestamp,
|
|
81
103
|
},
|
|
82
104
|
],
|
|
83
105
|
]);
|
|
@@ -102,16 +124,16 @@ describe('analytics helpers', function () {
|
|
|
102
124
|
describe('ThrottledAnalytics', function () {
|
|
103
125
|
const metadataPath = os.tmpdir();
|
|
104
126
|
const userId = 'u-' + Date.now();
|
|
105
|
-
const iEvt = { userId, traits: { platform: 'what' } };
|
|
127
|
+
const iEvt = { userId, traits: { platform: 'what', session_id: 'abc' } };
|
|
106
128
|
const tEvt = {
|
|
107
129
|
userId,
|
|
108
130
|
event: 'hi',
|
|
109
|
-
properties: { mongosh_version: '1.2.3' },
|
|
131
|
+
properties: { mongosh_version: '1.2.3', session_id: 'abc' },
|
|
110
132
|
};
|
|
111
133
|
const t2Evt = {
|
|
112
134
|
userId,
|
|
113
135
|
event: 'bye',
|
|
114
|
-
properties: { mongosh_version: '1.2.3' },
|
|
136
|
+
properties: { mongosh_version: '1.2.3', session_id: 'abc' },
|
|
115
137
|
};
|
|
116
138
|
|
|
117
139
|
afterEach(async function () {
|
|
@@ -227,4 +249,42 @@ describe('analytics helpers', function () {
|
|
|
227
249
|
).to.match(/^(hi,hi,hi|bye,bye,bye)$/);
|
|
228
250
|
});
|
|
229
251
|
});
|
|
252
|
+
|
|
253
|
+
describe('SampledAnalytics', function () {
|
|
254
|
+
const userId = `u-${Date.now()}`;
|
|
255
|
+
const iEvt = { userId, traits: { platform: 'what', session_id: 'abc' } };
|
|
256
|
+
const tEvt = {
|
|
257
|
+
userId,
|
|
258
|
+
event: 'hi',
|
|
259
|
+
properties: { mongosh_version: '1.2.3', session_id: 'abc' },
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
it('should send the event forward when sampled', function () {
|
|
263
|
+
const analytics = new SampledAnalytics({
|
|
264
|
+
target,
|
|
265
|
+
sampling: () => true,
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
expect(analytics.enabled).to.be.true;
|
|
269
|
+
|
|
270
|
+
analytics.identify(iEvt);
|
|
271
|
+
analytics.track(tEvt);
|
|
272
|
+
|
|
273
|
+
expect(events.length).to.equal(2);
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
it('should not send the event forward when not sampled', function () {
|
|
277
|
+
const analytics = new SampledAnalytics({
|
|
278
|
+
target,
|
|
279
|
+
sampling: () => false,
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
expect(analytics.enabled).to.be.false;
|
|
283
|
+
|
|
284
|
+
analytics.identify(iEvt);
|
|
285
|
+
analytics.track(tEvt);
|
|
286
|
+
|
|
287
|
+
expect(events.length).to.equal(0);
|
|
288
|
+
});
|
|
289
|
+
});
|
|
230
290
|
});
|
package/src/analytics-helpers.ts
CHANGED
|
@@ -12,15 +12,18 @@ export type MongoshAnalyticsIdentity =
|
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
type AnalyticsIdentifyMessage = MongoshAnalyticsIdentity & {
|
|
15
|
-
traits: { platform: string };
|
|
15
|
+
traits: { platform: string; session_id: string };
|
|
16
|
+
timestamp?: Date;
|
|
16
17
|
};
|
|
17
18
|
|
|
18
19
|
type AnalyticsTrackMessage = MongoshAnalyticsIdentity & {
|
|
19
20
|
event: string;
|
|
20
21
|
properties: {
|
|
21
22
|
mongosh_version: string;
|
|
23
|
+
session_id: string;
|
|
22
24
|
[key: string]: any;
|
|
23
25
|
};
|
|
26
|
+
timestamp?: Date;
|
|
24
27
|
};
|
|
25
28
|
|
|
26
29
|
/**
|
|
@@ -90,6 +93,12 @@ type AnalyticsEventsQueueItem =
|
|
|
90
93
|
| ['identify', Parameters<MongoshAnalytics['identify']>]
|
|
91
94
|
| ['track', Parameters<MongoshAnalytics['track']>];
|
|
92
95
|
|
|
96
|
+
function addTimestamp<T extends { timestamp?: Date }>(
|
|
97
|
+
message: T
|
|
98
|
+
): T & { timestamp: Date } {
|
|
99
|
+
return { ...message, timestamp: message.timestamp ?? new Date() };
|
|
100
|
+
}
|
|
101
|
+
|
|
93
102
|
/**
|
|
94
103
|
* An implementation of MongoshAnalytics that forwards to another implementation
|
|
95
104
|
* and can be enabled/paused/disabled.
|
|
@@ -112,12 +121,12 @@ export class ToggleableAnalytics implements MongoshAnalytics {
|
|
|
112
121
|
|
|
113
122
|
identify(...args: Parameters<MongoshAnalytics['identify']>): void {
|
|
114
123
|
this._validateArgs(args);
|
|
115
|
-
this._queue.push(['identify', args]);
|
|
124
|
+
this._queue.push(['identify', [addTimestamp(args[0])]]);
|
|
116
125
|
}
|
|
117
126
|
|
|
118
127
|
track(...args: Parameters<MongoshAnalytics['track']>): void {
|
|
119
128
|
this._validateArgs(args);
|
|
120
|
-
this._queue.push(['track', args]);
|
|
129
|
+
this._queue.push(['track', [addTimestamp(args[0])]]);
|
|
121
130
|
}
|
|
122
131
|
|
|
123
132
|
enable() {
|
|
@@ -262,6 +271,7 @@ export class ThrottledAnalytics implements MongoshAnalytics {
|
|
|
262
271
|
}
|
|
263
272
|
|
|
264
273
|
identify(message: AnalyticsIdentifyMessage): void {
|
|
274
|
+
message = addTimestamp(message);
|
|
265
275
|
if (this.currentUserId) {
|
|
266
276
|
throw new Error('Identify can only be called once per user session');
|
|
267
277
|
}
|
|
@@ -280,7 +290,7 @@ export class ThrottledAnalytics implements MongoshAnalytics {
|
|
|
280
290
|
}
|
|
281
291
|
|
|
282
292
|
track(message: AnalyticsTrackMessage): void {
|
|
283
|
-
this.trackQueue.push(message);
|
|
293
|
+
this.trackQueue.push(addTimestamp(message));
|
|
284
294
|
}
|
|
285
295
|
|
|
286
296
|
// Tries to restore persisted throttle state and returns `true` if telemetry can
|
|
@@ -368,3 +378,34 @@ export class ThrottledAnalytics implements MongoshAnalytics {
|
|
|
368
378
|
});
|
|
369
379
|
}
|
|
370
380
|
}
|
|
381
|
+
|
|
382
|
+
type SampledAnalyticsOptions = {
|
|
383
|
+
target?: MongoshAnalytics;
|
|
384
|
+
sampling: () => boolean;
|
|
385
|
+
};
|
|
386
|
+
|
|
387
|
+
export class SampledAnalytics implements MongoshAnalytics {
|
|
388
|
+
private isEnabled: boolean;
|
|
389
|
+
private target: MongoshAnalytics;
|
|
390
|
+
|
|
391
|
+
constructor(configuration: SampledAnalyticsOptions) {
|
|
392
|
+
this.isEnabled = configuration.sampling();
|
|
393
|
+
this.target = configuration.target || new NoopAnalytics();
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
get enabled(): boolean {
|
|
397
|
+
return this.isEnabled;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
identify(message: AnalyticsIdentifyMessage): void {
|
|
401
|
+
this.isEnabled && this.target.identify(message);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
track(message: AnalyticsTrackMessage): void {
|
|
405
|
+
this.isEnabled && this.target.track(message);
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
flush(callback: (err?: Error | undefined) => void): void {
|
|
409
|
+
this.target.flush(callback);
|
|
410
|
+
}
|
|
411
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -4,6 +4,29 @@ import { setupLoggerAndTelemetry } from './';
|
|
|
4
4
|
import { EventEmitter } from 'events';
|
|
5
5
|
import { MongoshInvalidInputError } from '@mongosh/errors';
|
|
6
6
|
import type { MongoshBus } from '@mongosh/types';
|
|
7
|
+
import { toSnakeCase } from './setup-logger-and-telemetry';
|
|
8
|
+
|
|
9
|
+
describe('toSnakeCase', function () {
|
|
10
|
+
const useCases = [
|
|
11
|
+
{ input: 'MongoDB REPL', output: 'mongo_db_repl' },
|
|
12
|
+
{
|
|
13
|
+
input: 'Node.js REPL Instantiation',
|
|
14
|
+
output: 'node_js_repl_instantiation',
|
|
15
|
+
},
|
|
16
|
+
{ input: 'A', output: 'a' },
|
|
17
|
+
{
|
|
18
|
+
input: 'OneLongThingInPascalCase',
|
|
19
|
+
output: 'one_long_thing_in_pascal_case',
|
|
20
|
+
},
|
|
21
|
+
{ input: 'Removes .Dots in Node.js', output: 'removes_dots_in_node_js' },
|
|
22
|
+
];
|
|
23
|
+
|
|
24
|
+
for (const { input, output } of useCases) {
|
|
25
|
+
it(`should convert ${input} to ${output}`, function () {
|
|
26
|
+
expect(toSnakeCase(input)).to.equal(output);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
});
|
|
7
30
|
|
|
8
31
|
describe('setupLoggerAndTelemetry', function () {
|
|
9
32
|
let logOutput: any[];
|
|
@@ -60,6 +83,14 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
60
83
|
is_atlas: false,
|
|
61
84
|
node_version: 'v12.19.0',
|
|
62
85
|
} as any);
|
|
86
|
+
bus.emit('mongosh:start-session', {
|
|
87
|
+
isInteractive: true,
|
|
88
|
+
timings: {
|
|
89
|
+
'BoxedNode Bindings': 50,
|
|
90
|
+
NodeREPL: 100,
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
|
|
63
94
|
bus.emit(
|
|
64
95
|
'mongosh:error',
|
|
65
96
|
new MongoshInvalidInputError('meow', 'CLIREPL-1005', { cause: 'x' }),
|
|
@@ -351,6 +382,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
351
382
|
traits: {
|
|
352
383
|
platform: process.platform,
|
|
353
384
|
arch: process.arch,
|
|
385
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
354
386
|
},
|
|
355
387
|
},
|
|
356
388
|
],
|
|
@@ -361,6 +393,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
361
393
|
traits: {
|
|
362
394
|
platform: process.platform,
|
|
363
395
|
arch: process.arch,
|
|
396
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
364
397
|
},
|
|
365
398
|
},
|
|
366
399
|
],
|
|
@@ -378,6 +411,20 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
378
411
|
},
|
|
379
412
|
},
|
|
380
413
|
],
|
|
414
|
+
[
|
|
415
|
+
'track',
|
|
416
|
+
{
|
|
417
|
+
anonymousId: '53defe995fa47e6c13102d9d',
|
|
418
|
+
event: 'Startup Time',
|
|
419
|
+
properties: {
|
|
420
|
+
is_interactive: true,
|
|
421
|
+
boxed_node_bindings: 50,
|
|
422
|
+
node_repl: 100,
|
|
423
|
+
mongosh_version: '1.0.0',
|
|
424
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
425
|
+
},
|
|
426
|
+
},
|
|
427
|
+
],
|
|
381
428
|
[
|
|
382
429
|
'track',
|
|
383
430
|
{
|
|
@@ -385,6 +432,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
385
432
|
event: 'Error',
|
|
386
433
|
properties: {
|
|
387
434
|
mongosh_version: '1.0.0',
|
|
435
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
388
436
|
name: 'MongoshInvalidInputError',
|
|
389
437
|
code: 'CLIREPL-1005',
|
|
390
438
|
scope: 'CLIREPL',
|
|
@@ -399,6 +447,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
399
447
|
event: 'Error',
|
|
400
448
|
properties: {
|
|
401
449
|
mongosh_version: '1.0.0',
|
|
450
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
402
451
|
name: 'MongoshInvalidInputError',
|
|
403
452
|
code: 'CLIREPL-1005',
|
|
404
453
|
scope: 'CLIREPL',
|
|
@@ -411,7 +460,10 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
411
460
|
{
|
|
412
461
|
anonymousId: '53defe995fa47e6c13102d9d',
|
|
413
462
|
event: 'Use',
|
|
414
|
-
properties: {
|
|
463
|
+
properties: {
|
|
464
|
+
mongosh_version: '1.0.0',
|
|
465
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
466
|
+
},
|
|
415
467
|
},
|
|
416
468
|
],
|
|
417
469
|
[
|
|
@@ -421,6 +473,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
421
473
|
event: 'Show',
|
|
422
474
|
properties: {
|
|
423
475
|
mongosh_version: '1.0.0',
|
|
476
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
424
477
|
method: 'dbs',
|
|
425
478
|
},
|
|
426
479
|
},
|
|
@@ -431,6 +484,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
431
484
|
event: 'Script Loaded CLI',
|
|
432
485
|
properties: {
|
|
433
486
|
mongosh_version: '1.0.0',
|
|
487
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
434
488
|
nested: true,
|
|
435
489
|
shell: true,
|
|
436
490
|
},
|
|
@@ -443,6 +497,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
443
497
|
event: 'Script Loaded',
|
|
444
498
|
properties: {
|
|
445
499
|
mongosh_version: '1.0.0',
|
|
500
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
446
501
|
nested: false,
|
|
447
502
|
},
|
|
448
503
|
anonymousId: '53defe995fa47e6c13102d9d',
|
|
@@ -454,6 +509,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
454
509
|
event: 'Mongoshrc Loaded',
|
|
455
510
|
properties: {
|
|
456
511
|
mongosh_version: '1.0.0',
|
|
512
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
457
513
|
},
|
|
458
514
|
anonymousId: '53defe995fa47e6c13102d9d',
|
|
459
515
|
},
|
|
@@ -464,6 +520,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
464
520
|
event: 'Mongorc Warning',
|
|
465
521
|
properties: {
|
|
466
522
|
mongosh_version: '1.0.0',
|
|
523
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
467
524
|
},
|
|
468
525
|
anonymousId: '53defe995fa47e6c13102d9d',
|
|
469
526
|
},
|
|
@@ -474,6 +531,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
474
531
|
event: 'Script Evaluated',
|
|
475
532
|
properties: {
|
|
476
533
|
mongosh_version: '1.0.0',
|
|
534
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
477
535
|
shell: true,
|
|
478
536
|
},
|
|
479
537
|
anonymousId: '53defe995fa47e6c13102d9d',
|
|
@@ -486,6 +544,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
486
544
|
event: 'Snippet Install',
|
|
487
545
|
properties: {
|
|
488
546
|
mongosh_version: '1.0.0',
|
|
547
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
489
548
|
},
|
|
490
549
|
},
|
|
491
550
|
],
|
|
@@ -575,6 +634,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
575
634
|
event: 'Deprecated Method',
|
|
576
635
|
properties: {
|
|
577
636
|
mongosh_version: '1.0.0',
|
|
637
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
578
638
|
class: 'Database',
|
|
579
639
|
method: 'cloneDatabase',
|
|
580
640
|
},
|
|
@@ -587,6 +647,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
587
647
|
event: 'Deprecated Method',
|
|
588
648
|
properties: {
|
|
589
649
|
mongosh_version: '1.0.0',
|
|
650
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
590
651
|
class: 'Database',
|
|
591
652
|
method: 'copyDatabase',
|
|
592
653
|
},
|
|
@@ -599,6 +660,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
599
660
|
event: 'Deprecated Method',
|
|
600
661
|
properties: {
|
|
601
662
|
mongosh_version: '1.0.0',
|
|
663
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
602
664
|
class: 'Database',
|
|
603
665
|
method: 'mangleDatabase',
|
|
604
666
|
},
|
|
@@ -611,6 +673,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
611
673
|
event: 'API Call',
|
|
612
674
|
properties: {
|
|
613
675
|
mongosh_version: '1.0.0',
|
|
676
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
614
677
|
class: 'Database',
|
|
615
678
|
method: 'cloneDatabase',
|
|
616
679
|
count: 3,
|
|
@@ -624,6 +687,7 @@ describe('setupLoggerAndTelemetry', function () {
|
|
|
624
687
|
event: 'API Call',
|
|
625
688
|
properties: {
|
|
626
689
|
mongosh_version: '1.0.0',
|
|
690
|
+
session_id: '5fb3c20ee1507e894e5340f3',
|
|
627
691
|
class: 'Database',
|
|
628
692
|
method: 'copyDatabase',
|
|
629
693
|
count: 1,
|
|
@@ -30,6 +30,7 @@ import type {
|
|
|
30
30
|
EditorReadVscodeExtensionsFailedEvent,
|
|
31
31
|
FetchingUpdateMetadataEvent,
|
|
32
32
|
FetchingUpdateMetadataCompleteEvent,
|
|
33
|
+
SessionStartedEvent,
|
|
33
34
|
} from '@mongosh/types';
|
|
34
35
|
import { inspect } from 'util';
|
|
35
36
|
import type { MongoLogWriter } from 'mongodb-log-writer';
|
|
@@ -58,6 +59,33 @@ class MultiSet<T extends Record<string, any>> {
|
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
|
|
62
|
+
/**
|
|
63
|
+
* It transforms a random string into snake case. Snake case is completely
|
|
64
|
+
* lowercase and uses '_' to separate words. For example:
|
|
65
|
+
*
|
|
66
|
+
* This function defines a "word" as a sequence of characters until the next `.` or capital letter.
|
|
67
|
+
*
|
|
68
|
+
* 'Random String' => 'random_string'
|
|
69
|
+
*
|
|
70
|
+
* It will also remove any non alphanumeric characters to ensure the string
|
|
71
|
+
* is compatible with Segment. For example:
|
|
72
|
+
*
|
|
73
|
+
* 'Node.js REPL Instantiation' => 'node_js_repl_instantiation'
|
|
74
|
+
*
|
|
75
|
+
* @param str Any non snake-case formatted string
|
|
76
|
+
* @returns The snake-case formatted string
|
|
77
|
+
*/
|
|
78
|
+
export function toSnakeCase(str: string): string {
|
|
79
|
+
const matches = str.match(
|
|
80
|
+
/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g
|
|
81
|
+
);
|
|
82
|
+
if (!matches) {
|
|
83
|
+
return str;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return matches.map((x) => x.toLowerCase()).join('_');
|
|
87
|
+
}
|
|
88
|
+
|
|
61
89
|
/**
|
|
62
90
|
* Connect a MongoshBus instance that emits events to logging and analytics providers.
|
|
63
91
|
*
|
|
@@ -72,10 +100,17 @@ export function setupLoggerAndTelemetry(
|
|
|
72
100
|
userTraits: any,
|
|
73
101
|
mongosh_version: string
|
|
74
102
|
): void {
|
|
75
|
-
const { logId } = log;
|
|
103
|
+
const { logId: session_id } = log;
|
|
76
104
|
let userId: string;
|
|
77
105
|
let telemetryAnonymousId: string;
|
|
78
106
|
|
|
107
|
+
userTraits = { ...userTraits, session_id };
|
|
108
|
+
|
|
109
|
+
const trackProperties = {
|
|
110
|
+
mongosh_version,
|
|
111
|
+
session_id,
|
|
112
|
+
};
|
|
113
|
+
|
|
79
114
|
const getTelemetryUserIdentity = () => {
|
|
80
115
|
if (telemetryAnonymousId) {
|
|
81
116
|
return {
|
|
@@ -115,7 +150,7 @@ export function setupLoggerAndTelemetry(
|
|
|
115
150
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
116
151
|
const { uri: _uri, ...argsWithoutUri } = args;
|
|
117
152
|
const params = {
|
|
118
|
-
session_id
|
|
153
|
+
session_id,
|
|
119
154
|
userId,
|
|
120
155
|
telemetryAnonymousId,
|
|
121
156
|
connectionUri,
|
|
@@ -133,13 +168,32 @@ export function setupLoggerAndTelemetry(
|
|
|
133
168
|
...getTelemetryUserIdentity(),
|
|
134
169
|
event: 'New Connection',
|
|
135
170
|
properties: {
|
|
136
|
-
|
|
137
|
-
session_id: logId,
|
|
171
|
+
...trackProperties,
|
|
138
172
|
...argsWithoutUri,
|
|
139
173
|
},
|
|
140
174
|
});
|
|
141
175
|
});
|
|
142
176
|
|
|
177
|
+
bus.on('mongosh:start-session', function (args: SessionStartedEvent) {
|
|
178
|
+
const normalisedTimingsArray = Object.entries(args.timings).map(
|
|
179
|
+
([key, duration]) => {
|
|
180
|
+
const snakeCaseKey = toSnakeCase(key);
|
|
181
|
+
return [snakeCaseKey, duration];
|
|
182
|
+
}
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
const normalisedTimings = Object.fromEntries(normalisedTimingsArray);
|
|
186
|
+
analytics.track({
|
|
187
|
+
...getTelemetryUserIdentity(),
|
|
188
|
+
event: 'Startup Time',
|
|
189
|
+
properties: {
|
|
190
|
+
...trackProperties,
|
|
191
|
+
is_interactive: args.isInteractive,
|
|
192
|
+
...normalisedTimings,
|
|
193
|
+
},
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
|
|
143
197
|
bus.on(
|
|
144
198
|
'mongosh:new-user',
|
|
145
199
|
function (newTelemetryUserIdentity: {
|
|
@@ -212,7 +266,7 @@ export function setupLoggerAndTelemetry(
|
|
|
212
266
|
...getTelemetryUserIdentity(),
|
|
213
267
|
event: 'Error',
|
|
214
268
|
properties: {
|
|
215
|
-
|
|
269
|
+
...trackProperties,
|
|
216
270
|
name: mongoshError.name,
|
|
217
271
|
code: mongoshError.code,
|
|
218
272
|
scope: mongoshError.scope,
|
|
@@ -258,7 +312,7 @@ export function setupLoggerAndTelemetry(
|
|
|
258
312
|
...getTelemetryUserIdentity(),
|
|
259
313
|
event: 'Use',
|
|
260
314
|
properties: {
|
|
261
|
-
|
|
315
|
+
...trackProperties,
|
|
262
316
|
},
|
|
263
317
|
});
|
|
264
318
|
});
|
|
@@ -276,7 +330,7 @@ export function setupLoggerAndTelemetry(
|
|
|
276
330
|
...getTelemetryUserIdentity(),
|
|
277
331
|
event: 'Show',
|
|
278
332
|
properties: {
|
|
279
|
-
|
|
333
|
+
...trackProperties,
|
|
280
334
|
method: args.method,
|
|
281
335
|
},
|
|
282
336
|
});
|
|
@@ -325,7 +379,7 @@ export function setupLoggerAndTelemetry(
|
|
|
325
379
|
...getTelemetryUserIdentity(),
|
|
326
380
|
event: hasStartedMongoshRepl ? 'Script Loaded' : 'Script Loaded CLI',
|
|
327
381
|
properties: {
|
|
328
|
-
|
|
382
|
+
...trackProperties,
|
|
329
383
|
nested: args.nested,
|
|
330
384
|
...(hasStartedMongoshRepl ? {} : { shell: usesShellOption }),
|
|
331
385
|
},
|
|
@@ -344,7 +398,7 @@ export function setupLoggerAndTelemetry(
|
|
|
344
398
|
...getTelemetryUserIdentity(),
|
|
345
399
|
event: 'Script Evaluated',
|
|
346
400
|
properties: {
|
|
347
|
-
|
|
401
|
+
...trackProperties,
|
|
348
402
|
shell: usesShellOption,
|
|
349
403
|
},
|
|
350
404
|
});
|
|
@@ -362,7 +416,7 @@ export function setupLoggerAndTelemetry(
|
|
|
362
416
|
...getTelemetryUserIdentity(),
|
|
363
417
|
event: 'Mongoshrc Loaded',
|
|
364
418
|
properties: {
|
|
365
|
-
|
|
419
|
+
...trackProperties,
|
|
366
420
|
},
|
|
367
421
|
});
|
|
368
422
|
});
|
|
@@ -379,7 +433,7 @@ export function setupLoggerAndTelemetry(
|
|
|
379
433
|
...getTelemetryUserIdentity(),
|
|
380
434
|
event: 'Mongorc Warning',
|
|
381
435
|
properties: {
|
|
382
|
-
|
|
436
|
+
...trackProperties,
|
|
383
437
|
},
|
|
384
438
|
});
|
|
385
439
|
});
|
|
@@ -564,7 +618,7 @@ export function setupLoggerAndTelemetry(
|
|
|
564
618
|
...getTelemetryUserIdentity(),
|
|
565
619
|
event: 'Snippet Install',
|
|
566
620
|
properties: {
|
|
567
|
-
|
|
621
|
+
...trackProperties,
|
|
568
622
|
},
|
|
569
623
|
});
|
|
570
624
|
}
|
|
@@ -616,7 +670,7 @@ export function setupLoggerAndTelemetry(
|
|
|
616
670
|
...getTelemetryUserIdentity(),
|
|
617
671
|
event: 'Deprecated Method',
|
|
618
672
|
properties: {
|
|
619
|
-
|
|
673
|
+
...trackProperties,
|
|
620
674
|
...entry,
|
|
621
675
|
},
|
|
622
676
|
});
|
|
@@ -626,7 +680,7 @@ export function setupLoggerAndTelemetry(
|
|
|
626
680
|
...getTelemetryUserIdentity(),
|
|
627
681
|
event: 'API Call',
|
|
628
682
|
properties: {
|
|
629
|
-
|
|
683
|
+
...trackProperties,
|
|
630
684
|
...entry,
|
|
631
685
|
count,
|
|
632
686
|
},
|