@mongosh/logging 2.1.0 → 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AUTHORS CHANGED
@@ -5,3 +5,4 @@ Sergey Petushkov <petushkov.sergey@gmail.com>
5
5
  Leonardo Rossi <leonardo.rossi@gmail.com>
6
6
  Le Roux Bodenstein <lerouxb@gmail.com>
7
7
  Martin Rodriguez Reboredo <yakoyoku@gmail.com>
8
+ Kevin Mas Ruiz <kevin.mas@hey.com>
@@ -81,4 +81,17 @@ export declare class ThrottledAnalytics implements MongoshAnalytics {
81
81
  private shouldEmitAnalyticsEvent;
82
82
  flush(callback: (err?: Error | undefined) => void): void;
83
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
+ }
84
97
  export {};
@@ -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 {
@@ -250,4 +250,23 @@ class ThrottledAnalytics {
250
250
  }
251
251
  }
252
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;
253
272
  //# sourceMappingURL=analytics-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-helpers.js","sourceRoot":"","sources":["../src/analytics-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics-helpers.js","sourceRoot":"","sources":["../src/analytics-helpers.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAwCxB,MAAM,KAAK;IAGT,YAAoB,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;QAFrC,UAAK,GAAQ,EAAE,CAAC;QAChB,UAAK,GAAsC,QAAQ,CAAC;IACZ,CAAC;IACjD,IAAI,CAAC,GAAM;QACT,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,KAAK,SAAS;gBACZ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO;YACT,KAAK,UAAU,CAAC;YAChB;gBACE,OAAO;QACX,CAAC;IACH,CAAC;IACD,MAAM;QACJ,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACxB,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAOD,MAAa,aAAa;IACxB,QAAQ,KAAU,CAAC;IACnB,KAAK,KAAU,CAAC;IAChB,KAAK,CAAC,EAAc;QAClB,EAAE,EAAE,CAAC;IACP,CAAC;CACF;AAND,sCAMC;AAMD,SAAS,YAAY,CACnB,OAAU;;IAEV,OAAO,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,IAAI,EAAE,EAAE,CAAC;AACpE,CAAC;AAMD,MAAa,mBAAmB;IAY9B,YAAY,SAA2B,IAAI,aAAa,EAAE;QAX1D,WAAM,GAAG,IAAI,KAAK,CAA2B,CAAC,IAAI,EAAE,EAAE;YACpD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;QAKD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,GAAG,IAA8C;QACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,GAAG,IAA2C;QAClD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,aAAa,CAAC,CAAC,QAAQ,CAA6B;;QAQlD,IACE,CAAC,CAAC,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC;YAC1C,CAAC,CAAC,aAAa,IAAI,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,EACpD,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAC1E,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC/B,KAAK,SAAS;oBACZ,MAAM,GAAG,CAAC;gBACZ,KAAK,QAAQ;oBACX,MAAA,IAAI,CAAC,aAAa,oCAAlB,IAAI,CAAC,aAAa,GAAK,GAAG,EAAC;oBAC3B,MAAM;gBACR;oBACE,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAA2C;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;CACF;AAtED,kDAsEC;AAmBD,KAAK,UAAU,QAAQ,CACrB,QAAgB,EAChB,aAAa,GAAG,QAAU;;IAE1B,IAAI,UAA0C,CAAC;IAC/C,MAAM,YAAY,GAAG,GAAG,QAAQ,OAAO,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/C,CAAC;QAAC,WAAM,CAAC;QAET,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAItC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,YAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC7D,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;QACtB,MAAA,UAAU,CAAC,KAAK,0DAAI,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAK,CAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAGnD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC;YAC/C,MAAM,YAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACtC,OAAO,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,iBAAiB,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,MAAa,kBAAkB;IAc7B,YAAY,EAAE,MAAM,EAAE,QAAQ,KAAyC,EAAE;QAbjE,eAAU,GAAG,IAAI,KAAK,CAAwB,CAAC,OAAO,EAAE,EAAE;YAChE,IAAI,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;QACK,WAAM,GAAwC,IAAI,aAAa,EAAE,CAAC;QAClE,kBAAa,GAAkB,IAAI,CAAC;QACpC,oBAAe,GAA0C,IAAI,CAAC;QAC9D,kBAAa,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACpD,mBAAc,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;QAClD,WAAM,GAAwB,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAG5D,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAI,CAAC,eAAe,CAAC;IAC1D,CAAC;IAED,IAAI,YAAY;QACd,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,EACJ,eAAe,EAAE,EAAE,YAAY,EAAE,EACjC,aAAa,EAAE,MAAM,GACtB,GAAG,IAAI,CAAC;QAET,OAAO,cAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,MAAM,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ,CAAC,OAAiC;;QACxC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,OAAO,CAAC,WAAW,CAAC;QAC3D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACjE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC1B,OAAO;YACT,CAAC;YACD,IAAI,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC9B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAA8B;QAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;IAMO,KAAK,CAAC,oBAAoB;QAChC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,MAAM,QAAQ,CAC1B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAC3C,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAGX,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAC7B,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CACtD,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAK,CAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAIjC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,wBAAwB;;QAE9B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IACE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS;YACzC,CAAC,MAAA,IAAI,CAAC,eAAe,CAAC,SAAS,mCAAI,KAAM,CAAC,EAC1C,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,QAA2C;QAC/C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,QAAQ,CACN,IAAI,KAAK,CAAC,uDAAuD,CAAC,CACnE,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC;gBACH,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CACnC,CAAC;gBACF,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAQ,CAAC,CAAU,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAjJD,gDAiJC;AAOD,MAAa,gBAAgB;IAI3B,YAAY,aAAsC;QAChD,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,QAAQ,CAAC,OAAiC;QACxC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAA8B;QAClC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,QAA2C;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;CACF;AAxBD,4CAwBC"}
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,yDAK6B;AAH3B,wHAAA,mBAAmB,OAAA;AACnB,kHAAA,aAAa,OAAA;AACb,uHAAA,kBAAkB,OAAA"}
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,6 +26,14 @@ 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
38
  const { logId: session_id } = log;
