unleash-server 5.6.3 → 5.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"last-seen-store.d.ts","sourceRoot":"","sources":["../../../../../src/lib/services/client-metrics/last-seen/last-seen-store.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,WAAW,EAAU,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAI9D,MAAM,WAAW,aAAa;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,cAAc;IACxD,OAAO,CAAC,EAAE,CAAK;IAEf,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,KAAK,CAAW;gBAEZ,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW;IAU5D,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjD,aAAa;CAKtB"}
1
+ {"version":3,"file":"last-seen-store.d.ts","sourceRoot":"","sources":["../../../../../src/lib/services/client-metrics/last-seen/last-seen-store.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,WAAW,EAAU,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAI9D,MAAM,WAAW,aAAa;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAsBD,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,cAAc;IACxD,OAAO,CAAC,EAAE,CAAK;IAEf,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,KAAK,CAAW;gBAEZ,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW;IAU5D,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjD,aAAa;CAKtB"}
@@ -6,6 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const metric_events_1 = require("../../../metric-events");
7
7
  const metrics_helper_1 = __importDefault(require("../../..//util/metrics-helper"));
8
8
  const TABLE = 'last_seen_at_metrics';
9
+ const prepareLastSeenInput = (data) => {
10
+ const now = new Date();
11
+ const sortedData = data.sort((a, b) => a.featureName.localeCompare(b.featureName) ||
12
+ a.environment.localeCompare(b.environment));
13
+ const inserts = sortedData.map((item) => {
14
+ return {
15
+ feature_name: item.featureName,
16
+ environment: item.environment,
17
+ last_seen_at: now,
18
+ };
19
+ });
20
+ return inserts;
21
+ };
9
22
  class LastSeenStore {
10
23
  constructor(db, eventBus, getLogger) {
11
24
  this.db = db;
@@ -16,16 +29,9 @@ class LastSeenStore {
16
29
  });
17
30
  }
18
31
  async setLastSeen(data) {
19
- const now = new Date();
20
32
  try {
21
- const inserts = data.map((item) => {
22
- return {
23
- feature_name: item.featureName,
24
- environment: item.environment,
25
- last_seen_at: now,
26
- };
27
- });
28
- const batchSize = 1000;
33
+ const inserts = prepareLastSeenInput(data);
34
+ const batchSize = 500;
29
35
  for (let i = 0; i < inserts.length; i += batchSize) {
30
36
  const batch = inserts.slice(i, i + batchSize);
31
37
  // Knex optimizes multi row insert when given an array:
@@ -1 +1 @@
1
- {"version":3,"file":"last-seen-store.js","sourceRoot":"","sources":["../../../../../src/lib/services/client-metrics/last-seen/last-seen-store.ts"],"names":[],"mappings":";;;;;AAEA,0DAAiD;AAEjD,mFAA0D;AAI1D,MAAM,KAAK,GAAG,sBAAsB,CAAC;AAQrC,MAAqB,aAAa;IAO9B,YAAY,EAAM,EAAE,QAAsB,EAAE,SAAsB;QAC9D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,EAAE,CACpB,wBAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,uBAAO,EAAE;YACvC,KAAK,EAAE,6BAA6B;YACpC,MAAM;SACT,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAqB;QACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,IAAI;YACA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC9B,OAAO;oBACH,YAAY,EAAE,IAAI,CAAC,WAAW;oBAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,GAAG;iBACpB,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC;YAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;gBAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAC9C,uDAAuD;gBACvD,qDAAqD;gBACrD,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;qBACf,MAAM,CAAC,KAAK,CAAC;qBACb,UAAU,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;qBAC3C,KAAK,EAAE,CAAC;aAChB;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;SAChE;IACL,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;aACf,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACnE,GAAG,EAAE,CAAC;IACf,CAAC;CACJ;AAlDD,gCAkDC;AAED,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"last-seen-store.js","sourceRoot":"","sources":["../../../../../src/lib/services/client-metrics/last-seen/last-seen-store.ts"],"names":[],"mappings":";;;;;AAEA,0DAAiD;AAEjD,mFAA0D;AAI1D,MAAM,KAAK,GAAG,sBAAsB,CAAC;AAQrC,MAAM,oBAAoB,GAAG,CAAC,IAAqB,EAAE,EAAE;IACnD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACL,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;QAC1C,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CACjD,CAAC;IAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,WAAW;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,GAAG;SACpB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF,MAAqB,aAAa;IAO9B,YAAY,EAAM,EAAE,QAAsB,EAAE,SAAsB;QAC9D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,EAAE,CACpB,wBAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,uBAAO,EAAE;YACvC,KAAK,EAAE,6BAA6B;YACpC,MAAM;SACT,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAqB;QACnC,IAAI;YACA,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAE3C,MAAM,SAAS,GAAG,GAAG,CAAC;YAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;gBAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAC9C,uDAAuD;gBACvD,qDAAqD;gBACrD,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;qBACf,MAAM,CAAC,KAAK,CAAC;qBACb,UAAU,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;qBAC3C,KAAK,EAAE,CAAC;aAChB;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;SAChE;IACL,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;aACf,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACnE,GAAG,EAAE,CAAC;IACf,CAAC;CACJ;AA1CD,gCA0CC;AAED,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "unleash-server",
3
3
  "description": "Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.",
4
- "version": "5.6.3",
4
+ "version": "5.6.4",
5
5
  "keywords": [
6
6
  "unleash",
7
7
  "feature toggle",