31
39
  let userId;
@@ -73,6 +81,22 @@ function setupLoggerAndTelemetry(bus, log, analytics, userTraits, mongosh_versio
73
81
  },
74
82
  });
75
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
+ });
76
100
  bus.on('mongosh:new-user', function (newTelemetryUserIdentity) {
77
101
  if (!newTelemetryUserIdentity.anonymousId) {
78
102
  userId = newTelemetryUserIdentity.userId;
@@ -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.1.0",
3
+ "version": "2.1.3",
4
4
  "description": "MongoDB Shell Logging Utilities Package",
5
5
  "homepage": "https://github.com/mongodb-js/mongosh",
6
6
  "license": "Apache-2.0",
@@ -18,9 +18,9 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@mongodb-js/devtools-connect": "^2.4.3",
21
- "@mongosh/errors": "2.1.0",
22
- "@mongosh/history": "2.1.0",
23
- "@mongosh/types": "2.1.0",
21
+ "@mongosh/errors": "2.1.3",
22
+ "@mongosh/history": "2.1.3",
23
+ "@mongosh/types": "2.1.3",
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": "963c75bc45834b1bf69e62bf5b72c4ae8ef26cb4"
52
+ "gitHead": "9ebc147d83037e9217dcd788f8092ae73010c9d6"
53
53
  }
@@ -4,7 +4,11 @@ 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 { ToggleableAnalytics, ThrottledAnalytics } from './analytics-helpers';
7
+ import {
8
+ ToggleableAnalytics,
9
+ ThrottledAnalytics,
10
+ SampledAnalytics,
11
+ } from './analytics-helpers';
8
12
 
9
13
  const wait = promisify(setTimeout);
10
14
 
@@ -245,4 +249,42 @@ describe('analytics helpers', function () {
245
249
  ).to.match(/^(hi,hi,hi|bye,bye,bye)$/);
246
250
  });
247
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
+ });
248
290
  });
@@ -378,3 +378,34 @@ export class ThrottledAnalytics implements MongoshAnalytics {
378
378
  });
379
379
  }
380
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
@@ -2,6 +2,7 @@ export { setupLoggerAndTelemetry } from './setup-logger-and-telemetry';
2
2
  export {
3
3
  MongoshAnalytics,
4
4
  ToggleableAnalytics,
5
+ SampledAnalytics,
5
6
  NoopAnalytics,
6
7
  ThrottledAnalytics,
7
8
  } from './analytics-helpers';
@@ -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' }),
@@ -380,6 +411,20 @@ describe('setupLoggerAndTelemetry', function () {
380
411
  },
381
412
  },
382
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
+ ],
383
428
  [
384
429
  'track',
385
430
  {
@@ -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
  *
@@ -146,6 +174,26 @@ export function setupLoggerAndTelemetry(
146
174
  });
147
175
  });
148
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
+
149
197
  bus.on(
150
198
  'mongosh:new-user',
151
199
  function (newTelemetryUserIdentity: {